24 posts
• Page **1** of **1**

Hey folks. Here's two cute things:

https://www.youtube.com/watch?v=ilVS-ZY5QP4 - lecture on a sculpture a very strange symmetry group. Here's the sculpture:

Here's the "laves graph", a 3D structure with screw symmetry but lacking in rotational symmetry:

https://www.shadertoy.com/view/wddBRX

I'd like a polytope which has this kind of symmetry: multiple axes such that, if you do "double rotations" of the polytope, the polytope looks the same. Anyone know of such things?

https://www.youtube.com/watch?v=ilVS-ZY5QP4 - lecture on a sculpture a very strange symmetry group. Here's the sculpture:

Here's the "laves graph", a 3D structure with screw symmetry but lacking in rotational symmetry:

https://www.shadertoy.com/view/wddBRX

I'd like a polytope which has this kind of symmetry: multiple axes such that, if you do "double rotations" of the polytope, the polytope looks the same. Anyone know of such things?

- hamish_todd
- Mononian
**Posts:**5**Joined:**Mon May 14, 2018 1:52 pm

Yes, I'd also like to know about polychora with only double rotation symmetry, not simple rotation symmetry.

I asked quickfur about this here viewtopic.php?f=25&t=2273

I asked quickfur about this here viewtopic.php?f=25&t=2273

ΓΔΘΛΞΠΣΦΨΩ αβγδεζηθϑικλμνξοπρϱσςτυϕφχψωϖ °±∓½⅓⅔¼¾×÷†‡• ⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

Here are some results on the possible symmetry groups. I'll denote a double rotation as (θ,ϕ), for rotating by angle θ in the x,y-plane and ϕ in the z,w-plane.

If either angle is irrational, then applying the double rotation repeatedly, (nθ,nϕ), gives infinitely many different elements of the group, which we don't want (as it would give the polychoron infinitely many vertices). So both θ and ϕ (considered as multiples of 360°) must be rational.

If the symmetry group contains a double rotation that's not isoclinic, then applying it repeatedly gives a non-trivial simple rotation. For example, 5*(72°, 90°) = (360°, 450°) = (0°, 90°). So the rotation must be isoclinic: θ = ±ϕ.

If the group contains both a left-isoclinic rotation L and a right-isoclinic rotation R, then it also contains a non-isoclinic rotation LR (that is their composition), and thus it also contains a simple rotation. Proof: Suppose contrarily that LR = L' is another left-isoclinic rotation. Then we have R = L⁻¹L'. Since the lefts form a group, L⁻¹ is also a left, and the product L⁻¹L' is also a left. But this contradicts R being a right. Similarly, LR = R' being another right leads to a contradiction through L = R'R⁻¹. Therefore, LR is neither left-isoclinic nor right-isoclinic.

If the group contains a left L and a reflection F, or a rotoreflection F, then FLF⁻¹ (which can be thought of as a reflection of the rotation itself) is a right, and thus the group contains a simple rotation.

Therefore, the group must contain only left-isoclinic rotations, or only right-isoclinic rotations, and no other transformations.

Actually there are two isoclinic rotations which are both left and right: The identity (0°, 0°), and (180°, 180°) which simply negates all coordinates. But these are easily accounted for in the above. There is one group containing the latter and a reflection and no simple rotations; its 4 transformations send (x,y,z,w) to (x,y,z,w) itself (the identity), (-x,y,z,w) (a reflection), (x,-y,-z,-w) (a 180° rotoreflection), and (-x,-y,-z,-w) (the 180° double rotation).

If either angle is irrational, then applying the double rotation repeatedly, (nθ,nϕ), gives infinitely many different elements of the group, which we don't want (as it would give the polychoron infinitely many vertices). So both θ and ϕ (considered as multiples of 360°) must be rational.

If the symmetry group contains a double rotation that's not isoclinic, then applying it repeatedly gives a non-trivial simple rotation. For example, 5*(72°, 90°) = (360°, 450°) = (0°, 90°). So the rotation must be isoclinic: θ = ±ϕ.

If the group contains both a left-isoclinic rotation L and a right-isoclinic rotation R, then it also contains a non-isoclinic rotation LR (that is their composition), and thus it also contains a simple rotation. Proof: Suppose contrarily that LR = L' is another left-isoclinic rotation. Then we have R = L⁻¹L'. Since the lefts form a group, L⁻¹ is also a left, and the product L⁻¹L' is also a left. But this contradicts R being a right. Similarly, LR = R' being another right leads to a contradiction through L = R'R⁻¹. Therefore, LR is neither left-isoclinic nor right-isoclinic.

If the group contains a left L and a reflection F, or a rotoreflection F, then FLF⁻¹ (which can be thought of as a reflection of the rotation itself) is a right, and thus the group contains a simple rotation.

Therefore, the group must contain only left-isoclinic rotations, or only right-isoclinic rotations, and no other transformations.

Actually there are two isoclinic rotations which are both left and right: The identity (0°, 0°), and (180°, 180°) which simply negates all coordinates. But these are easily accounted for in the above. There is one group containing the latter and a reflection and no simple rotations; its 4 transformations send (x,y,z,w) to (x,y,z,w) itself (the identity), (-x,y,z,w) (a reflection), (x,-y,-z,-w) (a 180° rotoreflection), and (-x,-y,-z,-w) (the 180° double rotation).

Last edited by mr_e_man on Wed Oct 13, 2021 4:02 am, edited 1 time in total.

ΓΔΘΛΞΠΣΦΨΩ αβγδεζηθϑικλμνξοπρϱσςτυϕφχψωϖ °±∓½⅓⅔¼¾×÷†‡• ⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

Left-isoclinic rotations in 4D correspond to rotations in 3D.

See some previous posts viewtopic.php?f=27&t=2482 .

In geometric algebra, a 3D rotation by angle θ around unit vector u can be represented by the multivector exp(Iuθ/2) = cos(θ/2) + Iu sin(θ/2), where I is the unit trivector. (Actually there are two unit trivectors, ±I, corresponding to left-handed and right-handed senses of rotation around u; choose one.)

The unit vectors e₁, e₂, and e₃ represent the x-, y-, and z-axes (respectively), so any point or vector can be written as (x,y,z) = xe₁ + ye₂ + ze₃. Vectors can be multiplied according to the rules

e₁² = e₂² = e₃² = 1,

e₁e₂ = - e₂e₁, e₁e₃ = - e₃e₁, e₂e₃ = - e₃e₂,

