## Johnsonian Polytopes

Discussion of known convex regular-faced polytopes, including the Johnson solids in 3D, and higher dimensions; and the discovery of new ones.

### Re: Johnsonian Polytopes

quickfur wrote:Thanks so much!! Yes, it's confirmed. All edge lengths are equal, and there are 6 square antiprisms, 1 cube and 1 cuboctahedron.

And 8 tetrahedra?
Even better, it looks like the cube's shadow completely falls inside the cuboctahedron, so it should be possible to make a bicupola from it, an elongate, and an augment with square pyramid, etc.. And also use it to augment tesseract truncates that have cuboctahedral cells!

I'm not sure. You may try to add pyramid's apex
(0,0,0,1+sqrt(4*sqrt(2)-3))
May be it will be convex, may be not. And angles of, say, rectified tesseract seem to be too large to be covered with such cap. But again, you may try. Other 20 vertices are

(±sqrt(2),±sqrt(2),±sqrt(2),-sqrt(2))
(±sqrt(2),±sqrt(2),0,-2*sqrt(2))
(±sqrt(2),0,±sqrt(2),-2*sqrt(2))
(0,±sqrt(2),±sqrt(2),-2*sqrt(2))
Mrrl
Trionian

Posts: 165
Joined: Sun May 29, 2011 7:37 am

### Re: Johnsonian Polytopes

Mrrl wrote:[...] And six more vertices:
(±sqrt(2),0,0,-sqrt(2))
(0,±sqrt(2),0,-sqrt(2))
(0,0,±sqrt(2),-sqrt(2))

- just for fun

Yes, this is the cube-cuboctahedron-octahedron bicupola. And here it is:

This image is quite cluttered because I turned off vis clipping. But you can see the octahedron at the top and the cube and the bottom. There are another 8 octahedra surrounding the top octahedron that you can see, along with a bunch of pyramids. The image below has visibility clipping to reduce clutter:

Here in the middle of the image you can see a square pyramid on top of a square antiprism.

This pretty baby has 9 octahedra, 8 square pyramids, 6 square antiprisms, and 1 cube. Cool!
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

quickfur wrote:
There are another 8 octahedra surrounding the top octahedron that you can see, along with a bunch of pyramids.

I thought they are triangular prisms I see where is mistake. Yes, 9 octahedra are here
Mrrl
Trionian

Posts: 165
Joined: Sun May 29, 2011 7:37 am

### Re: Johnsonian Polytopes

Mrrl wrote:
quickfur wrote:Thanks so much!! Yes, it's confirmed. All edge lengths are equal, and there are 6 square antiprisms, 1 cube and 1 cuboctahedron.

And 8 tetrahedra?

Correct, I forgot to include them. But they are in the model that my program generated.

Even better, it looks like the cube's shadow completely falls inside the cuboctahedron, so it should be possible to make a bicupola from it, an elongate, and an augment with square pyramid, etc.. And also use it to augment tesseract truncates that have cuboctahedral cells!

I'm not sure. You may try to add pyramid's apex
(0,0,0,1+sqrt(4*sqrt(2)-3))
May be it will be convex, may be not.

Well, the coordinate itself is strong proof that it will be convex. Height of square pyramid is 1, and height of cupola is sqrt(4*sqrt(2)-3)) = 1.63..., so edges from base to cube to apex will be convex. But never hurts to make sure. I'll generate another model and render it.

And angles of, say, rectified tesseract seem to be too large to be covered with such cap. But again, you may try. Other 20 vertices are

(±sqrt(2),±sqrt(2),±sqrt(2),-sqrt(2))
(±sqrt(2),±sqrt(2),0,-2*sqrt(2))
(±sqrt(2),0,±sqrt(2),-2*sqrt(2))
(0,±sqrt(2),±sqrt(2),-2*sqrt(2))

Hmm, you might be right. It will be convex relative to the other cuboctahedral cells, but not necessarily with respect to the corner tetrahedra. I'll check and see.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

I wonder - can the found polychora be also saved in Stella format? That has large scale of view options, including vertex figures, slices etc...
Marek14
Pentonian

Posts: 1102
Joined: Sat Jul 16, 2005 6:40 pm

### Re: Johnsonian Polytopes

quickfur wrote:Thanks so much!! Yes, it's confirmed. All edge lengths are equal, and there are 6 square antiprisms, 1 cube and 1 cuboctahedron. Here's an image:

I'm repeating myself, but can you render a version with the cube inside/outside the cuboctahedron instead of stacked vertically?

I don't know about you, I just generally prefer to see 3+1 forms rendered with the +1 on the in-out dimension.

