Filling cross-sections

The place to talk about Stella4D, Great Stella, and Small Stella. Feel free to ask questions about them here.
Post Reply
User avatar
robertw
Site Admin
Posts: 676
Joined: Thu Jan 10, 2008 6:47 am
Location: Melbourne, Australia
Contact:

Filling cross-sections

Post by robertw » Tue Apr 01, 2008 1:35 pm

Hi Jonathan B (aka Jabe on this forum) and anyone interested in how to fill polytopes.

You wrote on your site (http://www.polytope.net/hedrondude/polychora.htm):
Robert Webb, the designer of Stella software, has recently created Stella4D, which shows sections of all of the uniform polychora, although his software uses a different "filling method" than I use in my section pictures (Stella4D renders may have more holes and tunnels in them).
Just wanted to check about that comment re filling. This is only for non-orientable polychora, right? In such cases I feel that there is no such thing as a density 2 region, so the mod-2 filling method is always used for such models, which does indeed add more holes. I don't see that there's a reliable alternative to this.

Consider this case in 3D:
Image
(The yellow faces are crossed-quads and the red faces are hexagons).

A cross-section taken half way down the 5-fold symmetry axis yields a pentagram, but clearly that pentagram must be empty in this case. This only happens for non-orientable polyhedra (such as this one). So to avoid possibly filling a region that is actually external, I fill cross-sections for non-orientables using mod-2, even when those cross-sections are themselves orientable.

On the other hand, I've noticed as you say that some more complex polychora end up being mostly hollow, and sometimes elements align so that some odd-density regions are pinched down to nothing leaving large unfilled regions (even-density) connected to other unfilled regions.

So I don't know how to improve the situation. Do you have any suggestions?

Thanks,
Rob.

User avatar
Jabe
Posts: 49
Joined: Sat Jan 12, 2008 6:30 am
Location: Somewhere between Texas and the Fourth Dimension
Contact:

Post by Jabe » Wed Apr 02, 2008 5:05 am

One possible idea for filling a polychoron's sections would be to fill it's cells according to their orientability as opposed to the orientability of the polychoron itself, for instance - if it has giddies and gads within it, fill the giddies like they are non orientable, and the gads like they are orientable - this will prevent extra holes being in the orientable cells, this will be a bit closer to my filling technique.

The filling technique I use is the "core and wedges" approach - it divides a polyhedron up into a positively wound core and/or a series of "wedges" (can be pyramids, or other shape), an example is giid (can be seen in the logo), the triangles form pyramid wedges where the apex is under the triangles - the core consists of the frustrum like structure capped with the pentagons - the core as well as the wedges are filled in (in this particular case, some 0 density regions will get filled in, if they are in both the core and a wedge).

I suspect the "true" filling technique (which is likely not the core and wedges filling, nor the Stella-filling) will be very difficult to capture - hollow spots in the true filling should be compartments that can be opened to the outside by topologically morphing the polyhedron in such a way that it doesn't close the compartment off at any time. I suspect that all non-zero density regions in orientables as well as all odd density regions in non-orientables will be solid, but as for the remaining compartments, they may need to be checked out in detail.
May the Fourth (dimension) be with you.

User avatar
robertw
Site Admin
Posts: 676
Joined: Thu Jan 10, 2008 6:47 am
Location: Melbourne, Australia
Contact:

Post by robertw » Wed Apr 02, 2008 9:56 am

Jabe wrote:...fill it's cells according to their orientability as opposed to the orientability of the polychoron itself
For the problem with this, see example in my post above. The polyhedron is non-orientable, but the cross-section, a pentagram, is orientable. If I fill the pentagram's centre, then the cross-section would be incorrect, since the polyhedron has a hole there.

I presume the same error could occur in 4D. Are there not cases where filling a gad completely would be filling an external space?
hollow spots in the true filling should be compartments that can be opened to the outside by topologically morphing the polyhedron in such a way that it doesn't close the compartment off at any time.
Agreed, this is my prefered definition.
I suspect that all non-zero density regions in orientables as well as all odd density regions in non-orientables will be solid,
Yes, I believe that is 100% reliable.
but as for the remaining compartments, they may need to be checked out in detail.
I suspect that even-density regions in non-orientables may always be merged with the exterior by an appropriate morphing. I can't prove it, but so far no one has proved the converse either. I did demonstrate elsewhere that the regions below the pentagram centres of the small dodecahemicosahedron can be merged with the exterior:
Image

I'll recap quickly.
Here's a cross-section through the small dodecahemicosahedron:
Image
The cross-section is in green, and can be seen to be made up of 5
quadrilaterals. The central section is clearly not within any of the
quads, and so has density zero, but this is itself a cross-section of
that region under a pentagram centre, thus this too must have density
0.

In case there are any doubts, we can easily use this slice to create a
deformation of the original complete polyhedron. Just slice it into
two parts as above, insert quad prisms to join the 5 quads
together again as the two parts are moved apart. Then introduce more
vertices half way along the prisms and stretch them outward, until
gaps appear between them. Now we have what you see below:
Image
And again from another angle. This time you can just see through a
gap and out through that small zero-density central part of the
cross-section, entering into the ragion below a pentagram centre.
Image

Anyway, all this leads me to think that your suggestion will lead to errors.
But the annoying thing is all the elements that coincide in the more complex polychora, causing most of the odd-density regions to be pinched to nothing, so there's not much left to fill.
Rob.

User avatar
robertw
Site Admin
Posts: 676
Joined: Thu Jan 10, 2008 6:47 am
Location: Melbourne, Australia
Contact:

Post by robertw » Wed Apr 02, 2008 10:19 am

Actually it's worse than this, because even some orientables look pretty hollow, like sadsadox:

Image

Sadsadox is orientable, so we can fill all non-zero density regions, but it's elements still align so that slices have many coplanar faces, oriented to be reversed with respect to each other, and with colinear edges partially overlapping. This leads to areas that cancel each other out, but leave ghostly edges floating freely (the non-zero density region has degenerated along these edges).

I suspect this behaviour is perfectly correct, and it's more just annoying than faulty.

Oh well,
Rob.
Last edited by robertw on Thu Apr 03, 2008 1:09 pm, edited 1 time in total.

User avatar
guy
Posts: 86
Joined: Mon Feb 11, 2008 10:30 am
Location: England
Contact:

Post by guy » Thu Apr 03, 2008 10:58 am

In response to Rob, I would suggest that another method is possible.

It is not necessary to identify "zero density" with "outside and unfilled". We may define "outside" as any (continuous) region of space which contains infinitely many lines which do not meet our polytope. We then understand interior "holes" of zero density as being disconnected from the outside and therefore "inside". We then fill in all "inside" regions of a polytope, whatever their density. (After all, there is no visible difference between fillings of say 1 and 2 density regions, so why should density 0 be any different? Only because it is "outside". But if it isn't "outside" after all ....)

It is quite possible for a section to be hollow, since whether a given region of it is filled or not depends on the parent polytope. There is then a pedantic question as to whether a hollow section is not a proper polytope, or has just been improperly filled, but I think that is pretty academic as far as Stella is concerned.

I do not think that this changes the way non-orientables are treated, but it allows the filling-in of those weird "braced holes" seen in Stella's version of sadsadox.

User avatar
robertw
Site Admin
Posts: 676
Joined: Thu Jan 10, 2008 6:47 am
Location: Melbourne, Australia
Contact:

Post by robertw » Thu Apr 03, 2008 1:09 pm

guy wrote:It is not necessary to identify "zero density" with "outside and unfilled". We may define "outside" as any (continuous) region of space which contains infinitely many lines which do not meet our polytope. We then understand interior "holes" of zero density as being disconnected from the outside and therefore "inside".
The concept is simple, but unfortunately it is actually very difficult to implement this idea as an algorithm. This is basically how Stella handles nets for 3D shapes. You don't want nets for any hidden internal zero-density parts. But it is far from straight forward and I have no intention of doing the same thing for 4D!

This method would also mean that during a smooth morph, a filled region could combine with the exterior, causing it to suddenly be unfilled. I prefer the winding method where this never happens.

And consider a case like the one shown below.
Image

Here we are filling a collection of overlapping rectangles in 2D. The central part is not within any of the rectangles, but by your suggestion it would have to be filled. Moving the rectangles apart would cause the central region to connect with the exterior and then suddenly switch to unfilled.
It is quite possible for a section to be hollow, since whether a given region of it is filled or not depends on the parent polytope. There is then a pedantic question as to whether a hollow section is not a proper polytope, or has just been improperly filled, but I think that is pretty academic as far as Stella is concerned.
This does actually cause a problem. In Stella you can convert these slices to become new base models in 3D, and thus generate nets for them etc. At that point Stella would either not know how to fill them, or some kind of inherited magic would have to be passed on.

Actually this is already a slight problem, since orientable cross-sections of non-orientable polytopes need to be filled using mod-2 rather than the winding method, ie they need to use the parents filling method, or sections of exterior parts may be filled in.

Rob.

User avatar
guy
Posts: 86
Joined: Mon Feb 11, 2008 10:30 am
Location: England
Contact:

Post by guy » Thu Apr 03, 2008 7:13 pm

The example of the four rectangles is not relevant, because it is not addressing how to fill a single polygon but how to fill in between an arbitrary collection of overlapping polygons. That is a an entirely different issue.

By the suggested rule, a smooth morph of a nonconvex figure could indeed result in a sudden "jump" in its filling. But consider Stella's existing density rule whereby several overlaid coplanar faces of the sadsadox are oriented in reverse senses such that they cancel out and disapperear: morph the figure so that ther are ever so slightly out of each other,s planes, and their fillings jump back into view. So it is actually quite hard to avoid jumps of one kind or another.

Again, Stella's existing approach requires some sections to inherit knowledge of their higher parent's filling. So what if this needs to happen a little more often. After all, the whole point of sections is to do just that.

I think that fillings and "insides" generally are a deeper problem than most folk realise, even professional geometers. It is one of many issues that I have long been interested in and as it happens I just recently turned my attention to it more fully (it is the one remaining issue to be resolved for me to develop a complete theory of stellation). But those of you who know me, also know not to wait up.

User avatar
Jabe
Posts: 49
Joined: Sat Jan 12, 2008 6:30 am
Location: Somewhere between Texas and the Fourth Dimension
Contact:

Post by Jabe » Thu Apr 03, 2008 11:41 pm

robertw wrote: For the problem with this, see example in my post above. The polyhedron is non-orientable, but the cross-section, a pentagram, is orientable. If I fill the pentagram's centre, then the cross-section would be incorrect, since the polyhedron has a hole there.

I presume the same error could occur in 4D. Are there not cases where filling a gad completely would be filling an external space?
Actually filling in the gad cells completely would be like filling in the octagrams of groh completely (which we do when making models) the only problem I can see with filling the sections with cell-wise orientability, would be when you have a case with an orientable connecting to a non-orientable via a star face (i.e. gocco connecting to groh via octagram) - since the groh will be missing the octagram's 2-density regions while gocco has them filled in - but then again groh's octagram's 2-density regions can be considered as membranes. For non-orientables with only orientable cells, or with no orientable-nonorientable connections happening at star faces there will be no problems, keep in mind we normally fill in the octagram faces of groh.
May the Fourth (dimension) be with you.

User avatar
robertw
Site Admin
Posts: 676
Joined: Thu Jan 10, 2008 6:47 am
Location: Melbourne, Australia
Contact:

Post by robertw » Fri Apr 04, 2008 6:56 am

Jabe wrote:Actually filling in the gad cells completely would be like filling in the octagrams of groh completely (which we do when making models)
We normally do fill it in, that's true, and you're right that we could consider them membranes. But a cross-section should then still show the regions below them as empty, right? Otherwise they are more than membranes.

But look at the first example I gave in this thread. The polyhedron has a hole through it that no one would deny (it is not an issue of polygon filling). A cross-section gives a pentagram, which is itself orientable, yet if we fill its centre it would be incorrect. We'd be filling a cross-section of an external part, external by anyone's definition. I would presume the same could happen in 4D when the slice was a gad, say.

Rob.

User avatar
Jabe
Posts: 49
Joined: Sat Jan 12, 2008 6:30 am
Location: Somewhere between Texas and the Fourth Dimension
Contact:

Post by Jabe » Sun Apr 06, 2008 4:00 am

robertw wrote:
Jabe wrote:Actually filling in the gad cells completely would be like filling in the octagrams of groh completely (which we do when making models)
We normally do fill it in, that's true, and you're right that we could consider them membranes. But a cross-section should then still show the regions below them as empty, right? Otherwise they are more than membranes.
yes, areas under the membranes will be empty.
robertw wrote: But look at the first example I gave in this thread. The polyhedron has a hole through it that no one would deny (it is not an issue of polygon filling). A cross-section gives a pentagram, which is itself orientable, yet if we fill its centre it would be incorrect. We'd be filling a cross-section of an external part, external by anyone's definition. I would presume the same could happen in 4D when the slice was a gad, say.

Rob.
If the slice was a gad, the holes would be hidden from view, since we are seeing it from a 3D perspective, but if we are slicing a gad shaped cell - we could slice it as orientable. Slicing the cells as orientable would be like slicing the "faces" of your example polyhedron as orientable (which they are) - your example fills the "body" of the polyhedron as non-orientable, but we could still fill in its faces as orientable without altering the body, what I'm refering to concerns only the surcell instead of the polychoron's body - which would be hidden by the cells. If your example polyhedron was a cell, we would render it as nonorientable to get it right. If we was sectioning a 4D version of the object, filling the cells by their orientablility shouldn't effect the holes (which will be cavities hidden within the 3D sections - which are hidden from view).
May the Fourth (dimension) be with you.

User avatar
Jabe
Posts: 49
Joined: Sat Jan 12, 2008 6:30 am
Location: Somewhere between Texas and the Fourth Dimension
Contact:

Post by Jabe » Thu May 01, 2008 5:58 am

Recently I investigated the verfs of two of the blends, I picked one to be orientable but with a 0-density region, and the other one to be non-orientable with a region inside which "seemed" to act as a density 2 region - after manipulating them I was able to find a way to expose each internal region to the outside, this makes me suspect that Stella's filling method may be the true filling method after all - if this is the case, then we need to add holes to groh, giddy, and siddy - or deal with membranes. Gidrid's true filling would cause it to be hollow (render gidrid in a way to allow coplanar faces to cancel regions out) - this will cause many of the polychora to be hollow with incredibly fascinating internal regions.
May the Fourth (dimension) be with you.

User avatar
robertw
Site Admin
Posts: 676
Joined: Thu Jan 10, 2008 6:47 am
Location: Melbourne, Australia
Contact:

Post by robertw » Thu May 01, 2008 6:18 am

Jabe wrote:...this makes me suspect that Stella's filling method may be the true filling method after all
Woo hoo! :wink: I think it must be right for the most part, although I still wonder if there are any specific cases where an argument could be made for more filling.
if this is the case, then we need to add holes to groh, giddy, and siddy - or deal with membranes.
I don't have a problem with membranes, but you can't use them in cross-sections as a zero-density region may be directly connected to the exterior (as would happen in for the polyhedron shown in the first image of this thread).
Gidrid's true filling would cause it to be hollow (render gidrid in a way to allow coplanar faces to cancel regions out) - this will cause many of the polychora to be hollow with incredibly fascinating internal regions.
Indeed, and you can already display it this way in Stella if you want (and view groh etc with holes too). Use "Display->Polygon Filling Options" and in the window that opens select Filling method: Auto, and tick "Allow coplanar faces to cancel each other out".

Rob.

Post Reply