along with the usual rules for multiplication (such as of matrices): distributivity and associativity. Just as the space of vectors is spanned by 3 basis vectors e₁,e₂,e₃, the space of multivectors is spanned by 2³ = 8 basis multivectors:

1, (grade 0)

e₁, (grade 1)

e₂, (grade 1)

e₃, (grade 1)

i = -Ie₁ = e₃e₂, (grade 2)

j = -Ie₂ = e₁e₃, (grade 2)

k = -Ie₃ = e₂e₁, (grade 2)

I = e₁e₂e₃ (grade 3).

The even-grade multivectors are exactly isomorphic to the quaternions, which are defined by i² = j² = k² = -1 and ij = k. Indeed,

k² = (e₂e₁) (e₂e₁) = (-e₁e₂) (e₂e₁) = - e₁(e₂e₂)e₁ = - e₁(1)e₁ = - e₁e₁ = -1, (similarly for i² and j²,)

ij = (e₃e₂) (e₁e₃) = (-e₂e₃) (-e₃e₁) = +e₂(e₃e₃)e₁ = e₂e₁ = k.

Moving on to 4D, the even-grade multivectors are isomorphic to two copies of the quaternions. But the identities for the quaternions are not the same scalar 1; instead, with J = e₁e₂e₃e₄ being the unit quadvector, the identities are 1_{L} = (1 - J)/2 and 1_{R} = (1 + J)/2. Note that J² = +1, so 1_{L}1_{R} = (1 - J + J - J²)/4 = 0.

There are 2⁴ = 16 basis multivectors for 4D, and half of those, 8, for the even-grade multivectors:

1,

e₁e₂, e₁e₃, e₂e₃,

e₁e₄, e₂e₄, e₃e₄,

e₁e₂e₃e₄.

Taking "averages" of dual pairs of these, we get an alternative basis:

1_{L} = (1 - e₁e₂e₃e₄)/2, 1_{R} = (1 + e₁e₂e₃e₄)/2,

i_{L} = (e₃e₂ - e₁e₄)/2, i_{R} = (e₃e₂ + e₁e₄)/2,

j_{L} = (e₁e₃ - e₂e₄)/2, j_{R} = (e₁e₃ + e₂e₄)/2,

k_{L} = (e₂e₁ - e₃e₄)/2, k_{R} = (e₂e₁ + e₃e₄)/2.

Verify that the 'L's satisfy the equations defining quaternions, and the 'R's do also, and the product of an 'L' and an 'R' is 0.

So, given any 3D rotation, we can represent it as a 3D even multivector, then as a 4D "left" even multivector, then as a 4D rotation.

Specifically, using the same notation as in the beginning of this post, the 4D multivector is 1_{R} + 1_{L}cos(θ/2) + (-Iu - ue₄)/2 sin(θ/2). For example, if u = e₃ (rotation around the z-axis), then we get

1_{R} + 1_{L}cos(θ/2) + k_{L}sin(θ/2)

= (1 + cos(θ/2))/2 + e₁e₂e₃e₄ (1 - cos(θ/2))/2 + (e₂e₁ - e₃e₄)/2 sin(θ/2)

= cos²(θ/4) + e₁e₂e₃e₄ sin²(θ/4) + (e₂e₁ - e₃e₄) sin(θ/4)cos(θ/4)

= (cos(θ/4) - e₁e₂sin(θ/4)) (cos(θ/4) - e₃e₄sin(θ/4))

thus confirming that it represents an isoclinic rotation (-θ/2, -θ/2).

Or, you might just stick with abstract quaternions (not interpreted as multivectors) multiplying other quaternions, and get similar results.

See some previous posts viewtopic.php?f=27&t=2482 .

In geometric algebra, a 3D rotation by angle θ around unit vector u can be represented by the multivector exp(Iuθ/2) = cos(θ/2) + Iu sin(θ/2), where I is the unit trivector. (Actually there are two unit trivectors, ±I, corresponding to left-handed and right-handed senses of rotation around u; choose one.)

The unit vectors e₁, e₂, and e₃ represent the x-, y-, and z-axes (respectively), so any point or vector can be written as (x,y,z) = xe₁ + ye₂ + ze₃. Vectors can be multiplied according to the rules

e₁² = e₂² = e₃² = 1,

e₁e₂ = - e₂e₁, e₁e₃ = - e₃e₁, e₂e₃ = - e₃e₂,

along with the usual rules for multiplication (such as of matrices): distributivity and associativity. Just as the space of vectors is spanned by 3 basis vectors e₁,e₂,e₃, the space of multivectors is spanned by 2³ = 8 basis multivectors:

1, (grade 0)

e₁, (grade 1)

e₂, (grade 1)

e₃, (grade 1)

i = -Ie₁ = e₃e₂, (grade 2)

j = -Ie₂ = e₁e₃, (grade 2)

k = -Ie₃ = e₂e₁, (grade 2)

I = e₁e₂e₃ (grade 3).

The even-grade multivectors are exactly isomorphic to the quaternions, which are defined by i² = j² = k² = -1 and ij = k. Indeed,

k² = (e₂e₁) (e₂e₁) = (-e₁e₂) (e₂e₁) = - e₁(e₂e₂)e₁ = - e₁(1)e₁ = - e₁e₁ = -1, (similarly for i² and j²,)

ij = (e₃e₂) (e₁e₃) = (-e₂e₃) (-e₃e₁) = +e₂(e₃e₃)e₁ = e₂e₁ = k.

Moving on to 4D, the even-grade multivectors are isomorphic to two copies of the quaternions. But the identities for the quaternions are not the same scalar 1; instead, with J = e₁e₂e₃e₄ being the unit quadvector, the identities are 1

There are 2⁴ = 16 basis multivectors for 4D, and half of those, 8, for the even-grade multivectors:

1,

e₁e₂, e₁e₃, e₂e₃,

e₁e₄, e₂e₄, e₃e₄,

e₁e₂e₃e₄.

Taking "averages" of dual pairs of these, we get an alternative basis:

1

i

j

k

Verify that the 'L's satisfy the equations defining quaternions, and the 'R's do also, and the product of an 'L' and an 'R' is 0.

So, given any 3D rotation, we can represent it as a 3D even multivector, then as a 4D "left" even multivector, then as a 4D rotation.

Specifically, using the same notation as in the beginning of this post, the 4D multivector is 1