Also, here's something I'm surprised I haven't asked before: why don't you release your program and polytope files so others can rotate things as they please?

Keiji

Posts: 1962
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

### Re: Johnsonian Polytopes

quickfur wrote:
Mrrl wrote:[...]
I'm not sure. You may try to add pyramid's apex
(0,0,0,1+sqrt(4*sqrt(2)-3))
May be it will be convex, may be not.

Well, the coordinate itself is strong proof that it will be convex. Height of square pyramid is 1, and height of cupola is sqrt(4*sqrt(2)-3)) = 1.63..., so edges from base to cube to apex will be convex. But never hurts to make sure. I'll generate another model and render it. [...]

OK, confirmed that the augmented form exists. Here's a render (with visclip) confirming the augmented shape:

And here's a render without visclip so that you can see all the cells. To help pick out the cells amid the clutter of edges, I highlighted the cubical pyramid at the top (well, 6 square pyramids) and the cuboctahedron at the bottom.

I just realized that due to the unequal top/bottom facets, there are 3 distinct augmented forms: cube-augmented, cuboctahedron augmented, and both augmented.

Actually, on second thoughts, I'm not 100% sure... does the cuboctahedral pyramid exist as a CRF? Or it's too wide for the pyramid to have equal edge lengths?
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Marek14 wrote:I wonder - can the found polychora be also saved in Stella format? That has large scale of view options, including vertex figures, slices etc...

Do you have a definition for the stella format? I can code up an export function for my program... the polytope format I use contains the entire face lattice, so if stella only needs vertices and/or bounding hyperplanes, it will be trivial to convert.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

quickfur wrote:
Marek14 wrote:I wonder - can the found polychora be also saved in Stella format? That has large scale of view options, including vertex figures, slices etc...

Do you have a definition for the stella format? I can code up an export function for my program... the polytope format I use contains the entire face lattice, so if stella only needs vertices and/or bounding hyperplanes, it will be trivial to convert.

Bad news is that it uses some compressed binary format. Good news is it also supports OFF format and here:

http://www.software3d.com/StellaManual. ... d=stella4D

under "Importing models" are instructions how to make them.

I think that like butterfly collectors, we should get our polychora and pin them into files.
Marek14
Pentonian

Posts: 1102
Joined: Sat Jul 16, 2005 6:40 pm

### Re: Johnsonian Polytopes

quickfur wrote:Actually, on second thoughts, I'm not 100% sure... does the cuboctahedral pyramid exist as a CRF? Or it's too wide for the pyramid to have equal edge lengths?

Cuboctahedron has planar 6-contour of edges. So it can't generate pyramidal form. Two possible augmentations from that side are by cuboctahedron-octahedron and cuboctahedron-cube cupola. Or you can try continue the chain by wider polytopes: cuboctahedron||truncated octahedron or cuboctahedron||truncated cube... Again, no garantee that they will be convex.
Last edited by Mrrl on Wed Nov 23, 2011 10:38 pm, edited 1 time in total.
Mrrl
Trionian

Posts: 165
Joined: Sun May 29, 2011 7:37 am

### Re: Johnsonian Polytopes

I have to reread the segmentochora paper... just seen that there is a icosahedron||cube one. Probably steeper than icosahedral pyramid, but could still be fun

Are there OFF files of the whole segmentochora bunch, or will we have to make our own?
Marek14
Pentonian

Posts: 1102
Joined: Sat Jul 16, 2005 6:40 pm

### Re: Johnsonian Polytopes

Keiji wrote:
quickfur wrote:Thanks so much!! Yes, it's confirmed. All edge lengths are equal, and there are 6 square antiprisms, 1 cube and 1 cuboctahedron. Here's an image:

I'm repeating myself, but can you render a version with the cube inside/outside the cuboctahedron instead of stacked vertically?

Funny you asked, I did try that viewpoint but found the edges overlapping too much in the 2D view, so I switched to another view.

But since you asked:

I don't know about you, I just generally prefer to see 3+1 forms rendered with the +1 on the in-out dimension.

I generally like the W axis to be vertical, so that I can see it as a 4Der would, resting on a 4D desk. Although I do use other views quite frequently too.

Also, here's something I'm surprised I haven't asked before: why don't you release your program and polytope files so others can rotate things as they please?

Actually, that is a very good idea.

Although, I have to warn you that it is a command-line application, and there's no GUI at all. Although there are some shorthand commands, it is intended more for scripts, so even at the command-line it can be a bit tedious to use. The intention is really for scripts that auto-render the images on my website, so it's streamlined that way. Because of this, it only generates POVray meshes, and not even complete povray scenes. You have to write a wrapper scene file along with your own textures and import the generated mesh, set up textures and povray camera, etc.. You can define povray textures in the viewer, but the format is very limited so for complicated textures you probably want to just declare it in your povray scene file and only use the texture name in the viewer. There is a hackish command for setting the povray transform inside the viewer program so that you don't have to keep editing the povray scene file.

