User:Tomruen/Conway polyhedron notation/Antiprism notes

This document is referenced from the talk page. Tom Ruen (talk) 16:36, 20 November 2017 (UTC)  http://www.antiprism.com

Usage: conway [options] [Conway Notation string] [input_file]

Conway Notation uses algorithms by George W. Hart (http://www.georgehart.com]) http://www.georgehart.com/virtual-polyhedra/conway_notation.html

Antiprism Extensions: Further operations added. See https://en.wikipedia.org/wiki/Conway_polyhedron_notation

Read a polyhedron from a file in OFF format. If input_file is not given and no seed polyhedron is given in the notation string then the program reads from standard input.

Options -h,--help this help message (run 'off_util -H help' for general help) --version version information -H       Conway Notation detailed help. seeds and operator descriptions -s       apply Conway Notation string substitutions -g       use George Hart algorithms (sets -s) -c  user defined operation strings in the form of op,string any operations may be used. Examples: x,kt y,tk  v,dwd -t       tile mode. when input is a tiling. unsets -g sets -p u              set if seed of Z is detected -r       execute operations in reverse order (left to right) -u       make final product be averge unit edge length -v       verbose output -o write output to file (default: write to standard output)

Planarization options (use canonical program to canonicalize output) -p inter-step planarization method p - face centroids (magnitude squared) (default) m - mathematica planarize c - mathematica canonicalize u - make faces into unit-edged regular polygons (minmax -a u) -i maximum inter-step planarization iterations (default: 1000) -z    status reporting every n iterations, -1 for no status (default: -1) -l minimum distance change to terminate planarization, as negative exponent (default: 12 giving 1e-12)

Coloring Options (run 'off_util -H color' for help on color formats) -V vertex color (default: gold) -E edge color   (default: lightgray) -f mthd is face coloring method using color in map (default: n)              key word: none - sets no color n - by number of sides s - symmetric coloring o - newly created faces by operation w - resolve color indexes (overrides -V and -E) -T face transparency. valid range from 0 (invisible) to 255 (opaque) -O face transparency pattern string (-f n only). valid values 0 - map color alpha value, 1 -T alpha applied (default: '1') -m color maps for faces to be tried in turn (default: m1, for -g, m2) keyword m1: red,darkorange1,yellow,darkgreen,cyan,blue,magenta, white,grey,black keyword m2: red,blue,green,yellow,brown,magenta,purple,grue, gray,orange (from George Hart's original applet)

conway -H

The following is a description of Conway Notation edited from the Conway Notation web page by George W. Hart (http://www.georgehart.com) More detailed information and examples can be found at http://www.georgehart.com/virtual-polyhedra/conway_notation.html and at http://en.wikipedia.org/wiki/Conway_polyhedron_notation

Basics: In this notation, one specifies a "seed" polyhedron with a capital letter. Operations to perform on any polyhedron are specified with lower-case letters preceding it. This program contains a small set of seeds and operators from which an infinite number of derived polyhedra can be generated. Note: This C++ port of Conway Notation can also operate on OFF files from standard input if the seed polyhedron is not specified.

Seeds: The platonic solids are denoted T, O, C, I, and D, according to their first letter. Other polyhedra which are implemented here include prisms, Pn, antiprisms, An, and pyramids, Yn, where n is a number (3 or greater) which you specify to indicate the size of the base you want, e.g., Y3=T, P4=C, and A3=O.

Operations: Currently, abdegjkmoprst are defined. They are motivated by the operations needed to create the Archimedean solids and their duals from the platonic solids. Try each on a cube:

(Antiprism: note that more operations have since been defined)

a = ambo  The ambo operation can be thought of as truncating to the edge midpoints. It produces a polyhedron, aX, with one vertex for each edge of X. There is one face for each face of X and one face for each vertex of X. Notice that for any X, the vertices of aX are all 4-fold, and that aX=adX. If two mutually dual polyhedra are in "dual position," with all edges tangent to a common sphere, the ambo of either is their intersection. For example aC=aO is the cuboctahedron. Note: ambo is also known as "rectifying" the polyhedron, or rectification

b = bevel The bevel operation can be defined by bX=taX. bC is the truncated cuboctahedron. (Antiprism: or "bn" where n is 0 or greater) Note: bevel is also known as "omnitruncating" the polyhedron, or omnitruncation

d = dual  The dual of a polyhedron has a vertex for each face, and a face for each vertex, of the original polyhedron, e.g., dC=O. Duality is an operation of order two, meaning for any polyhedron X, ddX=X, e.g., ddC=dO=C.

e = expand This is Mrs. Stott's expansion operation. Each face of X is separated from all its neighbors and reconnected with a new 4-sided face, corresponding to an edge of X. An n-gon is then added to connect the 4-sided faces at each n-fold vertex. For example, eC is the rhombicuboctahedron. It turns out that eX=aaX and so eX=edX (Antiprism: or "en" where n is 0 or greater) Note: expand is also known as "cantellating" the polyhedron, or cantellation

g = gyro  The dual operation to s is g. gX=dsdX=dsX, with all 5-sided faces. The gyrocube, gC=gO="pentagonal icositetrahedron," is dual to the snub cube. g is like k but with the new edges connecting the face centers to the 1/3 points on the edges rather than the vertices.

j = join  The join operator is dual to ambo, so jX=dadX=daX. jX is like kX without the original edges of X. It produces a polyhedron with one 4-sided face for each edge of X. For example, jC=jO is the rhombic dodecahedron.

k = kis   All faces are processed or kn = just n-sided faces are processed The kis operation divides each n-sided face into n triangles. A new vertex is added in the center of each face, e.g., the kiscube, kC, has 24 triangular faces. The k operator is dual to t, meaning kX=dtdX.

m = meta  Dual to b, mX=dbX=kjX. mC has 48 triangular faces. m is like k and o combined; new edges connect new vertices at the face centers to the old vertices and new vertices at the edge midpoints. mX=mdX. mC is the "hexakis octahedron." (Antiprism: or "mn" where n is 0 or greater)

o = ortho Dual to e, oX=deX=jjX. oC is the trapezoidal icositetrahedron, with 24 kite-shaped faces. oX has the effect of putting new vertices in the middle of each face of X and connecting them, with new edges, to the edge midpoints of X. (Antiprism: or "on" where n is 0 or greater)

p = propellor   Makes each n-gon face into a "propellor" of an n-gon surrounded by n quadrilaterals, e.g., pT is the tetrahedrally stellated icosahedron. Try pkD and pt6kT. p is a self-dual operation, i.e., dpdX=pX and dpX=pdX, and p also commutes with a and j, i.e., paX=apX. (This and the next are extensions were added by George Hart and not specified by Conway)

r = reflect  Changes a left-handed solid to right handed, or vice versa, but has no effect on a reflexible solid. So rC=C, but compare sC and rsC.

s = snub  The snub operation produces the snub cube, sC, from C.  It can be thought of as eC followed by the operation of slicing each of the new 4-fold faces along a diagonal into two triangles. With a consistent handedness to these cuts, all the vertices of sX are 5-fold. Note that sX=sdX.

t = truncate All faces are processed or tn = just n-sided faces are processed Truncating a polyhedron cuts off each vertex, producing a new n-sided face for each n-fold vertex. The faces of the original polyhedron still appear, but have twice as many sides, e.g., the tC has six octagonal sides corresponding to the six squares of the C, and eight triangles corresponding to the cube's eight vertices.

Antiprism Extensions: Further operations added. See https://en.wikipedia.org/wiki/Conway_polyhedron_notation

c = chamfer  New hexagonal faces are added in place of edges

J = joined-medial Like medial, but new rhombic faces in place of original edges

K = stake    Subdivide faces with central quads, and triangles All faces processed or can be "Kn" where n is 3 or greater

L0 = joined-lace Similar to lace, except new with quad faces across original edges

L = lace     An augmentation of each face by an antiprism, adding a twist smaller copy of each face, and triangles between All faces processed or can be "Ln" where n is 3 or greater

l = loft     An augmentation of each face by prism, adding a smaller copy of              each face with trapezoids between the inner and outer ones

M = medial   Similar to medial except no diagonal edges added, creating quad faces. All faces processed or can be "Mn" where n is 0 or greater

n = needle   Dual of truncation, triangulate with 2 triangles across every edge. This bisect faces across all vertices and edges, while removing original edges

q = quinto   ortho followed by truncation of vertices centered on original faces. This create 2 new pentagons for every original edge

S = seed     Seed form

u = subdivide Ambo while retaining original vertices. Similar to Loop subdivision surface for triangle face

w = whirl    Gyro followed by truncation of vertices centered on original faces. This create 2 new hexagons for every original edge

X = cross    Combination of kis and subdivide operation. Original edges are divided in half, with triangle and quad faces

z = zip      Dual of kis or truncation of the dual. This create new edges perpendicular to original edges, a truncation beyond "ambo" with new edges "zipped" between original faces. It is also called bitruncation

Orientation of the input model will have an effect on chiral operations such as snub or whirl. The orientation mode is set to positive by default. Operations have been added to control orientation mode. The mode will remain until changed. + (plus sign) = positive orientation - (minus sign) = negative orientation Changing orientation mode can be placed anywhere in the operation string

Summary of operators which can take a number n

b - n may be 0 or greater (default: 1) e - n may be 0 or greater (default: 1) K  -n may be 3 or greater representing faces sides k - n may be 3 or greater representing vertex connections L - n may be 3 or greater representing face sides, or 0 M - n may be 0 or greater (default: 1) m - n may be 0 or greater (default: 1) o - n may be 0 or greater (default: 1) t - n may be 3 or greater representing face sides

Antiprism Extension: note that any operation can be repeated N time by following it with the ^ symbol and a number greater than 0. Examples: a^3C M0^2T

Seeds which require a number n, 3 or greater

P - Prism A - Antiprism Y - Pyramid Z - Polygon (Antiprism Extension)

Note: Antiprism Extensions will work on tilings. Hart algorithms (-d) will not e.g.: unitile2d 3 | conway p -t | antiview -v 0.1 (-t for tile mode)

Regular tilings can be constructed from base polygons. The basic tilings are:

One Layer Two Layers  Three Layers... Square:    oZ4        o2Z4        o3Z4 Hexagonal: tkZ6       ctkZ6       cctkZ6 Triangular: ktkZ6     kctkZ6      kcctkZ6 (kis operation on Hexagonal)

Name                  Vertex Fig  Op     String Dual Name              String Square                4,4,4,4            oZ4    Square                 do2Z4 Truncated Square      4,8,8       trunc  toZ4   Tetrakis Square        dto2Z4 Snub Square           3,3,4,3,4   snub   soZ4   Cairo Pentagonal       dso2Z4 Triangular            3,3,3,3,3,3 kis    ktkZ6  Hexagonal              ddctkZ6 Hexagonal             6,6,6              tkZ6   Triangular             dkctkZ6 Trihexagonal          3,6,3,6     ambo   atkZ6  Rhombille              dactkZ6 Snub Trihexagonal     3,3,3,3,6   snub   stkZ6  Floret Pentagonal      dsctkZ6 Truncated Hexagonal   3,12,12     trunc  ttkZ6  Triakis triangular     dtctkZ6 Rhombitrihexagonal    3,4,6,4     expand etkZ6  Deltoidal Trihexagonal dectkZ6 Truncated Trihexagonal 4,6,12     bevel  btkZ6  Kisrhombille           dbctkZ6 Elongated Triangular  3,3,3,4,4   Non Wythoffian Prismatic Triangular  none

Substitutions used by George Hart algorithms

P4 -> C A3 -> O Y3 -> T e -> aa b  -> ta o  -> jj m  -> kj t  -> dk j  -> dad s -> dgd dd -> ad -> a gd -> g aY -> A dT -> T gT -> D aT -> O dC -> O dO -> C dI -> D dD -> I aO -> aC aI -> aD gO -> gC gI -> gD

Equivalent Operations

b0 = z       e0 = d        o0 = S        m0 = k        M0 = o b1 = b        e1 = e        o1 = o        m1 = m        M1 = M