1

= (1 + cos(θ/2))/2 + e₁e₂e₃e₄ (1 - cos(θ/2))/2 + (e₂e₁ - e₃e₄)/2 sin(θ/2)

= cos²(θ/4) + e₁e₂e₃e₄ sin²(θ/4) + (e₂e₁ - e₃e₄) sin(θ/4)cos(θ/4)

= (cos(θ/4) - e₁e₂sin(θ/4)) (cos(θ/4) - e₃e₄sin(θ/4))

thus confirming that it represents an isoclinic rotation (-θ/2, -θ/2).

Or, you might just stick with abstract quaternions (not interpreted as multivectors) multiplying other quaternions, and get similar results.

ΓΔΘΛΞΠΣΦΨΩ αβγδεζηθϑικλμνξοπρϱσςτυϕφχψωϖ °±∓½⅓⅔¼¾×÷†‡• ⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

I guess I should describe how a multivector M represents a rotation. In short, for rotating a point v around the origin, in any number of dimensions, the formula is M⁻¹vM.

For example, if M = cos(θ/2) + e₁e₂sin(θ/2), then the basis vectors get sent to

M⁻¹e₁M = (cos(θ/2) - e₁e₂sin(θ/2)) e₁ (cos(θ/2) + e₁e₂sin(θ/2))