The convex hull algo is not implemented in the viewer itself; a separate program reads vertices or bounding hyperplanes in Komei Fukuda's "Polyhedra format", and generates the polytope definition that the viewer uses. There are also a bunch of auxiliary utilities for generating vertices of various stuff; most of these output Polyhedra format that you then have to feed to the convex hull program to generate the definition. The viewer only understands the definition files. I am actually thinking of rewriting the polytope generation utilities and merge them into one, together with the convex hull algo, so that you can use a single program for generating all kinds of polytopes. And one day this might be integrated into the viewer as well, i'm not sure yet.

And there are also many areas that really need to be improved, but I haven't had the time/interest to do it because i haven't needed to use those features that much yet or they are too complicated to implement in a short time, so they will have to wait until i have more time. There are also poor performance algorithms that really need to be improved.

Oh, and the code uses some UNIX-specific stuff, so you may have trouble compiling it on windows unless you have cygwin or similar.

If you're still interested, let me know.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Found the file that describes OFF format:

http://people.sc.fsu.edu/~jburkardt/data/off/off.html

EDIT: Hand-made an octahedral pyramid and after some false starts, it works
Last edited by Marek14 on Wed Nov 23, 2011 11:01 pm, edited 1 time in total.
Marek14
Pentonian

Posts: 1102
Joined: Sat Jul 16, 2005 6:40 pm

### Re: Johnsonian Polytopes

Marek14 wrote:[...] I think that like butterfly collectors, we should get our polychora and pin them into files.

Actually, my viewer only understands polytope definition files, which I invented before I heard of stella4d. And I have collected quite a large number of them, basically (almost) all the uniform 4D polytopes, a few odd polytopes, some 3D polytopes I needed on my website, etc., and also programs to generate polytopes that come in families or series.

Since the start of this CRF polychora project, I've been collecting definition files in their own CRF subdirectory. I'm expecting this directory to grow very large.

As for importing into stella4d, i'll work on the export function right now. The format looks relatively straightforward to convert to.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Oh btw, are those color definitions in the OFF format required? Because my polytope definition files have no such information, color is assigned by the user in the viewer at runtime. If they're required I'll just have to insert fake values.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

quickfur wrote:Oh btw, are those color definitions in the OFF format required? Because my polytope definition files have no such information, color is assigned by the user in the viewer at runtime. If they're required I'll just have to insert fake values.

I tried that. Stella makes all cells red when colors are not set, which might make the view pretty confusing.

Basically, the norm in Stella is to color based on the symmetries, so equivalent cells are colored the same way. Also makes for better-looking vertex figures. Alternative way would be to simply use a color per polyhedron shape, or, if you want a quick and dirty algorithm, just insert colors from a list based on the number of faces. If a polychoron has multiple kinds of cells with the same number of faces, that can be resolved later.

EDIT: BTW, I wonder what are some nice-looking 4D Stewart toroids for the 4 toratopes
Marek14
Pentonian

Posts: 1102
Joined: Sat Jul 16, 2005 6:40 pm

### Re: Johnsonian Polytopes

Marek14 wrote:[...] Stella makes all cells red when colors are not set, which might make the view pretty confusing.

Yuck. And there's no way to manually set the colors in Stella?

The problem is, I don't know in advance what kind of cells I'll encounter, how am I supposed to know how to color them?

Basically, the norm in Stella is to color based on the symmetries, so equivalent cells are colored the same way. Also makes for better-looking vertex figures. Alternative way would be to simply use a color per polyhedron shape, or, if you want a quick and dirty algorithm, just insert colors from a list based on the number of faces. If a polychoron has multiple kinds of cells with the same number of faces, that can be resolved later.

Well, for a first shot at this, I'm just going to assign random colors to each cell. Unless somebody can suggest a better way to do this.

EDIT: BTW, I wonder what are some nice-looking 4D Stewart toroids for the 4 toratopes

I wish I had the time to research into how to make my viewer handle non-convex shapes. I will probably have to do arbitrary 3D CSG, which is a pain to code.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Alright, here's the OFF file for the cube-cuboctahedron cupola (I think we need a better name for this family of polychora, because the construction actually includes the so-called "antiprisms"). I don't have Stella so I've no idea if the format is correct. Please complain if the file doesn't work.

