## Using Trig Functions to Project Vertices into 3D

Discussion of tapertopes, uniform polytopes, and other shapes with flat hypercells.

### Using Trig Functions to Project Vertices into 3D

I'm looking to create a rotating cubic pyramid projection. I can manually build it frame by frame, by attaching thin cylinders to spherical vertices, as extrapolated from a rotating square pyramid. But, I'd like to render it using functions that do most of the hard work for me, such as getting the spheres in the right places in 3-space. I've gotten rather clever with the functions needed to do this. It's the precise locations of the spheres I'm really interested in getting. It seems that the 8 vertex spheres for the base-cube would follow an elliptical path, where the 9th vertex sphere oscillates back and forth. I'm not sure how to get this ellipse path without creating ellipsoids themselves, instead of spheres. Any ideas?
in search of combinatorial objects of finite extent
ICN5D
Pentonian

Posts: 1044
Joined: Mon Jul 28, 2008 4:25 am
Location: Orlando, FL

### Re: Using Trig Functions to Project Vertices into 3D

Well, depends on how exactly the rotation looks. Basically, I'd computed the paths in 4D, and then projected to 3D either with parallel projection or with perspective one.
Marek14
Pentonian

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

### Re: Using Trig Functions to Project Vertices into 3D

Yes, that's what I've been looking into. Basically, I want to use spheres in place of the vertices, that follow the elliptical paths of a single rotation. I read briefly on this entry :https://en.wikipedia.org/wiki/3D_projection#Perspective_projection , which gives equations. This is great, and maybe it can be simplified, since I'm interested in projecting a circular path for each vertex. What I'd like to know, is if these functions are for single points at a time, or can be used with entire functions altogether. We'd be seeing the circle paths edge-on, as ellipses, one for each vertex.

I set up the vertices of a square pyramid, and rotated them in 3D, trying to get a feel for how they move on a 2D screen. I can actually use this method to get approx locations on a 2-plane, and use them for locations of the 9 vertices of a cubic pyramid. But, that will be time consuming, even with 25~30 frames. Single/multiple functions that use an adjustable parameter would be far more accurate, and smoother. And, perhaps pave the way to a whole, new rendering style for me, to compliment the slices!
in search of combinatorial objects of finite extent
ICN5D
Pentonian

Posts: 1044
Joined: Mon Jul 28, 2008 4:25 am
Location: Orlando, FL

### Re: Using Trig Functions to Project Vertices into 3D

I tried some things out, and came up with this : https://www.desmos.com/calculator/lhieagxzdy . What I'm looking to do, is find a way to use an entire equation as a whole as a projection equation. There should be a way, either with matrices, or something else, that can do this. The current consensus on perspective projection rendering seems to be for single points at a time. I can't find anything on a whole set of points at once that can be used in a similar fashion.

The function:

(x - a*sin(t*\pi))^2 + (y - d + f*cos(t*\pi))^2 = (b - c*cos(t*\pi))^2

a = translate dist from origin along x
b = radius of sphere
0 < c 1 : scale coefficient for near/far sphere shadow , 0 = orthographic , 1 = infinite dist , 0.3 is good
d = translate dist from orig along y
f = upper/lower limit of y-dist from orig of sphere center, simulates oblique angle
0 < t < 2 : rotation of sphere shadow

It's still not exactly what I want. It does emulate the xy projection of a sphere rotating on the xz plane. But, the function that emulates the oblique angle by rotating on the yz plane doesn't correlate well with the scaled radius size of the circle shadow (as it should!)
in search of combinatorial objects of finite extent
ICN5D
Pentonian

Posts: 1044
Joined: Mon Jul 28, 2008 4:25 am
Location: Orlando, FL

Return to Other Polytopes

### Who is online

Users browsing this forum: hy.dodec and 1 guest