= (e₁cos(θ/2) - e₁e₂e₁sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₁ (cos(θ/2) - e₂e₁sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₁ (cos²(θ/2) - sin²(θ/2) + 2e₁e₂sin(θ/2)cos(θ/2))

= e₁ (cos(θ) + e₁e₂sin(θ))

= e₁cos(θ) + e₂sin(θ),

M⁻¹e₂M = (cos(θ/2) - e₁e₂sin(θ/2)) e₂ (cos(θ/2) + e₁e₂sin(θ/2))

= (e₂cos(θ/2) - e₁e₂e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= (e₂cos(θ/2) + e₂e₁e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₂ (cos(θ/2) + e₁e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₂ (cos(θ) + e₁e₂sin(θ))

= e₂cos(θ) - e₁sin(θ),

M⁻¹e₃M = (cos(θ/2) - e₁e₂sin(θ/2)) e₃ (cos(θ/2) + e₁e₂sin(θ/2))

= (e₃cos(θ/2) - e₁e₂e₃sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₃ (cos(θ/2) - e₁e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₃ (cos²(θ/2) + sin²(θ/2) + 0e₁e₂sin(θ/2)cos(θ/2))

= e₃ (1)

= e₃.

And an arbitrary point v = xe₁ + ye₂ + ze₃ gets sent to

M⁻¹vM = xM⁻¹e₁M + yM⁻¹e₂M + zM⁻¹e₃M

= xe₁cos(θ) + xe₂sin(θ) + ye₂cos(θ) - ye₁sin(θ) + ze₃

= (x cos(θ) - y sin(θ))e₁ + (x sin(θ) + y cos(θ))e₂ + ze₃;

that is, (x,y,z) gets rotated to (x cos(θ) - y sin(θ), x sin(θ) + y cos(θ), z).

In 4D, there is a shortcut for calculating M⁻¹vM when M represents an isoclinic rotation:

M⁻¹vM = v (2⟨M⟩₀ - 1) + 2v•⟨M⟩₂,

where the notation ⟨M⟩_{n} means to take the grade n part of M and ignore the other parts, and v•B is the vector-bivector dot product, which results in a vector orthogonal to v. For example, if M = (1 + cos(θ/2))/2 + e₁e₂e₃e₄ (1 - cos(θ/2))/2 + (e₂e₁ - e₃e₄)/2 sin(θ/2), representing the isoclinic rotation (-θ/2, -θ/2), then

2⟨M⟩₀ - 1 = cos(θ/2),

2⟨M⟩₂ = (e₂e₁ - e₃e₄) sin(θ/2),

and the above formula gives M⁻¹vM = v cos(θ/2) + v•(e₂e₁ - e₃e₄) sin(θ/2). In particular, the basis vectors get sent to

M⁻¹e₁M = e₁cos(θ/2) - e₂sin(θ/2),

M⁻¹e₂M = e₂cos(θ/2) + e₁sin(θ/2),

M⁻¹e₃M = e₃cos(θ/2) - e₄sin(θ/2),

M⁻¹e₄M = e₄cos(θ/2) + e₃sin(θ/2),

as expected.

For example, if M = cos(θ/2) + e₁e₂sin(θ/2), then the basis vectors get sent to

M⁻¹e₁M = (cos(θ/2) - e₁e₂sin(θ/2)) e₁ (cos(θ/2) + e₁e₂sin(θ/2))

= (e₁cos(θ/2) - e₁e₂e₁sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₁ (cos(θ/2) - e₂e₁sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₁ (cos²(θ/2) - sin²(θ/2) + 2e₁e₂sin(θ/2)cos(θ/2))

= e₁ (cos(θ) + e₁e₂sin(θ))

= e₁cos(θ) + e₂sin(θ),

M⁻¹e₂M = (cos(θ/2) - e₁e₂sin(θ/2)) e₂ (cos(θ/2) + e₁e₂sin(θ/2))

= (e₂cos(θ/2) - e₁e₂e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= (e₂cos(θ/2) + e₂e₁e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₂ (cos(θ/2) + e₁e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₂ (cos(θ) + e₁e₂sin(θ))

= e₂cos(θ) - e₁sin(θ),

M⁻¹e₃M = (cos(θ/2) - e₁e₂sin(θ/2)) e₃ (cos(θ/2) + e₁e₂sin(θ/2))

= (e₃cos(θ/2) - e₁e₂e₃sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₃ (cos(θ/2) - e₁e₂sin(θ/2)) (cos(θ/2) + e₁e₂sin(θ/2))

= e₃ (cos²(θ/2) + sin²(θ/2) + 0e₁e₂sin(θ/2)cos(θ/2))

= e₃ (1)

= e₃.

And an arbitrary point v = xe₁ + ye₂ + ze₃ gets sent to

M⁻¹vM = xM⁻¹e₁M + yM⁻¹e₂M + zM⁻¹e₃M

= xe₁cos(θ) + xe₂sin(θ) + ye₂cos(θ) - ye₁sin(θ) + ze₃

= (x cos(θ) - y sin(θ))e₁ + (x sin(θ) + y cos(θ))e₂ + ze₃;

that is, (x,y,z) gets rotated to (x cos(θ) - y sin(θ), x sin(θ) + y cos(θ), z).

In 4D, there is a shortcut for calculating M⁻¹vM when M represents an isoclinic rotation:

M⁻¹vM = v (2⟨M⟩₀ - 1) + 2v•⟨M⟩₂,

where the notation ⟨M⟩

2⟨M⟩₀ - 1 = cos(θ/2),

2⟨M⟩₂ = (e₂e₁ - e₃e₄) sin(θ/2),

and the above formula gives M⁻¹vM = v cos(θ/2) + v•(e₂e₁ - e₃e₄) sin(θ/2). In particular, the basis vectors get sent to

M⁻¹e₁M = e₁cos(θ/2) - e₂sin(θ/2),

M⁻¹e₂M = e₂cos(θ/2) + e₁sin(θ/2),

M⁻¹e₃M = e₃cos(θ/2) - e₄sin(θ/2),

M⁻¹e₄M = e₄cos(θ/2) + e₃sin(θ/2),

as expected.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

If you prefer matrices instead of multivectors, there's another copy of the quaternions we can use:

Given a 3D rotation by angle θ around axis u = ae₁ + be₂ + ce₃ with u² = a² + b² + c² = 1, we can convert it to a 4D rotation matrix

cos(θ/2)1_{M} + sin(θ/2)(a I_{L} + b J_{L} + c K_{L}).

- Code: Select all
`⌈1 0 0 0⌉`

|0 1 0 0|

1_M = |0 0 1 0|

⌊0 0 0 1⌋

⌈ 0 0 0 1⌉ ⌈ 0 0 -1 0⌉ ⌈ 0 1 0 0⌉

| 0 0 1 0| | 0 0 0 1| |-1 0 0 0|

I_L = | 0 -1 0 0| , J_L = | 1 0 0 0| , K_L = | 0 0 0 1|

⌊-1 0 0 0⌋ ⌊ 0 -1 0 0⌋ ⌊ 0 0 -1 0⌋

⌈ 0 0 0 -1⌉ ⌈ 0 0 -1 0⌉ ⌈ 0 1 0 0⌉

| 0 0 1 0| | 0 0 0 -1| |-1 0 0 0|

I_R = | 0 -1 0 0| , J_R = | 1 0 0 0| , K_R = | 0 0 0 -1|

⌊ 1 0 0 0⌋ ⌊ 0 1 0 0⌋ ⌊ 0 0 1 0⌋

Given a 3D rotation by angle θ around axis u = ae₁ + be₂ + ce₃ with u² = a² + b² + c² = 1, we can convert it to a 4D rotation matrix

cos(θ/2)1

Last edited by mr_e_man on Mon Oct 18, 2021 3:46 pm, edited 1 time in total.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

Back on the topic of polychoron symmetry groups...

The simplest type of group without simple rotations would be generated by a single isoclinic rotation (θ, θ), where θ = 360°/m for some fixed integer m. The whole group contains m elements, of the form (nθ, nθ) for various integers n. The transformation matrices look like

= cos(nθ)1_{M} - sin(nθ)K_{L}.

So, take some random points (x,y,z,w) (say, 2 to 5 points), apply each of these m matrices to each of those points (to get a total of 2*m to 5*m points, of the form (x cos(nθ) - y sin(nθ), x sin(nθ) + y cos(nθ), z cos(nθ) - w sin(nθ), z sin(nθ) + w cos(nθ)), then take the convex hull, and render! The result will probably look like a tangled blob of tetrahedra. Perhaps we should take the dual, so that the cells have more distinctive shapes, and only 4 cells meet at each vertex.

Now let's look at the more interesting 4D groups, which come from 3D rotation groups. There are 2 infinite families: One type of group has m rotations around a single axis; but that just gives us 2m isoclinic rotations generated by a single isoclinic rotation, which we've already seen. The other type of group has m rotations around one axis, and m 180° rotations around perpendicular axes, as the rotational symmetries of an m-gon prism. Let θ = 360°/(2m). The quaternions representing these rotations have the form

cos(nθ) + k sin(nθ) ,

j cos(nθ) - i sin(nθ) ,

for various integers n. This gives us two types of matrix

in the m-gonal prismatic swirl group. (There may appear to be some inconsistent signs (±), but it doesn't matter because n may be replaced with -n.)

In a linked post, I've shown the cube's symmetries and the corresponding multivectors, which can instead be written as quaternions, and then re-interpreted as matrices, which will form the cubic swirl group:

±1,

±i , ±j , ±k ,

(±1 ± i ± j ± k)/2 ,

(±1 ± i)/√2 , (±1 ± j)/√2 , (±1 ± k)/√2 ,

(±i ± j)/√2 , (±i ± k)/√2 , (±j ± k)/√2 .

(All combinations of signs are taken.) For tetrahedral symmetry, simply omit the ones with √2. I'll show just a few of the resulting matrices:

(1 + i + j + k)/2 , (1 + i - j + k)/2 , (1 + k)/√2

In fact the tetrahedral swirl group is generated by the first two of these matrices, and the cubic swirl group is generated by the third and either one of the first two.

The dodecahedron's rotational symmetries are represented by the quaternions

±1 ,

±i , ±j , ±k ,

(±1 ± i ± j ± k)/2 ,

(±φ ± φ⁻¹i ± j)/2 , (±φ ± φ⁻¹j ± k)/2 , (±φ ± φ⁻¹k ± i)/2 ,

(±φ⁻¹ ± i ± φj)/2 , (±φ⁻¹ ± j ± φk)/2 , (±φ⁻¹ ± k ± φi)/2 ,

(±1 ± φi ± φ⁻¹j)/2 , (±1 ± φj ± φ⁻¹k)/2 , (±1 ± φk ± φ⁻¹i)/2 ,

(±φi ± j ± φ⁻¹k)/2 , (±φj ± k ± φ⁻¹i)/2 , (±φk ± i ± φ⁻¹j)/2 .

Converting a few of these to matrices:

(1 + i + j + k)/2 , (1 + i - j + k)/2 , (φ + φ⁻¹k + i)/2

Again the tetrahedral swirl group is generated by the first two, and the dodecahedral swirl group is generated by the third and either one of the first two.

The simplest type of group without simple rotations would be generated by a single isoclinic rotation (θ, θ), where θ = 360°/m for some fixed integer m. The whole group contains m elements, of the form (nθ, nθ) for various integers n. The transformation matrices look like

- Code: Select all
`⌈ cos(nθ) -sin(nθ) 0 0 ⌉`

| sin(nθ) cos(nθ) 0 0 |

| 0 0 cos(nθ) -sin(nθ) |

⌊ 0 0 sin(nθ) cos(nθ) ⌋

= cos(nθ)1

So, take some random points (x,y,z,w) (say, 2 to 5 points), apply each of these m matrices to each of those points (to get a total of 2*m to 5*m points, of the form (x cos(nθ) - y sin(nθ), x sin(nθ) + y cos(nθ), z cos(nθ) - w sin(nθ), z sin(nθ) + w cos(nθ)), then take the convex hull, and render! The result will probably look like a tangled blob of tetrahedra. Perhaps we should take the dual, so that the cells have more distinctive shapes, and only 4 cells meet at each vertex.

Now let's look at the more interesting 4D groups, which come from 3D rotation groups. There are 2 infinite families: One type of group has m rotations around a single axis; but that just gives us 2m isoclinic rotations generated by a single isoclinic rotation, which we've already seen. The other type of group has m rotations around one axis, and m 180° rotations around perpendicular axes, as the rotational symmetries of an m-gon prism. Let θ = 360°/(2m). The quaternions representing these rotations have the form

cos(nθ) + k sin(nθ) ,

j cos(nθ) - i sin(nθ) ,

for various integers n. This gives us two types of matrix

- Code: Select all
`⌈ cos(nθ) -sin(nθ) 0 0 ⌉ ⌈ 0 0 -cos(nθ) -sin(nθ) ⌉`

| sin(nθ) cos(nθ) 0 0 | | 0 0 -sin(nθ) cos(nθ) |

| 0 0 cos(nθ) -sin(nθ) | | cos(nθ) sin(nθ) 0 0 |

⌊ 0 0 sin(nθ) cos(nθ) ⌋ , ⌊ sin(nθ) -cos(nθ) 0 0 ⌋

in the m-gonal prismatic swirl group. (There may appear to be some inconsistent signs (±), but it doesn't matter because n may be replaced with -n.)

In a linked post, I've shown the cube's symmetries and the corresponding multivectors, which can instead be written as quaternions, and then re-interpreted as matrices, which will form the cubic swirl group:

±1,

±i , ±j , ±k ,

(±1 ± i ± j ± k)/2 ,

(±1 ± i)/√2 , (±1 ± j)/√2 , (±1 ± k)/√2 ,

(±i ± j)/√2 , (±i ± k)/√2 , (±j ± k)/√2 .

(All combinations of signs are taken.) For tetrahedral symmetry, simply omit the ones with √2. I'll show just a few of the resulting matrices:

(1 + i + j + k)/2 , (1 + i - j + k)/2 , (1 + k)/√2

- Code: Select all
`⌈ 1/2 1/2 -1/2 1/2⌉ ⌈ 1/2 1/2 1/2 1/2⌉ ⌈ 1/√2 1/√2 0 0 ⌉`

|-1/2 1/2 1/2 1/2| |-1/2 1/2 1/2 -1/2| |-1/√2 1/√2 0 0 |

| 1/2 -1/2 1/2 1/2| |-1/2 -1/2 1/2 1/2| | 0 0 1/√2 1/√2|

⌊-1/2 -1/2 -1/2 1/2⌋ , ⌊-1/2 1/2 -1/2 1/2⌋ , ⌊ 0 0 -1/√2 1/√2⌋

In fact the tetrahedral swirl group is generated by the first two of these matrices, and the cubic swirl group is generated by the third and either one of the first two.

The dodecahedron's rotational symmetries are represented by the quaternions

±1 ,

±i , ±j , ±k ,

(±1 ± i ± j ± k)/2 ,

(±φ ± φ⁻¹i ± j)/2 , (±φ ± φ⁻¹j ± k)/2 , (±φ ± φ⁻¹k ± i)/2 ,

(±φ⁻¹ ± i ± φj)/2 , (±φ⁻¹ ± j ± φk)/2 , (±φ⁻¹ ± k ± φi)/2 ,

(±1 ± φi ± φ⁻¹j)/2 , (±1 ± φj ± φ⁻¹k)/2 , (±1 ± φk ± φ⁻¹i)/2 ,

(±φi ± j ± φ⁻¹k)/2 , (±φj ± k ± φ⁻¹i)/2 , (±φk ± i ± φ⁻¹j)/2 .

Converting a few of these to matrices:

(1 + i + j + k)/2 , (1 + i - j + k)/2 , (φ + φ⁻¹k + i)/2

- Code: Select all
`⌈ 1/2 1/2 -1/2 1/2⌉ ⌈ 1/2 1/2 1/2 1/2⌉ ⌈ φ/2 φ⁻¹/2 0 1/2 ⌉`

|-1/2 1/2 1/2 1/2| |-1/2 1/2 1/2 -1/2| |-φ⁻¹/2 φ/2 1/2 0 |

| 1/2 -1/2 1/2 1/2| |-1/2 -1/2 1/2 1/2| | 0 -1/2 φ/2 φ⁻¹/2|

⌊-1/2 -1/2 -1/2 1/2⌋ , ⌊-1/2 1/2 -1/2 1/2⌋ , ⌊-1/2 0 -φ⁻¹/2 φ/2 ⌋

Again the tetrahedral swirl group is generated by the first two, and the dodecahedral swirl group is generated by the third and either one of the first two.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

Quickfur, could you render a polytope like this?

Here are some arbitrary seed points: (8, 0, 0, 0), (6, 0, 4, 0). Applying the 8-fold double rotation group, we get coordinates

(8, 0, 0, 0), (4√2, 4√2, 0, 0), (0, 8, 0, 0), (-4√2, 4√2, 0, 0), (-8, 0, 0, 0), (-4√2, -4√2, 0, 0), (0, -8, 0, 0), (4√2, -4√2, 0, 0),

(6, 0, 4, 0), (3√2, 3√2, 2√2, 2√2), (0, 6, 0, 4), (-3√2, 3√2, -2√2, 2√2), (-6, 0, -4, 0), (-3√2, -3√2, -2√2, -2√2), (0, -6, 0, -4), (3√2, -3√2, 2√2, -2√2).

Here are some arbitrary seed points: (8, 0, 0, 0), (6, 0, 4, 0). Applying the 8-fold double rotation group, we get coordinates

(8, 0, 0, 0), (4√2, 4√2, 0, 0), (0, 8, 0, 0), (-4√2, 4√2, 0, 0), (-8, 0, 0, 0), (-4√2, -4√2, 0, 0), (0, -8, 0, 0), (4√2, -4√2, 0, 0),

(6, 0, 4, 0), (3√2, 3√2, 2√2, 2√2), (0, 6, 0, 4), (-3√2, 3√2, -2√2, 2√2), (-6, 0, -4, 0), (-3√2, -3√2, -2√2, -2√2), (0, -6, 0, -4), (3√2, -3√2, 2√2, -2√2).

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

(Did you miss that post, hidden by the "Polytope Definition" post being more recent?

In any case, an answer "No" is acceptable.

"Bump" behaves strangely. It shows the most recent post as Nov. 8 in the sub-forum, but still Nov. 2 on the main page.)

In any case, an answer "No" is acceptable.

"Bump" behaves strangely. It shows the most recent post as Nov. 8 in the sub-forum, but still Nov. 2 on the main page.)

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

I suppose I could render these points. Keep in mind, though, that currently my program only supports convex polytopes. Technically it can render a non-convex polytope, but it cannot generate one from coordinates alone (since it uses a convex hull algorithm), so such a thing would have to be constructed by hand. And it doesn't know how to clip a non-convex polytope properly so the results might look strange or just plain wrong unless I turn off clipping (but that usually results in a mess in all except the simplest cases).

Also, it doesn't know how to figure out a good 4D viewpoint that gives a good view of the polytope; usually it requires some trial-and-error by hand to find a nice 4D viewpoint that nicely shows the structure. Which needs some time to figure out.

Also, it doesn't know how to figure out a good 4D viewpoint that gives a good view of the polytope; usually it requires some trial-and-error by hand to find a nice 4D viewpoint that nicely shows the structure. Which needs some time to figure out.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

I am considering convex polytopes. I'm expecting your program to take the convex hull, in general. I think these particular points are already convexly independent, though the face lattice still needs to be worked out.

The dual can be gotten by interpreting those coordinates as facet normal vectors, instead of vertices.

mr_e_man wrote:The result will probably look like a tangled blob of tetrahedra. Perhaps we should take the dual, so that the cells have more distinctive shapes, and only 4 cells meet at each vertex.

The dual can be gotten by interpreting those coordinates as facet normal vectors, instead of vertices.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

Well, here's your tangled blob of tetrahedra:

I played around with various viewpoints, and found that <0,0,5,0> is a good one.

As for duals, the generated polytope already has the hyperplane normals as part of its description, so inverting it is trivial. In fact, my makepoly program has an optional precisely for this purpose. Just gimme a few minutes to run it through and figure out a nice viewpoint for the dual...

I played around with various viewpoints, and found that <0,0,5,0> is a good one.

As for duals, the generated polytope already has the hyperplane normals as part of its description, so inverting it is trivial. In fact, my makepoly program has an optional precisely for this purpose. Just gimme a few minutes to run it through and figure out a nice viewpoint for the dual...

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

Haha, so it turns out that your coordinates produced the dual of some kind of distorted 8,8-duoprism. Due to the odd shape, it was kinda tricky to get a good viewpoint of the dual, but here's an attempt:

Due to only 3 cells being visible, I decided to turn off clipping and color the edges on the far side magenta so that it's easier to see the entire structure. The green shows the cell nearest to the 4D viewpoint. It's obviously some kind of distorted octagonal prism.

Due to only 3 cells being visible, I decided to turn off clipping and color the edges on the far side magenta so that it's easier to see the entire structure. The green shows the cell nearest to the 4D viewpoint. It's obviously some kind of distorted octagonal prism.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

Hmm. I was hoping the octagonal prisms would be more distorted, to a different combinatorial type. Otherwise it's hard to distinguish actual distortion from projection artifacts.

How about a third seed point?

(8, 0, 0, 0), (4√2, 4√2, 0, 0), (0, 8, 0, 0), (-4√2, 4√2, 0, 0), (-8, 0, 0, 0), (-4√2, -4√2, 0, 0), (0, -8, 0, 0), (4√2, -4√2, 0, 0),

(6, 0, 4, 0), (3√2, 3√2, 2√2, 2√2), (0, 6, 0, 4), (-3√2, 3√2, -2√2, 2√2), (-6, 0, -4, 0), (-3√2, -3√2, -2√2, -2√2), (0, -6, 0, -4), (3√2, -3√2, 2√2, -2√2),

(4, 4, 4, 0), (0, 4√2, 2√2, 2√2), (-4, 4, 0, 4), (-4√2, 0, -2√2, 2√2), (-4, -4, -4, 0), (0, -4√2, -2√2, -2√2), (4, -4, 0, -4), (4√2, 0, 2√2, -2√2).

The idea is to pick out a particular sub-symmetry of the 8,8-duoprism, and exhibit this clearly in a different polychoron.

How about a third seed point?

(8, 0, 0, 0), (4√2, 4√2, 0, 0), (0, 8, 0, 0), (-4√2, 4√2, 0, 0), (-8, 0, 0, 0), (-4√2, -4√2, 0, 0), (0, -8, 0, 0), (4√2, -4√2, 0, 0),

(6, 0, 4, 0), (3√2, 3√2, 2√2, 2√2), (0, 6, 0, 4), (-3√2, 3√2, -2√2, 2√2), (-6, 0, -4, 0), (-3√2, -3√2, -2√2, -2√2), (0, -6, 0, -4), (3√2, -3√2, 2√2, -2√2),

(4, 4, 4, 0), (0, 4√2, 2√2, 2√2), (-4, 4, 0, 4), (-4√2, 0, -2√2, 2√2), (-4, -4, -4, 0), (0, -4√2, -2√2, -2√2), (4, -4, 0, -4), (4√2, 0, 2√2, -2√2).

The idea is to pick out a particular sub-symmetry of the 8,8-duoprism, and exhibit this clearly in a different polychoron.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

I have a hard time with your latest set of coordinates. It produced a highly-distorted spindle-like thing that's really hard to get a good view of. It still looks like a distorted 8,8-duoprism, and the cells are like randomly-truncated distorted octagonal prisms.

After many unsuccessful tries here's what I ended up with (it's not very good):

I wonder if you might get nicer results if you scale your points to a fixed distance from the origin or something, to produce something rounder.

After many unsuccessful tries here's what I ended up with (it's not very good):

I wonder if you might get nicer results if you scale your points to a fixed distance from the origin or something, to produce something rounder.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

Okay, let's start with the uniform 8,8-duoprism, and then non-uniformly truncate that:

(1, 0, 0, 0), (1/√2, 1/√2, 0, 0), (0, 1, 0, 0), (-1/√2, 1/√2, 0, 0), (-1, 0, 0, 0), (-1/√2, -1/√2, 0, 0), (0, -1, 0, 0), (1/√2, -1/√2, 0, 0),

(0, 0, 1, 0), (0, 0, 1/√2, 1/√2), (0, 0, 0, 1), (0, 0, -1/√2, 1/√2), (0, 0, -1, 0), (0, 0, -1/√2, -1/√2), (0, 0, 0, -1), (0, 0, 1/√2, -1/√2),

(2/√6, 1/√6, 1/√6, 0), ... (2/√6 cos(n*45°) + 1/√6 sin(n*45°), 1/√6 cos(n*45°) - 2/√6 sin(n*45°), 1/√6 cos(n*45°) + 0 sin(n*45°), 0 cos(n*45°) - 1/√6 sin(n*45°)).

But the normal vectors being on the unit sphere doesn't imply that the vertices are on a sphere....

(1, 0, 0, 0), (1/√2, 1/√2, 0, 0), (0, 1, 0, 0), (-1/√2, 1/√2, 0, 0), (-1, 0, 0, 0), (-1/√2, -1/√2, 0, 0), (0, -1, 0, 0), (1/√2, -1/√2, 0, 0),

(0, 0, 1, 0), (0, 0, 1/√2, 1/√2), (0, 0, 0, 1), (0, 0, -1/√2, 1/√2), (0, 0, -1, 0), (0, 0, -1/√2, -1/√2), (0, 0, 0, -1), (0, 0, 1/√2, -1/√2),

(2/√6, 1/√6, 1/√6, 0), ... (2/√6 cos(n*45°) + 1/√6 sin(n*45°), 1/√6 cos(n*45°) - 2/√6 sin(n*45°), 1/√6 cos(n*45°) + 0 sin(n*45°), 0 cos(n*45°) - 1/√6 sin(n*45°)).

But the normal vectors being on the unit sphere doesn't imply that the vertices are on a sphere....

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

More ideas along the lines of the first few posts about screw symmetries: IIRC Jonathan Bowers once mentioned the following construction: pick two coprime numbers m and n. Build an m,m-duoprism, and lay out its vertices in an m×m grid. Start with the vertex corresponding to row 0 column 0, and select 1 vertex for each subsequent row, each displaced from the previous by n columns (modulo m). Take the convex hull of the selected vertices. The result will be a swirlprism-like polytope with an m-fold twisting symmetry.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

Here's an example of Bowers' construction:

I slightly modified Bowers' construction: starting with an 8,8-duoprism, I selected two vertices per row instead of just one, according to this pattern, where each row is shifted 3 positions relative to the previous row (3 being coprime to 8 ):

This corresponds with these coordinates:

The polytope is constructed as the dual of the convex hull of these vertices. It has 16 cells (each cell corresponding to one point above), 88 faces, 144 edges, and 72 vertices. Each cell has 18 vertices, 27 edges, and 11 faces; as you can see, pretty irregular. But the cells are transitive in two complementary classes (corresponding to the two marks per row), so this thing could serve as a 16-sided 4D dice -- an interesting alternative to the regular 16-cell.

I slightly modified Bowers' construction: starting with an 8,8-duoprism, I selected two vertices per row instead of just one, according to this pattern, where each row is shifted 3 positions relative to the previous row (3 being coprime to 8 ):

- Code: Select all
`x..o....`

...x..o.

.o....x.

.x..o...

....x..o

..o....x

..x..o..

o....x..

This corresponds with these coordinates:

- Code: Select all
`<cos(0*pi*2/8), sin(0*pi*2/8), cos(0*pi*2/8), sin(0*pi*2/8)>`

<cos(1*pi*2/8), sin(1*pi*2/8), cos(3*pi*2/8), sin(3*pi*2/8)>

<cos(2*pi*2/8), sin(2*pi*2/8), cos(6*pi*2/8), sin(6*pi*2/8)>

<cos(3*pi*2/8), sin(3*pi*2/8), cos(9*pi*2/8), sin(9*pi*2/8)>

<cos(4*pi*2/8), sin(4*pi*2/8), cos(12*pi*2/8), sin(12*pi*2/8)>

<cos(5*pi*2/8), sin(5*pi*2/8), cos(15*pi*2/8), sin(15*pi*2/8)>

<cos(6*pi*2/8), sin(6*pi*2/8), cos(18*pi*2/8), sin(18*pi*2/8)>

<cos(7*pi*2/8), sin(7*pi*2/8), cos(21*pi*2/8), sin(21*pi*2/8)>

<cos(0*pi*2/8), sin(0*pi*2/8), cos(3*pi*2/8), sin(3*pi*2/8)>

<cos(1*pi*2/8), sin(1*pi*2/8), cos(6*pi*2/8), sin(6*pi*2/8)>

<cos(2*pi*2/8), sin(2*pi*2/8), cos(9*pi*2/8), sin(9*pi*2/8)>

<cos(3*pi*2/8), sin(3*pi*2/8), cos(12*pi*2/8), sin(12*pi*2/8)>

<cos(4*pi*2/8), sin(4*pi*2/8), cos(15*pi*2/8), sin(15*pi*2/8)>

<cos(5*pi*2/8), sin(5*pi*2/8), cos(18*pi*2/8), sin(18*pi*2/8)>

<cos(6*pi*2/8), sin(6*pi*2/8), cos(21*pi*2/8), sin(21*pi*2/8)>

<cos(7*pi*2/8), sin(7*pi*2/8), cos(24*pi*2/8), sin(24*pi*2/8)>

The polytope is constructed as the dual of the convex hull of these vertices. It has 16 cells (each cell corresponding to one point above), 88 faces, 144 edges, and 72 vertices. Each cell has 18 vertices, 27 edges, and 11 faces; as you can see, pretty irregular. But the cells are transitive in two complementary classes (corresponding to the two marks per row), so this thing could serve as a 16-sided 4D dice -- an interesting alternative to the regular 16-cell.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

mr_e_man wrote:If the symmetry group contains a double rotation that's not isoclinic, then applying it repeatedly gives a non-trivial simple rotation. For example, 5*(72°, 90°) = (360°, 450°) = (0°, 90°). So the rotation must be isoclinic: θ = ±ϕ.

Oh! This is wrong, as shown by (45°, 135°).

Instead, what is true is that θ and ϕ must have the same denominator: (θ, ϕ) = (p/r*360°, q/r*360°), where p and r are coprime, and q and r are coprime (in other words, both fractions are in simplest form). I guess I assumed that the numerators could always be set to 1. Certainly one numerator can be set to 1, but not necessarily both at the same time. (If s is the inverse of p modulo r, then a new double rotation (θ', ϕ') = s*(θ, ϕ) = (s*p/r*360°, s*q/r*360°) = (1/r*360°, s*q/r*360°) has a numerator 1; and p*(θ', ϕ') = (p/r*360°, p*s*q/r*360°) = (p/r*360°, q/r*360°) = (θ, ϕ) is the original double rotation, so (θ, ϕ) and (θ', ϕ') are equivalent as group generators.)

That invalidates much of my reasoning in the rest of that post. So there may be many non-isoclinic rotation groups which don't contain simple rotations.

quickfur wrote:More ideas along the lines of the first few posts about screw symmetries: IIRC Jonathan Bowers once mentioned the following construction: pick two coprime numbers m and n. Build an m,m-duoprism, and lay out its vertices in an m×m grid. Start with the vertex corresponding to row 0 column 0, and select 1 vertex for each subsequent row, each displaced from the previous by n columns (modulo m). Take the convex hull of the selected vertices. The result will be a swirlprism-like polytope with an m-fold twisting symmetry.

If you instead take the complement of those vertices, thus deleting m of the duoprism's m² vertices, then you get what I described: a non-uniform truncation (or diminishing) of the uniform duoprism.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

I don't think I'd seen Polyhedron Dude's 4D dice before. They look like what I had in mind.

But it's hard to find pictures that clearly show the shapes of the polyhedra and how they connect to each other. The faces are opaque; too much is hidden.

But it's hard to find pictures that clearly show the shapes of the polyhedra and how they connect to each other. The faces are opaque; too much is hidden.

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

Jonathan generally posts only cross-sections of polytopes, not projections. So it can be quite hard to see how the cells fit together.

If you have any particular polytope in mind that you want to see better, post the coordinates / construction here and I'll see if I can run a quick render of it.

If you have any particular polytope in mind that you want to see better, post the coordinates / construction here and I'll see if I can run a quick render of it.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

How about the diminished 8,8-duoprism?

The uniform 8,8-duoprism has 64 vertices of the form (R cos(j*45°), R sin(j*45°), R cos(k*45°), R sin(k*45°)). Delete the 8 vertices where j=k. (Maybe also delete those where j=k+1 and those where j=k+3 (mod 8), to destroy more symmetry.)

The uniform 8,8-duoprism has 64 vertices of the form (R cos(j*45°), R sin(j*45°), R cos(k*45°), R sin(k*45°)). Delete the 8 vertices where j=k. (Maybe also delete those where j=k+1 and those where j=k+3 (mod 8), to destroy more symmetry.)

ℕℤℚℝℂ∂¬∀∃∅∆∇∈∉∋∌∏∑ ∗∘∙√∛∜∝∞∧∨∩∪∫≅≈≟≠≡≤≥⊂⊃⊆⊇ ⊕⊖⊗⊘⊙⌈⌉⌊⌋⌜⌝⌞⌟〈〉⟨⟩

- mr_e_man
- Tetronian
**Posts:**310**Joined:**Tue Sep 18, 2018 4:10 am

mr_e_man wrote:How about the diminished 8,8-duoprism?

The uniform 8,8-duoprism has 64 vertices of the form (R cos(j*45°), R sin(j*45°), R cos(k*45°), R sin(k*45°)). Delete the 8 vertices where j=k. (Maybe also delete those where j=k+1 and those where j=k+3 (mod , to destroy more symmetry.)

Did you mean the dual polytope of the convex hull of these vertices?

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

Hmm, I just realized that your construction is not vertex-transitive, so the dual wouldn't be very interesting. Anyway, here's an initial render (non-dual):

I highlighted two of the nearest cells to the 4D viewpoint for easier reference. The magenta edges lie on the far side of the polytope. It's clear from this image that the cells are of at least two categories: irregularly diminished octagonal prisms in two rings (inherited from the original 8,8-duoprism), and a bunch of tetrahedra bridging the gaps produced by the diminishings. You can see the cells on the far side outlined by the magenta edges. Edit: hmm, just realized that not all of the bridging cells are tetrahedra, there's also some irregular cells between the tetrahedra.

If you're looking for cell-transitive polytopes like the ones Bowers talks about, you probably want to add vertices to a blank n,n-duoprism grid rather than delete vertices, that way it's easier to ensure the result is vertex transitive (meaning its dual would be cell-transitive). Basically, if you lay out the j,k indices in your construction in an 8×8 grid, the result will be vertex-transitive if the corresponding points on the grid are transitive under the left/right, top/bottom wrap-around translations of the grid.

I highlighted two of the nearest cells to the 4D viewpoint for easier reference. The magenta edges lie on the far side of the polytope. It's clear from this image that the cells are of at least two categories: irregularly diminished octagonal prisms in two rings (inherited from the original 8,8-duoprism), and a bunch of tetrahedra bridging the gaps produced by the diminishings. You can see the cells on the far side outlined by the magenta edges. Edit: hmm, just realized that not all of the bridging cells are tetrahedra, there's also some irregular cells between the tetrahedra.

If you're looking for cell-transitive polytopes like the ones Bowers talks about, you probably want to add vertices to a blank n,n-duoprism grid rather than delete vertices, that way it's easier to ensure the result is vertex transitive (meaning its dual would be cell-transitive). Basically, if you lay out the j,k indices in your construction in an 8×8 grid, the result will be vertex-transitive if the corresponding points on the grid are transitive under the left/right, top/bottom wrap-around translations of the grid.

- quickfur
- Pentonian
**Posts:**2775**Joined:**Thu Sep 02, 2004 11:20 pm**Location:**The Great White North

24 posts
• Page **1** of **1**

Users browsing this forum: No registered users and 1 guest