Code: Select all
`4OFF# Automatically generated by def2off from data/crf/C100_010_cupola.def# Polytope: cube_cuboct_cupola20 56 60 16 1.00000000000000000000 1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 1.00000000000000000000 1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 1.00000000000000000000 -1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 1.00000000000000000000 -1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 -1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 -1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 0.00000000000000000000 1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.000000000000000000004 0 1 3 24 0 1 5 43 0 1 164 0 2 6 43 0 2 123 0 4 83 0 8 123 0 8 163 0 12 164 1 3 7 53 1 3 133 1 5 93 1 9 133 1 9 163 1 13 164 2 3 7 63 2 3 173 2 6 103 2 10 123 2 10 173 2 12 173 3 7 113 3 11 133 3 11 173 3 13 174 4 5 7 63 4 5 183 4 6 143 4 8 143 4 8 183 4 14 183 5 7 153 5 9 153 5 9 183 5 15 183 6 7 193 6 10 143 6 10 193 6 14 193 7 11 153 7 11 193 7 15 194 8 12 10 143 8 12 163 8 14 184 8 16 9 184 9 13 11 153 9 13 163 9 15 183 10 12 173 10 14 194 10 17 11 193 11 13 173 11 15 194 12 16 13 174 14 18 15 196 0 1 3 9 15 25 105 198 10310 0 2 4 8 10 14 16 20 24 54 255 81 11510 1 2 5 7 11 13 26 29 33 45 41 236 7410 3 4 5 6 17 18 27 28 36 42 171 186 2054 6 7 8 43 227 251 24210 9 10 11 12 21 22 31 32 39 46 194 124 704 12 13 14 47 27 248 8410 15 16 17 19 21 23 35 37 40 51 141 231 2324 18 19 20 49 46 90 1184 22 23 24 52 159 51 9910 25 26 27 30 31 34 35 38 41 55 102 154 2014 28 29 30 44 183 13 504 32 33 34 48 163 88 494 36 37 38 50 93 37 904 39 40 41 53 88 23 514 42 43 44 45 46 47 48 49 50 51 52 53 54 55 212 94 233# The end.`

I'm too lazy to think of a clever color-assignment algorithm, so all cells have random colors. If you don't like that, please tell me a better algorithm.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

quickfur wrote:Actually, that is a very good idea.

Perhaps you could bundle together some shell scripts, POVray includes, whatever is necessary to get from the input file to the rendered image, so that I can mess around with them to see how they work. I usually learn things much faster that way.

UNIX isn't a problem, I have three Linux computers at home, plus my VPS.

Keiji

Posts: 1962
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

### Re: Johnsonian Polytopes

quickfur wrote:Alright, here's the OFF file for the cube-cuboctahedron cupola (I think we need a better name for this family of polychora, because the construction actually includes the so-called "antiprisms"). I don't have Stella so I've no idea if the format is correct. Please complain if the file doesn't work.

I'm too lazy to think of a clever color-assignment algorithm, so all cells have random colors. If you don't like that, please tell me a better algorithm.

This is segmentochoron 4.35 in Klitzing's file, he calls it "cubic cupola". The file works. As for color algorithm, I already offered one: make a list of color definitions, and assign the same color to cells with the same number of faces. More complex would be to distinguish between cells with different kinds of faces (like checking numbers for 5-faced cells and use one color if it has 2 triangles and 3 squares and another if it has 4 triangles and 1 square, but this should be enough.

Also, a good idea would probably be to separate the face and cell date in the file by comment line.

This is my version with adjusted colors:

