What are the symmetries of a Trigonal trapezohedron?

351 Views Asked by At

The asymmetric version of a Trigonal Trapezohedron is supposed to be a fair die just like a cube, meaning I can start with one face and rotate it about the center of the solid to get each of the other faces. I'm trying to get these rotations. Don't know how to go about this. Can someone help point me in the right direction? I want to know the axes I should use about which to rotate and the angles I should rotate about these axes.

1

There are 1 best solutions below

0
On

I got some help on Reddit (as well as the comments here) and managed to come up with this:

enter image description here

Here is the python code in case interested (courtesey etzpcm from Reddit):

import numpy as np
from PIL import Image, ImageDraw, ImageFont, ImageMath
#pip install raypy
from pyray.shapes.polyhedron import *
from pyray.axes import *
from pyray.rotation import *

m1= np.array([[1,0,0], [0,-1,0], [0,0,-1]])
t=2*np.pi/3
c=np.cos(t)
s=np.sin(t)
m2= np.array([ [c,s,0], [-s,c,0], [0,0,1]])
x0=2
y0=0.5
z0=1
z = z0*(-s*x0+(c-1)*y0)*x0/((c-1)*x0+s*y0)/y0
p = np.zeros((3,8))
p[:,0] = [x0,y0,z0]
p[:,1] = np.dot(m2,p[:,0])
p[:,2] = np.dot(m2,p[:,1])
p[:,3] = np.dot(m1,p[:,0])
p[:,4] = np.dot(m2,p[:,3])
p[:,5] = np.dot(m2,p[:,4])
p[:,6] = [0,0,z]
p[:,7] = [0,0,-z]
plane1 = np.array([p[:,i] for i in [0,3,1,6]])
plane2 = np.array([p[:,i] for i in [4,7,5,2]])
plane3 = np.array([p[:,i] for i in [0,3,7,5]])
plane4 = np.array([p[:,i] for i in [1,6,2,4]])
plane5 = np.array([p[:,i] for i in [2,5,0,6]])
plane6 = np.array([p[:,i] for i in [1,3,7,4]])
planes = np.array([plane1,plane2,plane3,plane4,plane5,plane6])
def draw_planes():
    for j in range(31):
        im = Image.new("RGB", (2048, 2048), (1,1,1))
        draw = ImageDraw.Draw(im,'RGBA')
        r = rotation(3,np.pi/30*j)
        render_solid_planes(planes,draw,r,cut_back_face=True, scale=200)
        im.save(basedir + "im" + str(j) + ".png")
        im.close()