Hi Roger
On Mon, 23 Jan 2017, Roger Kaufman wrote:
> On 1/23/2017 2:40 PM, Adrian Rossiter wrote:
>> depending on whether they are assigned to the triangle face or the
>> quadrilateral face. It is possible to choose an assignment rule, but I am
>> not sure there is any obvious expectation of how the boundary tiles should
>> be constructed, and therefore what the final model should be.
>
> Of note. I thought the conway program could exit, do other things, then
> continue if need be. So it could take external input. The conway program
> seemed to work on any input, not just the seeds, so I allowed it to take
> input. I know geodesic operates on any input, not just triangles (T,O,I), so
> this shouldn't be a problem.
The geodesic subdivision does only work on triangles (and quadrilaterals,
if the quadrilateral version is used), so there needs to be an extra step
to triangulate the polygons first for general use of geodesic subdivision
in Conway notation.
In the geodesic program the triangulation step is not consistent with a
Conway notation approach. The edges are joined to the face centres, but
only if the face is not already a triangle. If this was used for Conway
notation there would be no simple formula for the numbers of elements in
the final model.
> On 1/23/2017 4:00 PM, Adrian Rossiter wrote:
>> The constructive notation is a lower level notation that will be
>> used to define the Conway notation operation letters. The program
>> will be able to apply the notation to any set of edge-connected
>> polygons with up to two faces at each edge. A portion of plane tiling
>> will be fine, but final polygons on a boundary with "external"
>> vertices will, likely, be discarded.
>
> Will this be something that can be used in the conway program? Or is it
> specifically for poly_weave?
It should be possible to generate all the current Conway notation models,
which removes the need to write code to generate each individual pattern.
poly_weave already does the core of what is needed. Here is an example of
using poly_weave to apply the "expand" operator, expressed using the
constructive notation operations. (I gave the operations for "expand"
incorrectly yesterday, as the chains for the expand edge quadrilaterals
have length 2.)
"expand" has three chains
P0,V
P0,V + P0,F
P0,F
with P0 = (1,0,1) [poly_weave normalises this to (1/2, 0, 1/2)]
Apply to a triangle tiled torus, as an example base model
unitile2d -s t 2 -l 24 -w 6 | antiview
Each chain is a poly_weave pattern, so apply all three to the base model,
and colour the result by polygon type [image attached]
unitile2d -s t 2 -l 24 -w 6 | poly_weave -p 1,0,1V -p 1,0,1V1,0,1F -p 1,0,1F | off_color -f N | antiview
Same poly_weave command applied to a cube
off_util cube | poly_weave -p 1,0,1V -p 1,0,1F1,0,1V -p 1,0,1F | off_color -f N | antiview
Some other examples (but note that some patterns are introducing extra
coincident closing edges to their polygons, which is likely a bug in
poly_weave)
"join": 0,0,1V + 1,0,0F
unitile2d -s t 2 -l 24 -w 6 | poly_weave -p 0,0,1V1,0,0F | antiview
"ambo": 0,1,0V | 0,1,0F
unitile2d -s t 2 -l 24 -w 6 | poly_weave -p 0,1,0V -p 0,1,0F | antiview
"truncate": 2,1,0V | 02,1,0v + 02,1,0e (small truncation)
unitile2d -s t 2 -l 24 -w 6 | poly_weave -p 2,1,0V -p 02,1,0v02,1,0e | antiview
"kis": 1,0,0v + 1,0,0v + 0,0,1 (poly_weave needs e.g. vv to stay on the
same face as the default step is VFE)
unitile2d -s t 2 -l 24 -w 6 | poly_weave -p 1,0,0v1,0,0v0,0,1vv | antiview
"meta": 1,0,0 + 0,1,0 + 0,0,1 (poly_weave "tb" applies this to both
triangle types)
unitile2d -s t 2 -l 24 -w 6 | poly_weave -p 1,0,0vv0,1,0vv0,0,1vvtb | antiview
For an example non-Conway notation operation, the following double
wraps the faces and fills the holes at the base vertices with vertex
figures: 1,0,0FF | 1,0,0FFV
off_util geo_2_d | poly_weave -p 1,0,0FF -p 1,0,0FFV| antiview