Code: Select all
`    4OFF    # Automatically generated by def2off from data/crf/C100_010_cupola.def    # Polytope: cube_cuboct_cupola    20 56 60 16    1.00000000000000000000 1.00000000000000000000 1.00000000000000000000 1.62998596604154233347    1.00000000000000000000 1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347    1.00000000000000000000 -1.00000000000000000000 1.00000000000000000000 1.62998596604154233347    1.00000000000000000000 -1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347    -1.00000000000000000000 1.00000000000000000000 1.00000000000000000000 1.62998596604154233347    -1.00000000000000000000 1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347    -1.00000000000000000000 -1.00000000000000000000 1.00000000000000000000 1.62998596604154233347    -1.00000000000000000000 -1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347    0.00000000000000000000 1.41421356237309514547 1.41421356237309514547 0.00000000000000000000    0.00000000000000000000 1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000    0.00000000000000000000 -1.41421356237309514547 1.41421356237309514547 0.00000000000000000000    0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000    1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000    1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000    -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000    -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000    1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000    1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000    -1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000    -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000    4 0 1 3 2    4 0 1 5 4    3 0 1 16    4 0 2 6 4    3 0 2 12    3 0 4 8    3 0 8 12    3 0 8 16    3 0 12 16    4 1 3 7 5    3 1 3 13    3 1 5 9    3 1 9 13    3 1 9 16    3 1 13 16    4 2 3 7 6    3 2 3 17    3 2 6 10    3 2 10 12    3 2 10 17    3 2 12 17    3 3 7 11    3 3 11 13    3 3 11 17    3 3 13 17    4 4 5 7 6    3 4 5 18    3 4 6 14    3 4 8 14    3 4 8 18    3 4 14 18    3 5 7 15    3 5 9 15    3 5 9 18    3 5 15 18    3 6 7 19    3 6 10 14    3 6 10 19    3 6 14 19    3 7 11 15    3 7 11 19    3 7 15 19    4 8 12 10 14    3 8 12 16    3 8 14 18    4 8 16 9 18    4 9 13 11 15    3 9 13 16    3 9 15 18    3 10 12 17    3 10 14 19    4 10 17 11 19    3 11 13 17    3 11 15 19    4 12 16 13 17    4 14 18 15 19    6 0 1 3 9 15 25 255 0 0    10 0 2 4 8 10 14 16 20 24 54 0 255 0    10 1 2 5 7 11 13 26 29 33 45 0 255 0    10 3 4 5 6 17 18 27 28 36 42 0 255 0    4 6 7 8 43 0 0 255    10 9 10 11 12 21 22 31 32 39 46 0 255 0    4 12 13 14 47 0 0 255    10 15 16 17 19 21 23 35 37 40 51 0 255 0    4 18 19 20 49 0 0 255    4 22 23 24 52 0 0 255    10 25 26 27 30 31 34 35 38 41 55 0 255 0    4 28 29 30 44 0 0 255    4 32 33 34 48 0 0 255    4 36 37 38 50 0 0 255    4 39 40 41 53 0 0 255    14 42 43 44 45 46 47 48 49 50 51 52 53 54 55 128 128 0    # The end.`

EDIT: Found that Stella can automatically identify cell types, color the polychoron by them, then save - but it saves in its own format.
Marek14
Pentonian

Posts: 1102
Joined: Sat Jul 16, 2005 6:40 pm

### Re: Johnsonian Polytopes

Keiji wrote:[...] Perhaps you could bundle together some shell scripts, POVray includes, whatever is necessary to get from the input file to the rendered image, so that I can mess around with them to see how they work. I usually learn things much faster that way.

OK, I'll see if I can put something together. Maybe a tutorial of sorts. Perhaps some scripts to show how the auxiliary utilities work as well, since some of them may be non-obvious.

The viewer actually already has documentation (and quite thorough), except that it doesn't really tell you how to set up the external files and other stuff you need to get povray working.

Anyway, to compile the code you'll need Blitz++, libcdd (aka cddlib), and a personal library that I use which I'll probably just copy into the tarball so you don't have to worry about it. Also, I use SCons for building, so you probably want to install that as well if you haven't already. (Compiling the sources by hand may give you a nasty headache. )

UNIX isn't a problem, I have three Linux computers at home, plus my VPS.

Yay!

P.S. I will be busy tonight so I may not be able to get the tarball ready until tomorrow. I'll try.

P.P.S. I just noticed that libreadline is linked in as well, even though the current code doesn't actually use it. If you don't care to install libreadline-dev you can just delete it from the SConscript.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

quickfur,
Can you try this coordinate set?

1,1,-1,0
1,-1,1,0
-1,1,1,0
1,1,0,-1
1,-1,0,1
-1,1,1,0
1,0,1,-1
1,0,-1,1
-1,0,1,1
0,1,1,-1
0,1,-1,1
0,-1,1,1
and opposites to them?

It can be considered as bidiminished rectified tesseract, but on another side, it looks like some form of antiprism...
Mrrl
Trionian

Posts: 165
Joined: Sun May 29, 2011 7:37 am

### Re: Johnsonian Polytopes

Alright folks, the tarballs are ready:

http://eusebeia.dyndns.org/polyview/polyview-3.0pre-3553.tar.gz
http://eusebeia.dyndns.org/polyview/polyview-data.tar.gz

Make sure you untar them in the same place, otherwise some of the example scripts may not be able to find the polytope data. I separated them because the data subdir is very big, and it's nice to be able to update the code tarball without forcing people to download several MBs of data each time.

Build instructions and a very brief tutorial are in the README file. If something doesn't work, ask. I was feeling particularly nice when I wrote the sample scripts, so you'll actually be doing 120-cell renders from the get-go. Enjoy!

P.S. These files are released under GPL3. Just FYI.
Last edited by quickfur on Thu Nov 24, 2011 7:04 pm, edited 1 time in total.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Mrrl wrote:quickfur,
Can you try this coordinate set?

1,1,-1,0
1,-1,1,0
-1,1,1,0
1,1,0,-1
1,-1,0,1
-1,1,1,0
1,0,1,-1
1,0,-1,1
-1,0,1,1
0,1,1,-1
0,1,-1,1
0,-1,1,1
and opposites to them?

It can be considered as bidiminished rectified tesseract, but on another side, it looks like some form of antiprism...

What do you mean by "opposites"? Vector pointing the other direction?

I tried that but there were 2 duplicated vertices which I removed. The resulting shape has unequal edge lengths (sqrt(2) and 2.4494897428). I couldn't get a good viewpoint that shows the cells clearly, but there are irregular cells. Is there a particular viewpoint you want to try?

BTW Keiji, I can't seem to upload files anymore; I'm getting a page that says "Error calling file_dyn".
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Yes, there was error in vertex 6. Complete set (with opposites by which I mean (-x,-y,-z,-w)) is here:

Code: Select all
`1,1,-1,01,-1,1,0-1,1,1,01,1,0,-11,-1,0,1-1,1,0,11,0,1,-11,0,-1,1-1,0,1,10,1,1,-10,1,-1,10,-1,1,11,-1,-1,0-1,-1,1,0-1,1,-1,01,-1,0,-1-1,-1,0,1-1,1,0,-11,0,-1,-1-1,0,-1,1-1,0,1,-10,1,-1,-10,-1,-1,10,-1,1,-1`

View from (1,1,1,1) direction should show rhombicuboctahedron. I know that two cells or the body are truncated tetrahedra, but not sure about side cells, so some view from direction like (1,0.9,-0.8,-0.7) could be useful too. But I don't know.

And there is some projection that looks like rectified hexagonal prism But I don't know what is the direction for it.
Last edited by Mrrl on Thu Nov 24, 2011 7:41 pm, edited 1 time in total.
Mrrl
Trionian

Posts: 165
Joined: Sun May 29, 2011 7:37 am

### Re: Johnsonian Polytopes

Marek14 wrote:[...] As for color algorithm, I already offered one: make a list of color definitions, and assign the same color to cells with the same number of faces. More complex would be to distinguish between cells with different kinds of faces (like checking numbers for 5-faced cells and use one color if it has 2 triangles and 3 squares and another if it has 4 triangles and 1 square, but this should be enough.

Also, a good idea would probably be to separate the face and cell date in the file by comment line. [...]

OK, I've thought of a clever way to make color assignments of different cell types unique. It just so happens that in 4D, cells have 3 types of surtopes: vertices, edges, and ridges. So each cell type will have an almost unique combination of number of vertices, edges, and ridges. So this can be mapped to RGB values.

But direct mapping doesn't produce good results (stepping by 1 in RGB value is invisible to human eye). So take the sine or cosine of the number and then scale it to fit the range 0-255. Because integers are incommensurable with pi, the sine of an integer will generate a non-repeating but periodic sequence (period is irrational so numbers will not repeat) which is always bounded between 0-255. Not scaling the integer also means we cycle from 0 to 255 with integer argument 0-4, so there will be large constrast between similar but non-identical cells. So this should produce good results. I hope.

Try it:

Code: Select all
`4OFF# Automatically generated by def2off from data/crf/C100_010_001_bicupola.def# Polytope: cube_cuboct_octahedron_bicupola26 100 96 30# Vertices 1.00000000000000000000 1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 1.00000000000000000000 1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 1.00000000000000000000 -1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 1.00000000000000000000 -1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 -1.00000000000000000000 1.00000000000000000000 1.62998596604154233347 -1.00000000000000000000 -1.00000000000000000000 -1.00000000000000000000 1.62998596604154233347 0.00000000000000000000 1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 0.00000000000000000000 -1.41421356237309514547 -1.41421356237309514547 0.00000000000000000000 1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547 0.00000000000000000000 -1.41421356237309514547# Ridges4 0 1 3 24 0 1 5 43 0 1 164 0 2 6 43 0 2 123 0 4 83 0 8 123 0 8 163 0 12 164 1 3 7 53 1 3 133 1 5 93 1 9 133 1 9 163 1 13 164 2 3 7 63 2 3 173 2 6 103 2 10 123 2 10 173 2 12 173 3 7 113 3 11 133 3 11 173 3 13 174 4 5 7 63 4 5 183 4 6 143 4 8 143 4 8 183 4 14 183 5 7 153 5 9 153 5 9 183 5 15 183 6 7 193 6 10 143 6 10 193 6 14 193 7 11 153 7 11 193 7 15 194 8 12 10 143 8 12 163 8 12 223 8 14 183 8 14 224 8 16 9 183 8 16 243 8 18 243 8 22 244 9 13 11 153 9 13 163 9 13 233 9 15 183 9 15 233 9 16 243 9 18 243 9 23 243 10 12 173 10 12 223 10 14 193 10 14 224 10 17 11 193 10 17 253 10 19 253 10 22 253 11 13 173 11 13 233 11 15 193 11 15 233 11 17 253 11 19 253 11 23 254 12 16 13 173 12 16 203 12 17 203 12 20 223 13 16 203 13 17 203 13 20 234 14 18 15 193 14 18 213 14 19 213 14 21 223 15 18 213 15 19 213 15 21 233 16 20 243 17 20 253 18 21 243 19 21 253 20 22 243 20 22 253 20 23 243 20 23 253 21 22 243 21 22 253 21 23 243 21 23 25# Cells6 0 1 3 9 15 25 253 127 24910 0 2 4 8 10 14 16 20 24 74 253 127 1910 1 2 5 7 11 13 26 29 33 47 253 127 1910 3 4 5 6 17 18 27 28 36 42 253 127 194 6 7 8 43 30 127 4310 9 10 11 12 21 22 31 32 39 51 253 127 194 12 13 14 52 30 127 4310 15 16 17 19 21 23 35 37 40 63 253 127 194 18 19 20 59 30 127 434 22 23 24 67 30 127 4310 25 26 27 30 31 34 35 38 41 81 253 127 194 28 29 30 45 30 127 434 32 33 34 54 30 127 434 36 37 38 61 30 127 434 39 40 41 69 30 127 435 42 44 46 60 62 4 127 1638 43 44 48 50 75 77 88 92 91 127 1088 45 46 49 50 82 84 90 96 91 127 1085 47 48 49 56 57 4 127 1635 51 53 55 68 70 4 127 1638 52 53 56 58 78 80 88 94 91 127 1088 54 55 57 58 85 87 90 98 91 127 1088 59 60 64 66 76 77 89 93 91 127 1088 61 62 65 66 83 84 91 97 91 127 1085 63 64 65 71 72 4 127 1638 67 68 71 73 79 80 89 95 91 127 1088 69 70 72 73 86 87 91 99 91 127 1085 74 75 76 78 79 4 127 1635 81 82 83 85 86 4 127 1638 92 93 94 95 96 97 98 99 91 127 108# The end.`
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Mrrl wrote:Yes, there was error in vertex 6. Complete set (with opposites by which I mean (-x,-y,-z,-w)) is here:

Code: Select all
`1,1,-1,01,-1,1,0-1,1,1,01,1,0,-11,-1,0,1-1,1,0,11,0,1,-11,0,-1,1-1,0,1,10,1,1,-10,1,-1,10,-1,1,11,-1,-1,0-1,-1,1,0-1,1,-1,01,-1,0,-1-1,-1,0,1-1,1,0,-11,0,-1,-1-1,0,-1,1-1,0,1,-10,1,-1,-10,-1,-1,10,-1,1,-1`

View from (1,1,1,1) direction should show rhombicuboctahedron. I know that two cells or the body are truncated tetrahedra, but not sure about side cells, so some view from direction like (1,0.9,-0.8,-0.7) could be useful too. But I don't know.

And there is some projection that looks like rectified hexagonal prism But I don't know what is the direction for it.

Ahhh, with the fixed coordinates it looks much nicer. And edge lengths are equal.

Actually rhombicuboctahedral projection envelope only shows up in parallel projection; perspective projection shows slightly distorted form. But no matter, viewing from (1,1,1,1)*5/2, the two truncated tetrahedra are obvious, and the side cells are 6 tetrahedra and 8 triangular cupolae. Cool!

The red outline shows the truncated tetrahedron on the far side. I turned off vis clipping so that it's easy to see the shape.

Anyway, I just realized that this is actually just the segmentotope with two truncated tetrahedra. An alternative construction is to start with a truncated tetrahedron, then expand its triangular faces to hexagon and reduce its hexagonal faces to triangles to form the truncated dual tetrahedron, and trace out a 4D sweep. So each triangular face generates a triangular cupola, each hexagonal face generates inverted triangular cupola, and non-triangle edges become rectangle-square-rectangle so they form tetrahedra.

This render shows that it's segmentotope (viewpoint (1,-1,0,0)*5/sqrt(2), parallel to hyperplanes of truncated tetrahedra):

This is perspective projection so the top and bottom truncated tetrahedra show slight volume, but in parallel projection they would be flat.
Last edited by quickfur on Thu Nov 24, 2011 9:11 pm, edited 1 time in total.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

And the central section is truncated octahedron with irregular hexagons (squares are less that should be). I wonder, if there is CRF version of truncated tetrahedron||truncated octahedron
Mrrl
Trionian

Posts: 165
Joined: Sun May 29, 2011 7:37 am

### Re: Johnsonian Polytopes

Anyway, I have discovered yesterday a general construction method for making most of these segmentotopes. (But didn't have time to write it because so many things were going on.)

Theory

Starting from any tetrahedral/cubic/icosahedral truncate (by truncate i mean all possible ringings of the Coxeter-Dynkin diagram), pick a second one with the same symmetry. For example, truncated cube and rhombicuboctahedron, or truncated octahedron and cuboctahedron, etc.. It's easy to see that if you place each pair in parallel hyperplanes, then the surtopes corresponding to different symmetry elements will line up, and in almost all cases, will produce some kind of cupola or pyramid that results in a CRF.

Example that we haven't talked about yet: start with rhombicuboctahedron (let's call it A) and great rhombicuboctahedron (let's call it B). A has 6 square faces that correspond with the cube's faces, and 12 square faces corresponding with the cube's edges. So these will generate two kinds of cupola: the 6 square faces produce 6 square cupolae (because they match the octagons on B). The other 12 faces produce square prisms (because they match squares on B). The remaining 8 triangles produce triangular cupolae (because they match hexagons on B). This will produce a polychoron with A, B, 6 square cupolae, 12 square prisms, and 8 triangular cupolae. Now, whether this is CRF depends on whether A is big enough so that the square prisms can be made into cubes (by adjusting the distance between A and B).

Note that because this operation is symmetry based, we should regard tetrahedron truncates as distinct from cubic truncates (so when considering A=truncated tetrahedron B=cuboctahedron, we should regard B as cantellated tetrahedron instead), and also truncates of tetrahedron dual is distinct from the corresponding tetrahedron truncate, so for example, A=truncated tetrahedron and B=truncated tetrahedron produces just a prism of truncated tetrahedron, but if B=truncated dual tetrahedron, we get mrrl's bidminished rectified tesseract, which is the same as truncated tetrahedron-dual truncated tetrahedron cupola.

Some combinations do not produce CRF polychora because the relative sizes of A and B is too large, and it's impossible to make all edge lengths equal. For example, A=octahedron and B=great rhombicuboctahedron, you will require octagonal pyramids, which is non-CRF. But if A is smaller than B but not too small, then we can make bicupola by attaching two copies by their larger bases. For example, if A=cube and B=rhombicuboctahedron, then we can make a cube-rhombicuboctahedron-cube bicupola. Furthermore, if two cupolae have the same shape base and the base is large enough, in many cases we can make a heterogenous bicupola (e.g, cube-cuboctahedron-octahedron bicupola that we found earlier).

Some of these forms can be elongated (if A is smaller than B, then we can attach a B prism to elongate it), and some can be augmented (if B is not too big to make B-pyramid impossible, and B-pyramid dihedral angle is small enough that the result is convex).

Enumeration

So this is a family of segmentotopes and their derivatives, with some members that can be augmented with pyramids or with each other. Because these forms have base shapes that lie in parallel hyperplanes, we can uniquely identify them by their sequence of base shapes. We can include augmented forms by specifying "point" for the apex of pyramids.

For example, cube-cuboctahedron-octahedron uniquely defines the bicupola formed by a cube-cuboctahedron cupola and cuboctahedron-octahedron cupola. An elongated form would be cube-cuboctahedron-cuboctahedron-octahedron. An augmented form would be point-cube-cuboctahedron-octahedron, and an augmented elongated form would be point-cube-cuboctahedron-cuboctahedron-octahedron.

However, this type of naming scheme is very verbose; we probably need to invent shorter names for each base shape, or invent a better notation. But at least we can use this scheme to do an exhaustive search of all CRFs in this family.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

### Re: Johnsonian Polytopes

Mrrl wrote:And the central section is truncated octahedron with irregular hexagons (squares are less that should be). I wonder, if there is CRF version of truncated tetrahedron||truncated octahedron

Let's see. If it exists, it will have 4 triangular cupolae, 4 hexagonal prisms, and 6 triangular prisms? If it's possible to make all edge lengths equal, then it will be a valid CRF.
quickfur
Pentonian

Posts: 2487
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

PreviousNext

### Who is online

Users browsing this forum: No registered users and 0 guests