Parametric Functions - A New Development

Higher-dimensional geometry (previously "Polyshapes").

Parametric Functions - A New Development

Postby ICN5D » Tue Jan 02, 2018 3:26 am

So, back in august I discovered the parametric forms of my STEMP notation, which uses the I, > , O , () , [] symbols to define various shapes. This was something I really wanted to know, since I was looking to make rotating projections. It is also a great compliment to my implicit function process, which is better suited for taking slices of these shapes.

• Bisecting Rotate : O

{ x , y*cos(t) , y*sin(t) } | 0 < t < π


• Non-Bisecting Rotate : (O)

{ x , (y-a)*cos(t) , (y-a)*sin(t) } | 0 < t < 2π


• Extrude : I

{ r(x,y) , t } | -1 < t < 1


• Taper : >

{ r(x,y)*(t-1) , t } | -1 < t < 1


• Cartesian Product: n[m]

{ r(x,y) , r(z) }

{ r(x,y) , r(z,w) }


The end result of iterating these functions is an equation in parametric form that defines a solid shape. I've done additional work on getting the proper terms for unit edge hypershapes, since the taper function is a bit crude by making right angle pyramids and cones.

In addition to this, I also discovered a process for decomposing the original, linear constructed solid form into all of the lower dimensional elements on the surface. This came to me as a double bonus, since I won't have to do the painstaking, trial-by-error process of manually lining up edges and faces to build up a shape.


================================


The equations I have verified so far:

1D

r(x)

• Line Segment, I
{ t } | t ∈ [-1,1]

• Circle, (O)
{ cos(t) , sin(t) } | t ∈ [0,2π]


2D

r(x,y)

• Solid Disk, IO
{ u*cos(v) , u*sin(v) } | u ∈ [-1,1] ; v ∈ [0,π]

• Square, II
{ u , v } | u,v ∈ [-1,1]

• Right Triangle, I>
{ u(v-1) , v } | u,v ∈ [-1,1]

• Unit Triangle
{ √3u(v-1) , 3v+1 } | u,v ∈ [-1,1]
-- edge length = 4√3
-- height = 6

• Hollow Tube, I(O)
{ u , cos(v) , sin(v) } | u ∈ [-1,1] ; v ∈ [0,2π]


3D

r(x,y,z)

• Solid Sphere, IOO
{ u*cos(v)*cos(t) , u*cos(v)*sin(t) , u*sin(v) } | u ∈ [-1,1] ; v,t ∈ [0,π]

• Solid Torus , IO(O)
{ u*(cos(t)+2)*cos(v) , u*(cos(t)+2)*sin(v) , u*sin(t) } | u ∈ [-1,1] ; v ∈ [0,2π] ; t ∈ [0,π]

• Right Cone, IO>
{ u(v-1)*cos(t) , u(v-1)*sin(t) , v } | u,v ∈ [-1,1] ; t ∈ [0,π]

• Unit Cone, IO>
{ √3u(v-1)*cos(t) , √3u(v-1)*sin(t) , 3v+1 } | u,v ∈ [-1,1] ; t ∈ [0,π]

• Cylinder, IOI
{ u*cos(v) , u*sin(v) , t } | u,t ∈ [-1,1] ; v ∈ [0,π]

• Double Right Tetrahedron, I>>
{ (t-1)(v-1)u , (t-1)v , t } | u,v,t ∈ [-1,1]

• Unit Tetrahedron, I>>
{ -√3u(v-1)(t-1) , -(3v+1)(t-1) , 2√2(2t+1) } | u,v,t ∈ [-1,1]

• Right Triangle Prism, I>I
{ u(v-1) , v , t } | u,v,t ∈ [-1,1]

• Unit Triangle Prism, I>I
{ √3u(v-1) , 3v+1 , 2√3t } | u,v,t ∈ [-1,1]

• Right Square Pyramid, II>
{ u(t-1) , v(t-1) , t } | u,v,t ∈ [-1,1]

• Cube, III
{ u , v , t } | u,v,t ∈ [-1,1]


4D

r(x,y,z,w)

• Cubinder, IIIO
{ u*cos(v) , u*sin(v) , t , s } | u,t,s ∈ [-1,1] ; v ∈ [0,π]

• Right Cubic Pyramid, III>
{ u(s-1) , v(s-1) , t(s-1) , s } | u,v,t,s ∈ [-1,1]

• Unit Triangle x Square Prism, I>II
{ √3u(v-1) , 3v+1 , 2√3t , 2√3s } | u,v,t,s ∈ [-1,1]

• Unit Coninder, IO>I
{ √3u(v-1)*cos(t) , √3u(v-1)*sin(t) , 3v+1 , 2√3s } | u,v,s ∈ [-1,1] ; t ∈ [0,π]

• Unit Triangle x Triangle Prism, I>[I>]
{ √3u(v-1) , 3v+1 , √3t(s-1) , 3s+1 } | u,v,t,s ∈ [-1,1]

• Unit Tetrahedral Prism, I>>I
{ -√3u(v-1)(t-1) , -(3v+1)(t-1) , 2√2(2t+1) , 4√3s } | u,v,t,s ∈ [-1,1]
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Tue Jan 02, 2018 4:19 am

4D Cubinder

Here is the 3D shadow of a rotating 4D Cubinder. A Cubinder can be made a few different ways:

1) Extrude a cylinder along a 4th axis; makes a 4D prism out of the cylinder

2) Rotate a cube into 4D, around a bisecting 2D plane. Assuming our cube is aligned to coordinate axes, it could be any of the 3 coordinate 2-planes : xy, xz, or yz.

3) Take the Cartesian Product of a circle parallel to xy, and a square parallel to plane zw. In the animation, the cubinder is rotating on plane zw, so we’re essentially ‘spinning the square part’, as seen from edge on.

• A solid 4D unit cubinder, centered at origin, can be expressed parametrically as:

r(x,y,z,w) = {u*cos(v), u*sin(v), s, t} | u,s,t ∈ [-1,1] ; v ∈ [0,π]

• And implicitly as:

|2√(x²+y²) - |z-w|-|z+w|| + |2√(x²+y²) + |z-w|+|z+w|| < 2

I made this cubinder by building it out of 12 separate pieces. That’s 4 circles, 4 solid discs, and 4 hollow tubes. They can be defined parametrically as follows:

• 4 Disc Edges : {cos(t), sin(t), ±1, ±1} | t∈[0,2π]

• 4 Solid Discs : {u*cos(v), u*sin(v), ±1, ±1} | u∈[-1,1] ; v∈[0,π]

• 2 Hollow Tubes : {cos(v), sin(v), u , ±1} | u∈[-1,1] ; v∈[0,2π]

• 2 Hollow Tubes : {cos(v), sin(v), ±1 , u} | u∈[-1,1] ; v∈[0,2π]

Note however, they are not the true 3D volumes (4x cylinders, 1x square flat-torus) that really make up the surface of a cubinder. They are 1D curves and 2D surfaces, which make up only the edges and vertices of the shape. It’s more of a wire frame structure, with no walls to close off the 4D interior.

• Then, I added a rotate parameter on plane zw using angle ‘d’ :

r(x,y,z,w) = {x, y, (z)*cos(d)-(w)*sin(d), (z)*sin(d)+(w)*cos(d)}

• A perspective projection onto plane xyz with focal distance ‘c’:

r(x,y,z) = {(x)/(w+c), (y)/(w+c), (z)/(w+c)}

-- A good value to use is c = 3, as seen in the animation

• Yields a combined equation, for use with each of the 12 plots:

x = (x)/((z)*sin(d) + (w)*cos(d) + c)

y = (y)/((z)*sin(d) + (w)*cos(d) + c)

z = ((z)*cos(d) - (w)*sin(d))/((z)*sin(d) + (w)*cos(d) + c)

When all 12 equations work in unison, you get a nice representation of the shadow of a spinning cubinder!

Code: Select all
Disc Edges : 4:(O)xy±z±w
-------------------------
x = (cos(t))/((-1)*sin(d) + (-1)*cos(d) + c)
y = (sin(t))/((-1)*sin(d) + (-1)*cos(d) + c)
z = ((-1)*cos(d) - (-1)*sin(d))/((-1)*sin(d) + (-1)*cos(d) + c)
----------
x = (cos(t))/((-1)*sin(d) + (1)*cos(d) + c)
y = (sin(t))/((-1)*sin(d) + (1)*cos(d) + c)
z = ((-1)*cos(d) - (1)*sin(d))/((-1)*sin(d) + (1)*cos(d) + c)
----------
x = (cos(t))/((1)*sin(d) + (-1)*cos(d) + c)
y = (sin(t))/((1)*sin(d) + (-1)*cos(d) + c)
z = ((1)*cos(d) - (-1)*sin(d))/((1)*sin(d) + (-1)*cos(d) + c)
----------
x = (cos(t))/((1)*sin(d) + (1)*cos(d) + c)
y = (sin(t))/((1)*sin(d) + (1)*cos(d) + c)
z = ((1)*cos(d) - (1)*sin(d))/((1)*sin(d) + (1)*cos(d) + c)
----------
0 < t < 2π

------------------------------------------------------------------

Circles : 4:IOxy,±z±w
---------------------
x = (u*cos(v))/((-1)*sin(d) + (-1)*cos(d) + c)
y = (u*sin(v))/((-1)*sin(d) + (-1)*cos(d) + c)
z = ((-1)*cos(d) - (-1)*sin(d))/((-1)*sin(d) + (-1)*cos(d) + c)
----------
x = (u*cos(v))/((-1)*sin(d) + (1)*cos(d) + c)
y = (u*sin(v))/((-1)*sin(d) + (1)*cos(d) + c)
z = ((-1)*cos(d) - (1)*sin(d))/((-1)*sin(d) + (1)*cos(d) + c)
----------
x = (u*cos(v))/((1)*sin(d) + (-1)*cos(d) + c)
y = (u*sin(v))/((1)*sin(d) + (-1)*cos(d) + c)
z = ((1)*cos(d) - (-1)*sin(d))/((1)*sin(d) + (-1)*cos(d) + c)
----------
x = (u*cos(v))/((1)*sin(d) + (1)*cos(d) + c)
y = (u*sin(v))/((1)*sin(d) + (1)*cos(d) + c)
z = ((1)*cos(d) - (1)*sin(d))/((1)*sin(d) + (1)*cos(d) + c)
-----------------------
-1 < u < 1 // 20 steps
0 < v < π // 20 steps

-------------------------------------------------------------------

Hollow Tubes : 2:Iz(O)xy,±w
---------------------------
x = (cos(v))/((u)*sin(d) + (-1)*cos(d) + c)
y = (sin(v))/((u)*sin(d) + (-1)*cos(d) + c)
z = ((u)*cos(d) - (-1)*sin(d))/((u)*sin(d) + (-1)*cos(d) + c)
----------
x = (cos(v))/((u)*sin(d) + (1)*cos(d) + c)
y = (sin(v))/((u)*sin(d) + (1)*cos(d) + c)
z = ((u)*cos(d) - (1)*sin(d))/((u)*sin(d) + (1)*cos(d) + c)
----------------------
-1 < u < 1 // 20 steps
0 < v < 2π // 40 steps


Hollow Tubes : 2:Iw(O)xy,±z
---------------------------
x = (cos(v))/((-1)*sin(d) + (u)*cos(d) + c)
y = (sin(v))/((-1)*sin(d) + (u)*cos(d) + c)
z = ((-1)*cos(d) - (u)*sin(d))/((-1)*sin(d) + (u)*cos(d) + c)
----------
x = (cos(v))/((1)*sin(d) + (u)*cos(d) + c)
y = (sin(v))/((1)*sin(d) + (u)*cos(d) + c)
z = ((1)*cos(d) - (u)*sin(d))/((1)*sin(d) + (u)*cos(d) + c)
----------------------
-1 < u < 1 // 20 steps
0 < v < 2π // 40 steps


Image

Some youtube vids while it was in calcplot:

https://youtu.be/WnGvmb0epZk

https://youtu.be/rSpAdzr7_o4
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Tue Jan 02, 2018 4:51 am

4D Cubic Pyramid

There are two distinct convex hulls of a cubic pyramid.

• The first and obvious one is a cube lacing to a single point, along a 4th axis. This is when we’re looking through the cube face, or apex-first. We can also see this in the 0° slice scan , when the cube shrinks to a point.

• The other is a square pyramid lacing to a square, along a 4th axis. This is when we’re looking through one of the six pyramid faces, and we see a smaller square in the center. We can also see this in the 45° slice scan , when the square pyramid truncates to a square (in a not-so-perfectly aligned angle, but it’s close)

I discovered the parametric equations of a cubic pyramid from messing around with the solid square equation, {u , v} | u,v ∈ [-1,1] . Trying random stuff, what got close was the form { uv , v }. So, I tried to shift things a little with { (v-1)u , v } , and voila, I got a right triangle. In thinking that I might have found the tapering function in parametric form, I tried it with a circle : { (v-1)cos(u) , (v-1)sin(u) , v } | v ∈ [-1,1] u ∈ [0,π] , and got the curved 2-cell of a cone.

Hmm, so what if I wrote { (t-1)u , (t-1)v , t } | u,v,t ∈ [-1,1] for a theoretical square pyramid equation? Not able to test it as a 3D solid, I tried messing with it, to make a 2 parameter equation, by removing ‘v’ : { (t-1)u , (t-1) , t } . This made a triangle, with a peculiar position in 3-space. It looked like it could be a face of a square pyramid.

Next, I did some sign changes like { (-t+1)u , (-t+1) , t } , and got another triangle, snapped perfectly into place. Now, add in the other 2 triangles, and the square (which scales by 2) , and I had myself a nice square pyramid.

Not only that, but those square and triangle equations can be further decomposed into the exact 1D edge equations in 3-space. Freaking whoa. It seems like I discovered a process to not only get a linear constructed parametric equation, but also derive all of the lower dimensional element equations out of it.

So, I applied the concept forward to the cubic pyramid, with amazing results, as you can see. I had no idea how I was going to line up those 12 triangles in 4-space. This just came to me from playing with stuff, and seeing patterns, and applying them to other things. The method is still highly experimental, since I have yet to make triangular diprism, pyramidal prism, tetrahedral prism, pentachoron, cylindrical pyramid, etc, etc ...

As with the cylindrical prism (cubinder), I also made this graph out of 2D and 1D pieces. I thought it might be neat to see what cubic pyramids of other proportions might look like ,too.

Things to think about when looking at the projections:

• Why does the cube get smaller and larger?

• Why does the apex move fast when the cube is small, and slower when it’s large?


Implicit Cartesian Equation:

|||x-y|+|x+y|-2z| + ||x-y|+|x+y|+2z| + 6w| + ||x-y|+|x+y|-2z| + ||x-y|+|x+y|+2z| = a

Parametric Equations :

All equations are r(x,y,z,w) | u,v,s,t ∈ [-1,1]

• 4D Element

1 Cubic Pyramid

{ (t-1)u , (t-1)v , (t-1)s , t }

• 3D Elements

1 Cube

{ 2u , 2v , 2s , -1 }

6 Square Pyramids

{ (t-1)u , (t-1)v , (t-1) , t }
{ (t-1)u , (t-1) , (t-1)s , t }
{ (t-1) , (t-1)v , (t-1)s , t }
{ (-t+1)u , (-t+1)v , (-t+1) , t }
{ (-t+1)u , (-t+1) , (-t+1)s , t }
( (-t+1) , (-t+1)v , (-t+1)s , t }

• 2D Elements

6 Squares:

{ 2u , 2v , ±2 , -1 }
{ 2u , ±2 , 2s , -1 }
{ ±2 , 2v , 2s , -1 }

12 Triangles:

{ (t-1)u , (t-1) , (t-1) , t }
{ (-t+1)u , (-t+1) , (t-1) , t }
{ (t-1) , (t-1) , (t-1)s , t }
{ (-t+1) , (t-1) , (-t+1)s , t }
{ (t-1) , (t-1)v , (t-1) , t }
{ (t-1) , (-t+1)v , (-t+1) , t }
{ (-t+1)u , (-t+1) , (-t+1) , t }
{ (t-1)u , (t-1) , (-t+1) , t }
{ (-t+1) , (-t+1) , (-t+1)s , t }
{ (t-1) , (-t+1) , (t-1)s , t }
{ (-t+1) , (-t+1)v , (-t+1) , t }
{ (-t+1) , (t-1)v , (t-1) , t }

• 1D Elements

12 Edges of the Base Cube :

{ 2u , ±2 , ±2 , -1 }
{ ±2 , 2v , ±2 , -1 }
{ ±2 , ±2 , 2s , -1 }

8 Tapering Edges :

{ t-1 , t-1 , t-1 , t }
{ t-1 , t-1 , -t+1 , t }
{ t-1 , -t+1 , t-1 , t }
{ -t+1 , t-1 , t-1 , t }
{ t-1 , -t+1 , -t+1 , t }
{ -t+1 , t-1 , -t+1 , t }
{ -t+1 , -t+1 , t-1 , t }
{ -t+1 , -t+1 , -t+1 , t }

• 0D Elements

8 Vertices of the Base Cube :

{ ±2 , ±2 , ±2 , -1 }

1 Vertex at the Apex :

{ 0 , 0 , 0 , 1 }




Then, rotate on plane XW with 'a', and project onto plane XYZ with camera distance 'c' :

x = ((x)*cos(a) - (w)*sin(a))/((x)*sin(a) + (w)*cos(a)+c)
y = (y)/((x)*sin(a) + (w)*cos(a)+c)
z = (z)/((x)*sin(a) + (w)*cos(a)+c)




==============================

Youtube vid in calcplot:

https://youtu.be/yyVh3VvnykY


A few animations:


Image

Cubic pyramid of 'normal' proportion. This is also the last time I use a white background, due to the visible static from gif conversion. But, not all animations were affected.




Image

A short and wide cubic pyramid, that has a much larger base length than its height.




Image

A tall and skinny cubic pyramid, that has a much taller height than its base edge length.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Tue Jan 02, 2018 11:15 pm

4D Triangle x Square Prism , 3-4 duoprism


Unit 3-4 Duoprism:
{ √3u(v-1) , 3v+1 , 2√3t , 2√3s } | u,v,t,s ∈ [-1,1]

-- edge length 4√3


Setting various combos of u,v,s,t to -1 and +1 will yield the parametric equations used in animation:

1D elements :

• 24 line segments
{ √3(t-1) , 3t+1 , ±2√3 , ±2√3 }
{ √3(-t+1) , 3t+1 , ±2√3 , ±2√3 }
{ 2t√3 , -2 , ±2√3 , ±2√3 }
{ ±2√3 , -2 , 2t√3 , ±2√3 }
{ 0 , 4 , 2t√3 , ±2√3 }
{ ±2√3 , -2 , ±2√3 , 2t√3 }
{ 0 , 4 , ±2√3 , 2t√3 }

2D elements :

• 4 triangles
{ u(v-1)√3 , 3v+1 , ±2√3 , ±2√3 }

• 15 squares
{ (u-1)√3 , 3u+1 , 2v√3 , ±2√3 }
{ (-u+1)√3 , 3u+1 , 2v√3 , ±2√3) }
{ 2u√3 , -2 , 2v√3 , ±2√3 }
{ (u-1)√3 , 3u+1 , ±2√3 , 2v√3 }
{ (-u+1)√3 , 3u+1 , ±2√3 , 2v√3 }
{ 2u√3 , -2 , ±2√3 , 2v√3 }
{ ±2√3 , -2 , 2u√3 , 2v√3 }
{ 0 , 4 , 2u√3 , 2v√3 }

-1 < t,u,v < 1



Projection onto plane xzw, with rotations xy , yz, ,yw :

• XY Rotation
{ (X)*cos(b)-(Y)*sin(b) , (X)*sin(b)+(Y)*cos(b) , Z , W }

• YZ Rotation
{ X , (Y)*cos(c) - (Z)*sin(c) , (Y)*sin(c) + (Z)*cos(c) , W }


• YW Rotation
{ X , (Y)*cos(d) - (W)*sin(d) , Z , (Y)*sin(d) + (W)*cos(d) }


• Project onto plane xzw
{ (X)/(Y+a) , (W)/(Y+a) , (Z)/(Y+a) }

• Use a = 9


Code: Select all
Building triangular diprism in 1D elements:

• 4 pairs of 3 triangle edges

1. { sqrt(3)(t-1)  , 3t+1 , -2*sqrt(3) , -2*sqrt(3) }

x = ((sqrt(3)(t-1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


2. { sqrt(3)(t-1)  , 3t+1 , -2*sqrt(3) ,  2*sqrt(3) }

x = ((sqrt(3)(t-1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)


3. { sqrt(3)(t-1)  , 3t+1 ,  2*sqrt(3) , -2*sqrt(3) }

x = ((sqrt(3)(t-1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


4. { sqrt(3)(t-1)  , 3t+1 ,  2*sqrt(3) ,  2*sqrt(3) }

x = ((sqrt(3)(t-1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(t-1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

----

5. { sqrt(3)(-t+1) , 3t+1 , -2*sqrt(3) , -2*sqrt(3) }

x = ((sqrt(3)(-t+1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


6. { sqrt(3)(-t+1) , 3t+1 , -2*sqrt(3) ,  2*sqrt(3) }

x = ((sqrt(3)(-t+1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)


7. { sqrt(3)(-t+1) , 3t+1 ,  2*sqrt(3) , -2*sqrt(3) }

x = ((sqrt(3)(-t+1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


8. { sqrt(3)(-t+1) , 3t+1 ,  2*sqrt(3) ,  2*sqrt(3) }

x = ((sqrt(3)(-t+1))*cos(b) - (3t+1)*sin(b))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(-t+1))*sin(b) + (3t+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

----

9.  { 2*sqrt(3)t    , -2   , -2*sqrt(3) , -2*sqrt(3) }

x = ((2*sqrt(3)t)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


10. { 2*sqrt(3)t    , -2   , -2*sqrt(3) ,  2*sqrt(3) }

x = ((2*sqrt(3)t)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)


11. { 2*sqrt(3)t    , -2   ,  2*sqrt(3) , -2*sqrt(3) }

x = ((2*sqrt(3)t)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


12. { 2*sqrt(3)t    , -2   ,  2*sqrt(3) ,  2*sqrt(3) }

x = ((2*sqrt(3)t)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((2*sqrt(3)t)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

--------

• 2 pairs of 3 extruding edges

13. { -2*sqrt(3) , -2 , 2*sqrt(3)t , -2*sqrt(3) }

x = ((-2*sqrt(3))*cos(b) - (-2)*sin(b))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((-2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)t)*cos(c))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


14. { -2*sqrt(3) , -2 , 2*sqrt(3)t ,  2*sqrt(3) }

x = ((-2*sqrt(3))*cos(b) - (-2)*sin(b))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((-2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)t)*cos(c))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)


15. {  2*sqrt(3) , -2 , 2*sqrt(3)t , -2*sqrt(3) }

x = ((2*sqrt(3))*cos(b) - (-2)*sin(b))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)t)*cos(c))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


16. {  2*sqrt(3) , -2 , 2*sqrt(3)t ,  2*sqrt(3) }

x = ((2*sqrt(3))*cos(b) - (-2)*sin(b))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)t)*cos(c))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

----

17. { 0          ,  4 , 2*sqrt(3)t , -2*sqrt(3) }

x = ((0)*cos(b) - (4)*sin(b))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((0)*sin(b) + (4)*cos(b))*sin(c) + (2*sqrt(3)t)*cos(c))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


18. { 0          ,  4 , 2*sqrt(3)t ,  2*sqrt(3) }

x = ((0)*cos(b) - (4)*sin(b))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((0)*sin(b) + (4)*cos(b))*sin(c) + (2*sqrt(3)t)*cos(c))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)t)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

--------

• 6 w-aligned edges

19. { -2*sqrt(3) , -2 , -2*sqrt(3) , 2*sqrt(3)t }

x = ((-2*sqrt(3))*cos(b) - (-2)*sin(b))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

y = ((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)t)*cos(d))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

z = (((-2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)


20. { -2*sqrt(3) , -2 ,  2*sqrt(3) , 2*sqrt(3)t }

x = ((-2*sqrt(3))*cos(b) - (-2)*sin(b))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

y = ((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)t)*cos(d))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

z = (((-2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)


21. {  2*sqrt(3) , -2 , -2*sqrt(3) , 2*sqrt(3)t }

x = ((2*sqrt(3))*cos(b) - (-2)*sin(b))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

y = ((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)t)*cos(d))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

z = (((2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)


22. {  2*sqrt(3) , -2 ,  2*sqrt(3) , 2*sqrt(3)t }

x = ((2*sqrt(3))*cos(b) - (-2)*sin(b))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

y = ((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)t)*cos(d))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

z = (((2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

----

23. { 0          ,  4 , -2*sqrt(3) , 2*sqrt(3)t }

x = ((0)*cos(b) - (4)*sin(b))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

y = ((((0)*sin(b) + (4)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)t)*cos(d))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

z = (((0)*sin(b) + (4)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)


24. { 0          ,  4 ,  2*sqrt(3) , 2*sqrt(3)t }

x = ((0)*cos(b) - (4)*sin(b))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

y = ((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)t)*cos(d))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)

z = (((0)*sin(b) + (4)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)t)*sin(d) +a)






Building triangular diprism in 2D elements:

rotate xy , yz , yw   //   project xzw

x = ((X)*cos(b) - (Y)*sin(b))/((((X)*sin(b) + (Y)*cos(b))*cos(c) - (Z)*sin(c))*cos(d) - (W)*sin(d) +a)

y = ((((X)*sin(b) + (Y)*cos(b))*cos(c) - (Z)*sin(c))*sin(d) + (W)*cos(d))/((((X)*sin(b) + (Y)*cos(b))*cos(c) - (Z)*sin(c))*cos(d) - (W)*sin(d) +a)

z = (((X)*sin(b) + (Y)*cos(b))*sin(c) + (Z)*cos(c))/((((X)*sin(b) + (Y)*cos(b))*cos(c) - (Z)*sin(c))*cos(d) - (W)*sin(d) +a)




• 4 triangles

1. { sqrt(3)(v-1)u , 3v+1 , -2*sqrt(3)  , -2*sqrt(3) }

x = ((sqrt(3)(v-1)u)*cos(b) - (3v+1)*sin(b))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


2. { sqrt(3)(v-1)u , 3v+1 , -2*sqrt(3)  ,  2*sqrt(3) }

x = ((sqrt(3)(v-1)u)*cos(b) - (3v+1)*sin(b))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)


3. { sqrt(3)(v-1)u , 3v+1 ,  2*sqrt(3)  , -2*sqrt(3) }

x = ((sqrt(3)(v-1)u)*cos(b) - (3v+1)*sin(b))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


4. { sqrt(3)(v-1)u , 3v+1 ,  2*sqrt(3)  ,  2*sqrt(3) }

x = ((sqrt(3)(v-1)u)*cos(b) - (3v+1)*sin(b))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(v-1)u)*sin(b) + (3v+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

----

• 6 squares

5. { sqrt(3)(u-1)  , 3u+1 ,  2*sqrt(3)v ,  -2*sqrt(3) }

x = ((sqrt(3)(u-1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*sin(c) + (2*sqrt(3)v)*cos(c))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


6. { sqrt(3)(u-1)  , 3u+1 ,  2*sqrt(3)v ,   2*sqrt(3) }

x = ((sqrt(3)(u-1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*sin(c) + (2*sqrt(3)v)*cos(c))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)


----

7. { sqrt(3)(-u+1) , 3u+1 ,  2*sqrt(3)v ,  -2*sqrt(3) }

x = ((sqrt(3)(-u+1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*sin(c) + (2*sqrt(3)v)*cos(c))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


8. { sqrt(3)(-u+1) , 3u+1 ,  2*sqrt(3)v ,   2*sqrt(3) }

x = ((sqrt(3)(-u+1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*sin(c) + (2*sqrt(3)v)*cos(c))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

----

9.  { 2*sqrt(3)u    , -2   ,  2*sqrt(3)v ,  -2*sqrt(3) }

x = ((2*sqrt(3)u)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*sin(d) + (-2*sqrt(3))*cos(d))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)v)*cos(c))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (-2*sqrt(3))*sin(d) +a)


10. { 2*sqrt(3)u    , -2   ,  2*sqrt(3)v ,   2*sqrt(3) }

x = ((2*sqrt(3)u)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

y = ((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*sin(d) + (2*sqrt(3))*cos(d))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

z = (((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)v)*cos(c))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)v)*sin(c))*cos(d) - (2*sqrt(3))*sin(d) +a)

----

• 2 pairs of 3 squares

11. { sqrt(3)(u-1)  , 3u+1 , -2*sqrt(3) , 2*sqrt(3)v }

x = ((sqrt(3)(u-1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)


12. { sqrt(3)(u-1)  , 3u+1 ,  2*sqrt(3) , 2*sqrt(3)v }

x = ((sqrt(3)(u-1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(u-1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

----

13. { sqrt(3)(-u+1) , 3u+1 , -2*sqrt(3) , 2*sqrt(3)v }

x = ((sqrt(3)(-u+1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)


14. { sqrt(3)(-u+1) , 3u+1 ,  2*sqrt(3) , 2*sqrt(3)v }

x = ((sqrt(3)(-u+1))*cos(b) - (3u+1)*sin(b))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((sqrt(3)(-u+1))*sin(b) + (3u+1)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

----

15. { 2*sqrt(3)u    , -2   , -2*sqrt(3) , 2*sqrt(3)v }

x = ((2*sqrt(3)u)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*sin(c) + (-2*sqrt(3))*cos(c))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (-2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)


16. { 2*sqrt(3)u    , -2   ,  2*sqrt(3) , 2*sqrt(3)v }

x = ((2*sqrt(3)u)*cos(b) - (-2)*sin(b))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3))*cos(c))/((((2*sqrt(3)u)*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3))*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

----


• 3 extruding squares

17. { -2*sqrt(3)    , -2   , 2*sqrt(3)u , 2*sqrt(3)v }

x = ((-2*sqrt(3))*cos(b) - (-2)*sin(b))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((-2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)u)*cos(c))/((((-2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)


18. {  2*sqrt(3)    , -2   , 2*sqrt(3)u , 2*sqrt(3)v }

x = ((2*sqrt(3))*cos(b) - (-2)*sin(b))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((2*sqrt(3))*sin(b) + (-2)*cos(b))*sin(c) + (2*sqrt(3)u)*cos(c))/((((2*sqrt(3))*sin(b) + (-2)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

----

19. { 0             ,  4   , 2*sqrt(3)u , 2*sqrt(3)v }

x = ((0)*cos(b) - (4)*sin(b))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

y = ((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*sin(d) + (2*sqrt(3)v)*cos(d))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)

z = (((0)*sin(b) + (4)*cos(b))*sin(c) + (2*sqrt(3)u)*cos(c))/((((0)*sin(b) + (4)*cos(b))*cos(c) - (2*sqrt(3)u)*sin(c))*cos(d) - (2*sqrt(3)v)*sin(d) +a)






Image
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Tue Jan 02, 2018 11:30 pm

4D Coninder


A cone prism isn’t nearly as spectacular as some of the other 4D shapes, but it has its merits. It’s a fairly simple shape, and fairly easy to visualize. You can think of it as a type of triangular prism in 4D. Just like a triangle, a cone is a pyramid-like shape, that tapers to a point along an axis. When you extrude such a thing into 4D, it traces out a triangular prism-like shape.

The original circle at the base of the cone gets extruded into a cylinder, and the vertex becomes a line segment. And, any time you extrude a shape into n+1 dimensions, you also get two copies of that starting shape at either ends of the prism. Plus, we can’t forget about the extruded curved 2-cell of the cone, which becomes a type of square horn torus.

So, that’s why we see a cylinder, 2 cones and a line segment in the projection. The cones and cylinder are flat sides, while the square horn torus is the only curved side, that connects the curved surfaces of the 2 cones and cylinder together.

As the cone prism rotates around in 4D, we see the shape through those different 3D faces:

• Cone within cone : we see a large cone connected to a smaller cone inside. The two cones are actually the same size, but one is farther away, across a 4th dimension.

• Cylinder connected to a line segment : we see a cylinder with squished cones connected to a line segment at the center. The cones are squished because they are pointing away, towards the 4th dimension, and we’re seeing them edge-on. But, notice how the cylinder and line segment angle has two different forms?

1) Big Cylinder, Small Line, Inward-pointing Cones: When we’re looking through the cylinder face, with a line segment at the center at the far side of the shape.

2) Small Cylinder, Big Line, Outward-pointing Cones : When the line is closest to our view, we’re looking at the blade of the wedge. From this vantage point, the line is much longer, connecting to a smaller cylinder across 4D, at the far side of the shape.

A cone prism can be built the following ways:

• Extrude a cone along a 4th axis
• Bisecting rotate a triangle prism around a stationary 2-plane into 4D
• Convex hull of a cylinder and line segment


----------------

Implicit Cartesian Equation:

||√(x²+y²) + 2z| + √(x²+y²) - 2w| + ||√(x²+y²) + 2z| + √(x²+y²) + 2w| = a

- A right cone prism


Parametric Equation:

r(x,y,z,w) = { (v-1)u*cos(t)√3 , (v-1)u*sin(t)√3 , 3v+1 , 2s√3 } ; u,v,s ∈ [-1,1] ; t ∈ [0,π]

- This parametric form is based on the bisecting rotation of an equilateral triangle into 3D, then extrusion into 4D. The extrusion distance is equal to the diameter of the circle base of the cone, 4√3 units. In other words: this is a unit edge/radius solid cone prism.

--------------


Parametrized 1D,2D elements used in the animation:

2D Elements

• 2 Curved Cone 2-Surfaces
{ (v-1)*cos(u)√3 , (v-1)*sin(u)√3 , 3v+1 , ±2√3 } | u∈[0,2π] ; v∈[-1,1]

• 2 Solid discs
{ 2v*cos(u)√3 , 2v*sin(u)√3 , -2 , ±2√3 } | u∈[0,π] ; v∈[-1,1]

• Hollow Tube
{ 2*cos(u)√3 , 2*sin(u)√3 , -2 , 2v√3} | u∈[0,2π] ; v∈[-1,1]

1D Elements
• 2 Circles
{ 2*cos(t)√3 , 2*sin(t)√3 , -2 , ±2√3 } | t∈[0,2π]

• Line Segment
{ 0 , 0 , 4 , 2t√3} | t∈[-1,1]

Rotation on plane zw , with projection onto plane xyz :

x = (X)/((Z)*sin(b) + (W)*cos(b)+a)
y = (Y)/((Z)*sin(b) + (W)*cos(b)+a)
z = ((Z)*cos(b) - (W)*sin(b))/((Z)*sin(b) + (W)*cos(b)+a)

• Use a = 8

• Rotate with b


Code: Select all
   1D Elements

• 2 Circles

1. { 2*sqrt(3)*cos(t) , 2*sqrt(3)*sin(t) , -2 , -2*sqrt(3) }

{ (2*sqrt(3)*cos(t))/((-2)*sin(b) + (-2*sqrt(3))*cos(b)+a) , (2*sqrt(3)*sin(t))/((-2)*sin(b) + (-2*sqrt(3))*cos(b)+a) , ((-2)*cos(b) - (-2*sqrt(3))*sin(b))/((-2)*sin(b) + (-2*sqrt(3))*cos(b)+a) }


2. { 2*sqrt(3)*cos(t) , 2*sqrt(3)*sin(t) , -2 ,  2*sqrt(3) }

{ (2*sqrt(3)*cos(t))/((-2)*sin(b) + (2*sqrt(3))*cos(b)+a) , (2*sqrt(3)*sin(t))/((-2)*sin(b) + (2*sqrt(3))*cos(b)+a) , ((-2)*cos(b) - (2*sqrt(3))*sin(b))/((-2)*sin(b) + (2*sqrt(3))*cos(b)+a) }


0 < t < 2π

-------

• Line Segment

3. { 0 , 0 , 4 , 2*sqrt(3)t}

{ (0)/((4)*sin(b) + (2*sqrt(3)t)*cos(b)+a) , (0)/((4)*sin(b) + (2*sqrt(3)t)*cos(b)+a) , ((4)*cos(b) - (2*sqrt(3)t)*sin(b))/((4)*sin(b) + (2*sqrt(3)t)*cos(b)+a) }


-1 < t < 1


--------------------


    2D Elements

• 2 Curved Cone 2-Surfaces

1. { sqrt(3)(v-1)*cos(u) , sqrt(3)(v-1)*sin(u) , 3v+1 , -2*sqrt(3) }

{ (sqrt(3)(v-1)*cos(u))/((3v+1)*sin(b) + (-2*sqrt(3))*cos(b)+a) , (sqrt(3)(v-1)*sin(u))/((3v+1)*sin(b) + (-2*sqrt(3))*cos(b)+a) , ((3v+1)*cos(b) - (-2*sqrt(3))*sin(b))/((3v+1)*sin(b) + (-2*sqrt(3))*cos(b)+a) }


2. { sqrt(3)(v-1)*cos(u) , sqrt(3)(v-1)*sin(u) , 3v+1 ,  2*sqrt(3) }

{ (sqrt(3)(v-1)*cos(u))/((3v+1)*sin(b) + (2*sqrt(3))*cos(b)+a) , (sqrt(3)(v-1)*sin(u))/((3v+1)*sin(b) + (2*sqrt(3))*cos(b)+a) , ((3v+1)*cos(b) - (2*sqrt(3))*sin(b))/((3v+1)*sin(b) + (2*sqrt(3))*cos(b)+a) }


0 < u < 2π , 40 steps //  -1 < v < 1 , 20 steps

-----
• 2 Solid discs

3. { 2*sqrt(3)v*cos(u)    , 2*sqrt(3)v*sin(u)    , -2 , -2*sqrt(3)   }

{ (2*sqrt(3)v*cos(u))/((-2)*sin(b) + (-2*sqrt(3))*cos(b)+a) , (2*sqrt(3)v*sin(u))/((-2)*sin(b) + (-2*sqrt(3))*cos(b)+a) , ((-2)*cos(b) - (-2*sqrt(3))*sin(b))/((-2)*sin(b) + (-2*sqrt(3))*cos(b)+a) }


4. { 2*sqrt(3)v*cos(u)    , 2*sqrt(3)v*sin(u)    , -2 ,  2*sqrt(3)   }

{ (2*sqrt(3)v*cos(u))/((-2)*sin(b) + (2*sqrt(3))*cos(b)+a) , (2*sqrt(3)v*sin(u))/((-2)*sin(b) + (2*sqrt(3))*cos(b)+a) , ((-2)*cos(b) - (2*sqrt(3))*sin(b))/((-2)*sin(b) + (2*sqrt(3))*cos(b)+a) }

0 < u < π  //  -1 < v < 1


-----

• Hollow Tube

5. { 2*sqrt(3)*cos(u) , 2*sqrt(3)*sin(u) , -2 , 2*sqrt(3)v}

{ (2*sqrt(3)*cos(u))/((-2)*sin(b) + (2*sqrt(3)v)*cos(b)+a) , (2*sqrt(3)*sin(u))/((-2)*sin(b) + (2*sqrt(3)v)*cos(b)+a) , ((-2)*cos(b) - (2*sqrt(3)v)*sin(b))/((-2)*sin(b) + (2*sqrt(3)v)*cos(b)+a) }


0 < u < 2π  //  -1 < v < 1




Image
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Thu Jan 04, 2018 2:18 am

4D Triangle x Triangle Prism


Here is the cartesian product of two equilateral triangles. Other names: 3-3 duoprism, triangular duoprism, and much lesser known duotrianglinder. Another way to make this shape is the convex hull of a triangle and a triangular prism, across a 4th axis.

A cool feature we can see is a discrete hopf fibration of two independent rings, of 3 triangular prisms each. In the ZW rotation, we see one ring of 3 getting turned inside out, while the second ring (of triangular prisms) is rolling in place like a smoke ring. A tesseract, by comparison, has two rings of 4 cubes each. And the 3-4 duoprism has a ring of 4 triangular prisms orthogonal to a ring of 3 cubes.



• Implicit Cartesian Equation:

|||x|+2y|+|x| - ||z|+2w|-|z|| + |||x|+2y|+|x| + ||z|+2w|+|z|| = a

Product of 2 right triangles



• Parametric Equation:

r(x,y,z,w) = { (v-1)u√3 , 3v+1 , (s-1)t√3 , 3s+1 } | u,v,t,s ∈ [-1,1]

Product of 2 equilateral triangles

-----------------------------

The 33 equations of the 1D and 2D elements used in animation:

• 6 triangles : u,v ∈ [-1,1]

{ sqrt(3)(v-1)u , 3v+1 , -2*sqrt(3) , -2 }
{ sqrt(3)(v-1)u , 3v+1 , 2*sqrt(3) , -2 }
{ sqrt(3)(v-1)u , 3v+1 , 0 , 4 }
{ -2*sqrt(3) , -2 , sqrt(3)(v-1)u , 3v+1 }
{ 2*sqrt(3) , -2 , sqrt(3)(v-1)u , 3v+1 }
{ 0 , 4 , sqrt(3)(v-1)u , 3v+1 }

• 9 squares : u,v ∈ [-1,1]

{ -sqrt(3)(u-1) , 3u+1 , -sqrt(3)(v-1) , 3v+1 }
{ -sqrt(3)(u-1) , 3u+1 , sqrt(3)(v-1) , 3v+1 }
{ -sqrt(3)(u-1) , 3u+1 , 2*sqrt(3)v , -2 }
{ sqrt(3)(u-1) , 3u+1 , -sqrt(3)(v-1) , 3v+1 }
{ sqrt(3)(u-1) , 3u+1 , sqrt(3)(v-1) , 3v+1 }
{ sqrt(3)(u-1) , 3u+1 , 2*sqrt(3)v , -2 }
{ 2*sqrt(3)u , -2 , -sqrt(3)(v-1) , 3v+1 }
{ 2*sqrt(3)u , -2 , sqrt(3)(v-1) , 3v+1 }
{ 2*sqrt(3)u , -2 , 2*sqrt(3)v , -2 }

• 18 edges : t ∈ [-1,1]
{ -sqrt(3)(t-1) , 3t+1 , -2*sqrt(3) , -2 }
{ -sqrt(3)(t-1) , 3t+1 , 2*sqrt(3) , -2 }
{ -sqrt(3)(t-1) , 3t+1 , 0 , 4 }
{ sqrt(3)(t-1) , 3t+1 , -2*sqrt(3) , -2 }
{ sqrt(3)(t-1) , 3t+1 , 2*sqrt(3) , -2 }
{ sqrt(3)(t-1) , 3t+1 , 0 , 4 }
{ 2*sqrt(3)t , -2 , -2*sqrt(3) , -2 }
{ 2*sqrt(3)t , -2 , 2*sqrt(3) , -2 }
{ 2*sqrt(3)t , -2 , 0 , 4 }
{ -2*sqrt(3) , -2 , -sqrt(3)(t-1) , 3t+1 }
{ -2*sqrt(3) , -2 , sqrt(3)(t-1) , 3t+1 }
{ -2*sqrt(3) , -2 , 2*sqrt(3)t , -2 }
{ 2*sqrt(3) , -2 , -sqrt(3)(t-1) , 3t+1 }
{ 2*sqrt(3) , -2 , sqrt(3)(t-1) , 3t+1 }
{ 2*sqrt(3) , -2 , 2*sqrt(3)t , -2 }
{ 0 , 4 , -sqrt(3)(t-1) , 3t+1 }
{ 0 , 4 , sqrt(3)(t-1) , 3t+1 }
{ 0 , 4 , 2*sqrt(3)t , -2 }


• Rotate on plane yw and zw, with projection on plane xyz:

x = (X)/((Z)*sin(c) + ((Y)*sin(b) + (W)*cos(b))*cos(c) + a)

y = ((Y)*cos(b) - (W)*sin(b))/((Z)*sin(c) + ((Y)*sin(b) + (W)*cos(b))*cos(c) + a)

z = ((Z)*cos(c) - ((Y)*sin(b) + (W)*cos(b))*sin(c))/((Z)*sin(c) + ((Y)*sin(b) + (W)*cos(b))*cos(c) + a)

You can use a=8 for a good perspective. Adjust b to rotate on yw , c to rotate on zw

--------------------

Code: Select all
1D Elements

• 18 edges:

1. { -sqrt(3)(t-1) , 3t+1 , -2*sqrt(3) , -2 }

x = (-sqrt(3)(t-1))/((-2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3t+1)*cos(b) - (-2)*sin(b))/((-2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((-2*sqrt(3))*cos(c) - ((3t+1)*sin(b) + (-2)*cos(b))*sin(c))/((-2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

2. { -sqrt(3)(t-1) , 3t+1 ,  2*sqrt(3) , -2 }

x = (-sqrt(3)(t-1))/((2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3t+1)*cos(b) - (-2)*sin(b))/((2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3))*cos(c) - ((3t+1)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

3. { -sqrt(3)(t-1) , 3t+1 ,         0  ,  4 }

x = (-sqrt(3)(t-1))/((0)*sin(c) + ((3t+1)*sin(b) + (4)*cos(b))*cos(c) + a)

y = ((3t+1)*cos(b) - (4)*sin(b))/((0)*sin(c) + ((3t+1)*sin(b) + (4)*cos(b))*cos(c) + a)

z = ((0)*cos(c) - ((3t+1)*sin(b) + (4)*cos(b))*sin(c))/((0)*sin(c) + ((3t+1)*sin(b) + (4)*cos(b))*cos(c) + a)

---
-------

4. {  sqrt(3)(t-1) , 3t+1 , -2*sqrt(3) , -2 }

x = (sqrt(3)(t-1))/((-2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3t+1)*cos(b) - (-2)*sin(b))/((-2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((-2*sqrt(3))*cos(c) - ((3t+1)*sin(b) + (-2)*cos(b))*sin(c))/((-2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

5. {  sqrt(3)(t-1) , 3t+1 ,  2*sqrt(3) , -2 }

x = (sqrt(3)(t-1))/((2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3t+1)*cos(b) - (-2)*sin(b))/((2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3))*cos(c) - ((3t+1)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3))*sin(c) + ((3t+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

6. {  sqrt(3)(t-1) , 3t+1 ,         0  ,  4 }

x = (sqrt(3)(t-1))/((0)*sin(c) + ((3t+1)*sin(b) + (4)*cos(b))*cos(c) + a)

y = ((3t+1)*cos(b) - (4)*sin(b))/((0)*sin(c) + ((3t+1)*sin(b) + (4)*cos(b))*cos(c) + a)

z = ((0)*cos(c) - ((3t+1)*sin(b) + (4)*cos(b))*sin(c))/((0)*sin(c) + ((3t+1)*sin(b) + (4)*cos(b))*cos(c) + a)

---

------

7. {  2*sqrt(3)t   ,  -2  , -2*sqrt(3) , -2 }

x = (2*sqrt(3)t)/((-2*sqrt(3))*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (-2)*sin(b))/((-2*sqrt(3))*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((-2*sqrt(3))*cos(c) - ((-2)*sin(b) + (-2)*cos(b))*sin(c))/((-2*sqrt(3))*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

8. {  2*sqrt(3)t   ,  -2  ,  2*sqrt(3) , -2 }

x = (2*sqrt(3)t)/((2*sqrt(3))*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (-2)*sin(b))/((2*sqrt(3))*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3))*cos(c) - ((-2)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3))*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

9. {  2*sqrt(3)t   ,  -2  ,         0  ,  4 }

x = (2*sqrt(3)t)/((0)*sin(c) + ((-2)*sin(b) + (4)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (4)*sin(b))/((0)*sin(c) + ((-2)*sin(b) + (4)*cos(b))*cos(c) + a)

z = ((0)*cos(c) - ((-2)*sin(b) + (4)*cos(b))*sin(c))/((0)*sin(c) + ((-2)*sin(b) + (4)*cos(b))*cos(c) + a)

---


------

10. { -2*sqrt(3) , -2 , -sqrt(3)(t-1) , 3t+1 }

x = (-2*sqrt(3))/((-sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3t+1)*sin(b))/((-sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

z = ((-sqrt(3)(t-1))*cos(c) - ((-2)*sin(b) + (3t+1)*cos(b))*sin(c))/((-sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

---

11. { -2*sqrt(3) , -2 ,  sqrt(3)(t-1) , 3t+1 }

x = (-2*sqrt(3))/((sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3t+1)*sin(b))/((sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(t-1))*cos(c) - ((-2)*sin(b) + (3t+1)*cos(b))*sin(c))/((sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

---

12. { -2*sqrt(3) , -2 ,  2*sqrt(3)t   , -2   }

x = (-2*sqrt(3))/((2*sqrt(3)t)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (-2)*sin(b))/((2*sqrt(3)t)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3)t)*cos(c) - ((-2)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3)t)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

------

13. {  2*sqrt(3) , -2 , -sqrt(3)(t-1) , 3t+1 }

x = (2*sqrt(3))/((-sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3t+1)*sin(b))/((-sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

z = ((-sqrt(3)(t-1))*cos(c) - ((-2)*sin(b) + (3t+1)*cos(b))*sin(c))/((-sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

---

14. {  2*sqrt(3) , -2 ,  sqrt(3)(t-1) , 3t+1 }

x = (2*sqrt(3))/((sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3t+1)*sin(b))/((sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(t-1))*cos(c) - ((-2)*sin(b) + (3t+1)*cos(b))*sin(c))/((sqrt(3)(t-1))*sin(c) + ((-2)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

---

15. {  2*sqrt(3) , -2 ,  2*sqrt(3)t   , -2   }

x = (2*sqrt(3))/((2*sqrt(3)t)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (-2)*sin(b))/((2*sqrt(3)t)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3)t)*cos(c) - ((-2)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3)t)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

------

16. {         0  ,  4 , -sqrt(3)(t-1) , 3t+1 }

x = (0)/((-sqrt(3)(t-1))*sin(c) + ((4)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

y = ((4)*cos(b) - (3t+1)*sin(b))/((-sqrt(3)(t-1))*sin(c) + ((4)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

z = ((-sqrt(3)(t-1))*cos(c) - ((4)*sin(b) + (3t+1)*cos(b))*sin(c))/((-sqrt(3)(t-1))*sin(c) + ((4)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

---

17. {         0  ,  4 ,  sqrt(3)(t-1) , 3t+1 }

x = (0)/((sqrt(3)(t-1))*sin(c) + ((4)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

y = ((4)*cos(b) - (3t+1)*sin(b))/((sqrt(3)(t-1))*sin(c) + ((4)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(t-1))*cos(c) - ((4)*sin(b) + (3t+1)*cos(b))*sin(c))/((sqrt(3)(t-1))*sin(c) + ((4)*sin(b) + (3t+1)*cos(b))*cos(c) + a)

---

18. {         0  ,  4 ,  2*sqrt(3)t   , -2   }

x = (0)/((2*sqrt(3)t)*sin(c) + ((4)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((4)*cos(b) - (-2)*sin(b))/((2*sqrt(3)t)*sin(c) + ((4)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3)t)*cos(c) - ((4)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3)t)*sin(c) + ((4)*sin(b) + (-2)*cos(b))*cos(c) + a)





---------------




2D Elements:



• 6 triangles: [ 2D elem A x 0D elem B ]  +  [ 0D elem A x 2D elem B ]

1. { sqrt(3)(v-1)u , 3v+1 , -2*sqrt(3) , -2 }

x = (sqrt(3)(v-1)u)/((-2*sqrt(3))*sin(c) + ((3v+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3v+1)*cos(b) - (-2)*sin(b))/((-2*sqrt(3))*sin(c) + ((3v+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((-2*sqrt(3))*cos(c) - ((3v+1)*sin(b) + (-2)*cos(b))*sin(c))/((-2*sqrt(3))*sin(c) + ((3v+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

2. { sqrt(3)(v-1)u , 3v+1 ,  2*sqrt(3) , -2 }

x = (sqrt(3)(v-1)u)/((2*sqrt(3))*sin(c) + ((3v+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3v+1)*cos(b) - (-2)*sin(b))/((2*sqrt(3))*sin(c) + ((3v+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3))*cos(c) - ((3v+1)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3))*sin(c) + ((3v+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---

3. { sqrt(3)(v-1)u , 3v+1 ,          0 ,  4 }

x = (sqrt(3)(v-1)u)/((0)*sin(c) + ((3v+1)*sin(b) + (4)*cos(b))*cos(c) + a)

y = ((3v+1)*cos(b) - (4)*sin(b))/((0)*sin(c) + ((3v+1)*sin(b) + (4)*cos(b))*cos(c) + a)

z = ((0)*cos(c) - ((3v+1)*sin(b) + (4)*cos(b))*sin(c))/((0)*sin(c) + ((3v+1)*sin(b) + (4)*cos(b))*cos(c) + a)

---
------

4. { -2*sqrt(3) , -2 , sqrt(3)(v-1)u , 3v+1 }

x = (-2*sqrt(3))/((sqrt(3)(v-1)u)*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3v+1)*sin(b))/((sqrt(3)(v-1)u)*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(v-1)u)*cos(c) - ((-2)*sin(b) + (3v+1)*cos(b))*sin(c))/((sqrt(3)(v-1)u)*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

5. {  2*sqrt(3) , -2 , sqrt(3)(v-1)u , 3v+1 }

x = (2*sqrt(3))/((sqrt(3)(v-1)u)*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3v+1)*sin(b))/((sqrt(3)(v-1)u)*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(v-1)u)*cos(c) - ((-2)*sin(b) + (3v+1)*cos(b))*sin(c))/((sqrt(3)(v-1)u)*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

6. {  0         ,  4 , sqrt(3)(v-1)u , 3v+1 }

x = (0)/((sqrt(3)(v-1)u)*sin(c) + ((4)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((4)*cos(b) - (3v+1)*sin(b))/((sqrt(3)(v-1)u)*sin(c) + ((4)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(v-1)u)*cos(c) - ((4)*sin(b) + (3v+1)*cos(b))*sin(c))/((sqrt(3)(v-1)u)*sin(c) + ((4)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---








• 9 squares: 1D elem A x 1D elem B

7. { -sqrt(3)(u-1) , 3u+1 , -sqrt(3)(v-1) , 3v+1 }

x = (-sqrt(3)(u-1))/((-sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((3u+1)*cos(b) - (3v+1)*sin(b))/((-sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((-sqrt(3)(v-1))*cos(c) - ((3u+1)*sin(b) + (3v+1)*cos(b))*sin(c))/((-sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

8. { -sqrt(3)(u-1) , 3u+1 ,  sqrt(3)(v-1) , 3v+1 }

x = (-sqrt(3)(u-1))/((sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((3u+1)*cos(b) - (3v+1)*sin(b))/((sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(v-1))*cos(c) - ((3u+1)*sin(b) + (3v+1)*cos(b))*sin(c))/((sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

9. { -sqrt(3)(u-1) , 3u+1 ,  2*sqrt(3)v   , -2   }

x = (-sqrt(3)(u-1))/((2*sqrt(3)v)*sin(c) + ((3u+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3u+1)*cos(b) - (-2)*sin(b))/((2*sqrt(3)v)*sin(c) + ((3u+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3)v)*cos(c) - ((3u+1)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3)v)*sin(c) + ((3u+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---
------

10. {  sqrt(3)(u-1) , 3u+1 , -sqrt(3)(v-1) , 3v+1 }

x = (sqrt(3)(u-1))/((-sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((3u+1)*cos(b) - (3v+1)*sin(b))/((-sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((-sqrt(3)(v-1))*cos(c) - ((3u+1)*sin(b) + (3v+1)*cos(b))*sin(c))/((-sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

11. {  sqrt(3)(u-1) , 3u+1 ,  sqrt(3)(v-1) , 3v+1 }

x = (sqrt(3)(u-1))/((sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((3u+1)*cos(b) - (3v+1)*sin(b))/((sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(v-1))*cos(c) - ((3u+1)*sin(b) + (3v+1)*cos(b))*sin(c))/((sqrt(3)(v-1))*sin(c) + ((3u+1)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

12. {  sqrt(3)(u-1) , 3u+1 ,  2*sqrt(3)v   , -2   }

x = (sqrt(3)(u-1))/((2*sqrt(3)v)*sin(c) + ((3u+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((3u+1)*cos(b) - (-2)*sin(b))/((2*sqrt(3)v)*sin(c) + ((3u+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3)v)*cos(c) - ((3u+1)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3)v)*sin(c) + ((3u+1)*sin(b) + (-2)*cos(b))*cos(c) + a)

---
------

13. {  2*sqrt(3)u   , -2   , -sqrt(3)(v-1) , 3v+1 }

x = (2*sqrt(3)u)/((-sqrt(3)(v-1))*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3v+1)*sin(b))/((-sqrt(3)(v-1))*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((-sqrt(3)(v-1))*cos(c) - ((-2)*sin(b) + (3v+1)*cos(b))*sin(c))/((-sqrt(3)(v-1))*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

14. {  2*sqrt(3)u   , -2   ,  sqrt(3)(v-1) , 3v+1 }

x = (2*sqrt(3)u)/((sqrt(3)(v-1))*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (3v+1)*sin(b))/((sqrt(3)(v-1))*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

z = ((sqrt(3)(v-1))*cos(c) - ((-2)*sin(b) + (3v+1)*cos(b))*sin(c))/((sqrt(3)(v-1))*sin(c) + ((-2)*sin(b) + (3v+1)*cos(b))*cos(c) + a)

---

15. {  2*sqrt(3)u   , -2   ,  2*sqrt(3)v   , -2   }

x = (2*sqrt(3)u)/((2*sqrt(3)v)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

y = ((-2)*cos(b) - (-2)*sin(b))/((2*sqrt(3)v)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

z = ((2*sqrt(3)v)*cos(c) - ((-2)*sin(b) + (-2)*cos(b))*sin(c))/((2*sqrt(3)v)*sin(c) + ((-2)*sin(b) + (-2)*cos(b))*cos(c) + a)

---




Image

Combined YW and ZW Rotation




Image

YW Rotation





Image

ZW Rotation
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Thu Jan 04, 2018 2:36 am

4D Tetrahedral Prism


If you remember how the rotating cone prism looked, and its similarity to a triangular prism, then this shape is an even better analogy. When it comes to extruding triangular things, the prism of a 3-simplex is the best fit for a 4D triangular prism.

To briefly explain, the surface of a tetrahedral prism is composed of 2 tetrahedra at the ends, joined by 4 triangular prisms stretched lengthwise. Looking through one of the tetrahedron cells, you will see another tetrahedron at the far end, which appears as a smaller copy in the center. You can also rotate the shape around (the ZW rotation), and look through one of the triangular prism faces. At this angle, you see a large triangle prism with a smaller line segment at the ‘far end’, towards the center.

Lacing together a triangular prism and a line segment will also yield 2 tetrahedra and 4 triangular prisms in total, as the alternate convex hull (opposed to 2 tetrahedra). This should be no surprise at all, though. If you were to consider (define?) a tetrahedron as a ‘point lacing to a triangle’, then extruding such a thing will lead to a ‘line lacing to triangular prism’ type of shape.

------

• Implicit Cartesian Equation:

||||x|+2y|+|x|+2z| + ||x|+2y|+|x| - 4w| + ||||x|+2y|+|x|+2z| + ||x|+2y|+|x| + 4w| = 10

- A prism of a tetrahedron with two right angles


• Parametric Equation:

r(x,y,z,w) = { -√3u(v-1)(t-1) , -(3v+1)(t-1) , 2√2(2t+1) , 4√3s } | u,v,t,s ∈ [-1,1]

- A unit tetrahedral prism with edge length 8√3



For these animations, I applied a rotation on plane YZ and ZW , and projected onto plane XYW by flattening the z-axis. The equation for that is:

x = (X)/(((Y)*sin(b) + (Z)*cos(b))*cos(c) - (W)*sin(c)+a)

y = ((Y)*cos(b) - (Z)*sin(b))/(((Y)*sin(b) + (Z)*cos(b))*cos(c) - (W)*sin(c)+a)

z = (((Y)*sin(b) + (Z)*cos(b))*sin(c) + (W)*cos(c))/(((Y)*sin(b) + (Z)*cos(b))*cos(c) - (W)*sin(c)+a)


- A good value for the camera distance ‘a’ is 15

- Use ‘b’ to rotate on plane YZ , ‘c’ to rotate on plane ZW


-------

Making the unit tetrahedron was the first time I really tested my process for ‘hollowing out’ the solid-form parametric equation, into 1D and 2D elements on the surface.


• 2D Faces, of triangles and squares

1. { 2√3(v-1)u , 6v+2 , -2√2 , -4√3 }
2. { √3(u-1)(v-1) , -(3u+1)(v-1) , 2√2(2v+1) , -4√3 }
3. { -√3(u-1)(v-1) , -(3u+1)(v-1) , 2√2(2v+1) , -4√3 }
4. { 2√3(v-1)u , 2(v-1) , 2√2(2v+1) , -4√3 }
5. { 2√3(v-1)u , 6v+2 , -2√2 , 4√3 }
6. { √3(u-1)(v-1) , -(3u+1)(v-1) , 2√2(2v+1) , 4√3 }
7. { -√3(u-1)(v-1) , -(3u+1)(v-1) , 2√2(2v+1) , 4√3 }
8. { 2√3(v-1)u , 2(v-1) , 2√2(2v+1) , 4√3 }
9. { 2√3(u-1) , 6u+2 , -2√2 , 4√3v }
10. { -2√3(u-1) , 6u+2 , -2√2 , 4√3v }
11. { 4√3u , -4 , -2√2 , 4√3v }
12. { 0 , -4(u-1) , 2√2(2u+1) , 4√3v }
13. { -2√3(u-1) , 2(u-1) , 2√2(2u+1) , 4√3v }
14. { 2√3(u-1) , 2(u-1) , 2√2(2u+1) , 4√3v }


• 1D Edges

1. { 2√3(t-1) , 6t+2 , -2√2 , -4√3 }
2. { -2√3(t-1) , 6t+2 , -2√2 , -4√3 }
3. { 4√3t , -4 , -2√2 , -4√3 }
4. { 0 , -4(t-1) , 2√2(2t+1) , -4√3 }
5. { -2√3(t-1) , 2(t-1) , 2√2(2t+1) , -4√3 }
6. { 2√3(t-1) , 2(t-1) , 2√2(2t+1) , -4√3 }
7. { 2√3(t-1) , 6t+2 , -2√2 , 4√3 }
8. { -2√3(t-1) , 6t+2 , -2√2 , 4√3 }
9. { 4√3t , -4 , -2√2 , 4√3 }
10. { 0 , -4(t-1) , 2√2(2t+1) , 4√3 }
11. { -2√3(t-1) , 2(t-1) , 2√2(2t+1) , 4√3 }
12. { 2√3(t-1) , 2(t-1) , 2√2(2t+1) , 4√3 }
13. { -4√3 , -4 , -2√2 , 4√3t }
14. { 4√3 , -4 , -2√2 , 4√3t }
15. { 0 , 8 , -2√2 , 4√3t }
16. { 0 , 0 , 6√2 , 4√3t }


-----------------------------

Code: Select all
Implement Rotate + Project Function with the 1D,2D elements for final equations:

1D Elements
------------
1. { 2*sqrt(3)(t-1) , 6t+2 , -2*sqrt(2) , -4*sqrt(3) }

x = (2*sqrt(3)(t-1))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((6t+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


2. { -2*sqrt(3)(t-1) , 6t+2 , -2*sqrt(2) , -4*sqrt(3) }

x = (-2*sqrt(3)(t-1))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((6t+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


3. { 4*sqrt(3)t , -4 , -2*sqrt(2) , -4*sqrt(3) }

x = (4*sqrt(3)t)/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((-4)*cos(b) - (-2*sqrt(2))*sin(b))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((-4)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


4. {  0 , -4(t-1) , 2*sqrt(2)(2t+1) , -4*sqrt(3) }

x = (0)/(((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((-4(t-1))*cos(b) - (2*sqrt(2)(2t+1))*sin(b))/(((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


5. { -2*sqrt(3)(t-1) , 2(t-1) , 2*sqrt(2)(2t+1) , -4*sqrt(3) }

x = (-2*sqrt(3)(t-1))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((2(t-1))*cos(b) - (2*sqrt(2)(2t+1))*sin(b))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


6. { 2*sqrt(3)(t-1) , 2(t-1) , 2*sqrt(2)(2t+1) , -4*sqrt(3) }

x = (2*sqrt(3)(t-1))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((2(t-1))*cos(b) - (2*sqrt(2)(2t+1))*sin(b))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

---

7. { 2*sqrt(3)(t-1) , 6t+2 , -2*sqrt(2) , 4*sqrt(3) }

x = (2*sqrt(3)(t-1))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((6t+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


8. { -2*sqrt(3)(t-1) , 6t+2 , -2*sqrt(2) , 4*sqrt(3) }

x = (-2*sqrt(3)(t-1))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((6t+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((6t+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


9. { 4*sqrt(3)t , -4 , -2*sqrt(2) , 4*sqrt(3) }

x = (4*sqrt(3)t)/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((-4)*cos(b) - (-2*sqrt(2))*sin(b))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((-4)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


10. { 0 , -4(t-1) , 2*sqrt(2)(2t+1) , 4*sqrt(3) }

x = (0)/(((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((-4(t-1))*cos(b) - (2*sqrt(2)(2t+1))*sin(b))/(((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((-4(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


11. { -2*sqrt(3)(t-1) , 2(t-1) , 2*sqrt(2)(2t+1) , 4*sqrt(3) }

x = (-2*sqrt(3)(t-1))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((2(t-1))*cos(b) - (2*sqrt(2)(2t+1))*sin(b))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


12. { 2*sqrt(3)(t-1) , 2(t-1) , 2*sqrt(2)(2t+1) , 4*sqrt(3) }

x = (2*sqrt(3)(t-1))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((2(t-1))*cos(b) - (2*sqrt(2)(2t+1))*sin(b))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((2(t-1))*sin(b) + (2*sqrt(2)(2t+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


---
13. { -4*sqrt(3) , -4 , -2*sqrt(2) , 4*sqrt(3)t }

x = (-4*sqrt(3))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

y = ((-4)*cos(b) - (-2*sqrt(2))*sin(b))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

z = (((-4)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)t)*cos(c))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)


14. { 4*sqrt(3) , -4 , -2*sqrt(2) , 4*sqrt(3)t }

x = (4*sqrt(3))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

y = ((-4)*cos(b) - (-2*sqrt(2))*sin(b))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

z = (((-4)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)t)*cos(c))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)


15. {  0 , 8 , -2*sqrt(2) , 4*sqrt(3)t }

x = (0)/(((8)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

y = ((8)*cos(b) - (-2*sqrt(2))*sin(b))/(((8)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

z = (((8)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)t)*cos(c))/(((8)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)


16. {  0 , 0 , 6*sqrt(2) , 4*sqrt(3)t }

x = (0)/(((0)*sin(b) + (6*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

y = ((0)*cos(b) - (6*sqrt(2))*sin(b))/(((0)*sin(b) + (6*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)

z = (((0)*sin(b) + (6*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)t)*cos(c))/(((0)*sin(b) + (6*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)t)*sin(c)+a)




------------

2D Elements
------------

1.{ 2*sqrt(3)(v-1)u , 6v+2 , -2*sqrt(2) , -4*sqrt(3) }

x = (2*sqrt(3)(v-1)u)/(((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((6v+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


2.{ sqrt(3)(u-1)(v-1), -(3u+1)(v-1), 2*sqrt(2)(2v+1), 4*sqrt(3) }

x = (sqrt(3)(u-1)(v-1))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((-(3u+1)(v-1))*cos(b) - (2*sqrt(2)(2v+1))*sin(b))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


3.{ -sqrt(3)(u-1)(v-1), -(3u+1)(v-1), 2*sqrt(2)(2v+1), -4*sqrt(3) }

x = (-sqrt(3)(u-1)(v-1))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((-(3u+1)(v-1))*cos(b) - (2*sqrt(2)(2v+1))*sin(b))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


4.{ 2*sqrt(3)(v-1)u , 2(v-1) , 2*sqrt(2)(2v+1) , -4*sqrt(3) }

x = (2*sqrt(3)(v-1)u)/(((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

y = ((2(v-1))*cos(b) - (2*sqrt(2)(2v+1))*sin(b))/(((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)

z = (((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*sin(c) + (-4*sqrt(3))*cos(c))/(((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (-4*sqrt(3))*sin(c)+a)


---
5. { 2*sqrt(3)(v-1)u , 6v+2 , -2*sqrt(2) , 4*sqrt(3) }

x = (2*sqrt(3)(v-1)u)/(((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((6v+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((6v+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


6. { sqrt(3)(u-1)(v-1) , -(3u+1)(v-1) , 2*sqrt(2)(2v+1), 4*sqrt(3) }

x = (sqrt(3)(u-1)(v-1))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((-(3u+1)(v-1))*cos(b) - (2*sqrt(2)(2v+1))*sin(b))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


7. { -sqrt(3)(u-1)(v-1) , -(3u+1)(v-1) , 2*sqrt(2)(2v+1) , 4*sqrt(3) }

x = (-sqrt(3)(u-1)(v-1))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((-(3u+1)(v-1))*cos(b) - (2*sqrt(2)(2v+1))*sin(b))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((-(3u+1)(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


8. { 2*sqrt(3)(v-1)u , 2(v-1) , 2*sqrt(2)(2v+1) , 4*sqrt(3) }

x = (2*sqrt(3)(v-1)u)/(((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

y = ((2(v-1))*cos(b) - (2*sqrt(2)(2v+1))*sin(b))/(((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)

z = (((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*sin(c) + (4*sqrt(3))*cos(c))/(((2(v-1))*sin(b) + (2*sqrt(2)(2v+1))*cos(b))*cos(c) - (4*sqrt(3))*sin(c)+a)


---
9. { 2*sqrt(3)(u-1) , 6u+2 , -2*sqrt(2) , 4*sqrt(3)v }

x = (2*sqrt(3)(u-1))/(((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

y = ((6u+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

z = (((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)v)*cos(c))/(((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)


10. { -2*sqrt(3)(u-1) , 6u+2 , -2*sqrt(2) , 4*sqrt(3)v }

x = (-2*sqrt(3)(u-1))/(((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

y = ((6u+2)*cos(b) - (-2*sqrt(2))*sin(b))/(((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

z = (((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)v)*cos(c))/(((6u+2)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)


11. { 4*sqrt(3)u , -4 , -2*sqrt(2) , 4*sqrt(3)v }

x = (4*sqrt(3)u)/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

y = ((-4)*cos(b) - (-2*sqrt(2))*sin(b))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

z = (((-4)*sin(b) + (-2*sqrt(2))*cos(b))*sin(c) + (4*sqrt(3)v)*cos(c))/(((-4)*sin(b) + (-2*sqrt(2))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)


12. { 0 , -4(u-1) , 2*sqrt(2)(2u+1) , 4*sqrt(3)v }

x = (0)/(((-4(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

y = ((-4(u-1))*cos(b) - (2*sqrt(2)(2u+1))*sin(b))/(((-4(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

z = (((-4(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*sin(c) + (4*sqrt(3)v)*cos(c))/(((-4(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)


13. { -2*sqrt(3)(u-1) , 2(u-1) , 2*sqrt(2)(2u+1), 4*sqrt(3)v }

x = (-2*sqrt(3)(u-1))/(((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

y = ((2(u-1))*cos(b) - (2*sqrt(2)(2u+1))*sin(b))/(((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

z = (((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*sin(c) + (4*sqrt(3)v)*cos(c))/(((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)


14. {  2*sqrt(3)(u-1) , 2(u-1) , 2*sqrt(2)(2u+1), 4*sqrt(3)v }

x = (2*sqrt(3)(u-1))/(((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

y = ((2(u-1))*cos(b) - (2*sqrt(2)(2u+1))*sin(b))/(((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)

z = (((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*sin(c) + (4*sqrt(3)v)*cos(c))/(((2(u-1))*sin(b) + (2*sqrt(2)(2u+1))*cos(b))*cos(c) - (4*sqrt(3)v)*sin(c)+a)





-----------------------


Image



Image



Image
Last edited by ICN5D on Thu Jan 04, 2018 11:41 pm, edited 1 time in total.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby Klitzing » Thu Jan 04, 2018 12:20 pm

all these animated gifs are truely great visualizations!
--- rk
Klitzing
Pentonian
 
Posts: 1642
Joined: Sun Aug 19, 2012 11:16 am
Location: Heidenheim, Germany

Re: Parametric Functions - A New Development

Postby Mercurial, the Spectre » Thu Jan 04, 2018 4:46 pm

Yeah, would love to see the 4D tori and the 5D sphere-circle duoprism
Mercurial, the Spectre
Trionian
 
Posts: 106
Joined: Mon Jun 19, 2017 9:50 am

Re: Parametric Functions - A New Development

Postby ICN5D » Thu Jan 04, 2018 11:39 pm

Klitzing wrote:all these animated gifs are truely great visualizations!
--- rk


They are pretty awesome, aren't they? I wanted to make these for years. I spent a lot of time learning to imagine these in my mind. And now I can see them for real!



Mercurial, the Spectre wrote:Yeah, would love to see the 4D tori and the 5D sphere-circle duoprism


I have all of the math figured out for projecting the 4D tori. I also nailed down a process to get a 3D projection of a rotating 4D slice of a 5D torus. Something that absolutely no one has seen, except for in the mind, of course!

But, this requires rendering in 3-manifolds (a 3D cubic array of points that fills 3-space). I have an idea for achieving this now with the current tools. I can approximate a 3-surface by combining several 2-surfaces in the proper way. It won't be too far fetched, since I'm used to writing a ton of functions now, for one plot. I pretty much will have to do this anyways for the sphone, spherinder, duocylinder, etc. I'll experiment when the time comes.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby ICN5D » Mon Jan 15, 2018 1:37 am

4D Hyperrectangular Tesseracts


Here’s a gallery of rotating rectangular tesseracts, of various proportions.

Also, here’s a Desmos Script, that let’s you play with rotating 3D rectangular prisms, with adjustable l x w x h .


Implicit Equation , for a hollow tesseract

||x-y|+|x+y| - |z-w|-|z+w|| + ||x-y|+|x+y| + |z-w|+|z+w|| = 1


Parametric Equation , for a solid tesseract

r(x,y,z,w) = { u , v , s , t } | u,v,s,t ∈ [-1,1]

--------------

The 1D and 2D elements have very simple equations:

1D Edges : cubic arrays of 8 line segments, aligned to 4 coordinate axes

{ t , ±1 , ±1 , ±1 }
{ ±1 , t , ±1 , ±1 }
{ ±1 , ±1 , t , ±1 }
{ ±1 , ±1 , ±1 , t }

t ∈ [-1,1]


2D Faces : square arrays of 4 squares, aligned to 6 coordinate 2-planes

{ u , v , ±1 , ±1 }
{ u , ±1 , v , ±1 }
{ u , ±1 , ±1 , v }
{ ±1 , u , v , ±1 }
{ ±1 , u , ±1 , v }
{ ±1 , ±1 , u , v }

u,v ∈ [-1,1]


---------

• The rotate function on plane zw:

{ X , Y , (Z)*cos(a)-(W)*sin(a) , (Z)*sin(a)+(W)*cos(a) }


• Project onto plane XYZ:

x = (X)/(W+3)

y = (Y)/(W+3)

z = (Z)/(W+3)


---------

I made the rectangular versions by using 3 extra parameters multiplied/divided by the parametric equations:

{ b*u , v/b , c*t , d*s }

Where, you can use (b,c,d) to set proportions like:

(1,1,1) - 1:1:1:1
(2,1,1) - 1:4:2:2
(1,2,1) - 1:1:2:1
(1,1,2) - 1:1:1:2
(1,0.5,0.5) - 2:2:1:1
(0.5,1,2) - 1:4:2:4
(2.5,1,2) - 25:4:10:20
(1,2.25,1) - 4:4:9:4
(1,.25,1) - 4:4:1:4

There are still more possibilities than these 4, but they were among the coolest looking.



--------------------------------

Code: Select all
• Implement ZW Rotation + XYZ Projection to Edge equations

x = (X)/((Z)*sin(a)+(W)*cos(a)+3)

y = (Y)/((Z)*sin(a)+(W)*cos(a)+3)

z = ((Z)*cos(a)-(W)*sin(a))/((Z)*sin(a)+(W)*cos(a)+3)




1. { b*t , -1/b , -c , -d }

x = (b*t)/((-c)*sin(a)+(-d)*cos(a)+3)

y = (-1/b)/((-c)*sin(a)+(-d)*cos(a)+3)

z = ((-c)*cos(a)-(-d)*sin(a))/((-c)*sin(a)+(-d)*cos(a)+3)


2. { b*t , -1/b ,  c , -d }

x = (b*t)/((c)*sin(a)+(-d)*cos(a)+3)

y = (-1/b)/((c)*sin(a)+(-d)*cos(a)+3)

z = ((c)*cos(a)-(-d)*sin(a))/((c)*sin(a)+(-d)*cos(a)+3)


3. { b*t ,  1/b , -c , -d }

x = (b*t)/((-c)*sin(a)+(-d)*cos(a)+3)

y = (1/b)/((-c)*sin(a)+(-d)*cos(a)+3)

z = ((-c)*cos(a)-(-d)*sin(a))/((-c)*sin(a)+(-d)*cos(a)+3)


4. { b*t ,  1/b ,  c , -d }

x = (b*t)/((c)*sin(a)+(-d)*cos(a)+3)

y = (1/b)/((c)*sin(a)+(-d)*cos(a)+3)

z = ((c)*cos(a)-(-d)*sin(a))/((c)*sin(a)+(-d)*cos(a)+3)

--

5. { b*t , -1/b , -c , d }

x = (b*t)/((-c)*sin(a)+(d)*cos(a)+3)

y = (-1/b)/((-c)*sin(a)+(d)*cos(a)+3)

z = ((-c)*cos(a)-(d)*sin(a))/((-c)*sin(a)+(d)*cos(a)+3)


6. { b*t , -1/b ,  c , d }

x = (b*t)/((c)*sin(a)+(d)*cos(a)+3)

y = (-1/b)/((c)*sin(a)+(d)*cos(a)+3)

z = ((c)*cos(a)-(d)*sin(a))/((c)*sin(a)+(d)*cos(a)+3)


7. { b*t ,  1/b , -c , d }

x = (b*t)/((-c)*sin(a)+(d)*cos(a)+3)

y = (1/b)/((-c)*sin(a)+(d)*cos(a)+3)

z = ((-c)*cos(a)-(d)*sin(a))/((-c)*sin(a)+(d)*cos(a)+3)


8. { b*t ,  1/b ,  c , d }

x = (b*t)/((c)*sin(a)+(d)*cos(a)+3)

y = (1/b)/((c)*sin(a)+(d)*cos(a)+3)

z = ((c)*cos(a)-(d)*sin(a))/((c)*sin(a)+(d)*cos(a)+3)

-------

9. { -b , t/b , -c , -d }

x = (-b)/((-c)*sin(a)+(-d)*cos(a)+3)

y = (t/b)/((-c)*sin(a)+(-d)*cos(a)+3)

z = ((-c)*cos(a)-(-d)*sin(a))/((-c)*sin(a)+(-d)*cos(a)+3)


10. { -b , t/b ,  c , -d }

x = (-b)/((c)*sin(a)+(-d)*cos(a)+3)

y = (t/b)/((c)*sin(a)+(-d)*cos(a)+3)

z = ((c)*cos(a)-(-d)*sin(a))/((c)*sin(a)+(-d)*cos(a)+3)


11. {  b , t/b , -c , -d }

x = (b)/((-c)*sin(a)+(-d)*cos(a)+3)

y = (t/b)/((-c)*sin(a)+(-d)*cos(a)+3)

z = ((-c)*cos(a)-(-d)*sin(a))/((-c)*sin(a)+(-d)*cos(a)+3)


12. {  b , t/b ,  c , -d }

x = (b)/((c)*sin(a)+(-d)*cos(a)+3)

y = (t/b)/((c)*sin(a)+(-d)*cos(a)+3)

z = ((c)*cos(a)-(-d)*sin(a))/((c)*sin(a)+(-d)*cos(a)+3)


---
13. { -b , t/b , -c ,  d }

x = (-b)/((-c)*sin(a)+(d)*cos(a)+3)

y = (t/b)/((-c)*sin(a)+(d)*cos(a)+3)

z = ((-c)*cos(a)-(d)*sin(a))/((-c)*sin(a)+(d)*cos(a)+3)


14. { -b , t/b ,  c ,  d }

x = (-b)/((c)*sin(a)+(d)*cos(a)+3)

y = (t/b)/((c)*sin(a)+(d)*cos(a)+3)

z = ((c)*cos(a)-(d)*sin(a))/((c)*sin(a)+(d)*cos(a)+3)


15. {  b , t/b , -c ,  d }

x = (b)/((-c)*sin(a)+(d)*cos(a)+3)

y = (t/b)/((-c)*sin(a)+(d)*cos(a)+3)

z = ((-c)*cos(a)-(d)*sin(a))/((-c)*sin(a)+(d)*cos(a)+3)


16. {  b , t/b ,  c ,  d }

x = (b)/((c)*sin(a)+(d)*cos(a)+3)

y = (t/b)/((c)*sin(a)+(d)*cos(a)+3)

z = ((c)*cos(a)-(d)*sin(a))/((c)*sin(a)+(d)*cos(a)+3)


-------
17. { -b , -1/b , c*t , -d }

x = (-b)/((c*t)*sin(a)+(-d)*cos(a)+3)

y = (-1/b)/((c*t)*sin(a)+(-d)*cos(a)+3)

z = ((c*t)*cos(a)-(-d)*sin(a))/((c*t)*sin(a)+(-d)*cos(a)+3)


18. { -b ,  1/b , c*t , -d }

x = (-b)/((c*t)*sin(a)+(-d)*cos(a)+3)

y = (1/b)/((c*t)*sin(a)+(-d)*cos(a)+3)

z = ((c*t)*cos(a)-(-d)*sin(a))/((c*t)*sin(a)+(-d)*cos(a)+3)


19. {  b , -1/b , c*t , -d }

x = (b)/((c*t)*sin(a)+(-d)*cos(a)+3)

y = (-1/b)/((c*t)*sin(a)+(-d)*cos(a)+3)

z = ((c*t)*cos(a)-(-d)*sin(a))/((c*t)*sin(a)+(-d)*cos(a)+3)


20. {  b ,  1/b , c*t , -d }

x = (b)/((c*t)*sin(a)+(-d)*cos(a)+3)

y = (1/b)/((c*t)*sin(a)+(-d)*cos(a)+3)

z = ((c*t)*cos(a)-(-d)*sin(a))/((c*t)*sin(a)+(-d)*cos(a)+3)


---
21. { -b , -1/b , c*t ,  d }

x = (-b)/((c*t)*sin(a)+(d)*cos(a)+3)

y = (-1/b)/((c*t)*sin(a)+(d)*cos(a)+3)

z = ((c*t)*cos(a)-(d)*sin(a))/((c*t)*sin(a)+(d)*cos(a)+3)


22. { -b ,  1/b , c*t ,  d }

x = (-b)/((c*t)*sin(a)+(d)*cos(a)+3)

y = (1/b)/((c*t)*sin(a)+(d)*cos(a)+3)

z = ((c*t)*cos(a)-(d)*sin(a))/((c*t)*sin(a)+(d)*cos(a)+3)


23. {  b , -1/b , c*t ,  d }

x = (b)/((c*t)*sin(a)+(d)*cos(a)+3)

y = (-1/b)/((c*t)*sin(a)+(d)*cos(a)+3)

z = ((c*t)*cos(a)-(d)*sin(a))/((c*t)*sin(a)+(d)*cos(a)+3)


24. {  b ,  1/b , c*t ,  d }

x = (b)/((c*t)*sin(a)+(d)*cos(a)+3)

y = (1/b)/((c*t)*sin(a)+(d)*cos(a)+3)

z = ((c*t)*cos(a)-(d)*sin(a))/((c*t)*sin(a)+(d)*cos(a)+3)


-------
25. { -b , -1/b , -c , d*t }

x = (-b)/((-c)*sin(a)+(d*t)*cos(a)+3)

y = (-1/b)/((-c)*sin(a)+(d*t)*cos(a)+3)

z = ((-c)*cos(a)-(d*t)*sin(a))/((-c)*sin(a)+(d*t)*cos(a)+3)


26. { -b ,  1/b , -c , d*t }

x = (-b)/((-c)*sin(a)+(d*t)*cos(a)+3)

y = (1/b)/((-c)*sin(a)+(d*t)*cos(a)+3)

z = ((-c)*cos(a)-(d*t)*sin(a))/((-c)*sin(a)+(d*t)*cos(a)+3)


27. {  b , -1/b , -c , d*t }

x = (b)/((-c)*sin(a)+(d*t)*cos(a)+3)

y = (-1/b)/((-c)*sin(a)+(d*t)*cos(a)+3)

z = ((-c)*cos(a)-(d*t)*sin(a))/((-c)*sin(a)+(d*t)*cos(a)+3)


28. {  b ,  1/b , -c , d*t }

x = (b)/((-c)*sin(a)+(d*t)*cos(a)+3)

y = (1/b)/((-c)*sin(a)+(d*t)*cos(a)+3)

z = ((-c)*cos(a)-(d*t)*sin(a))/((-c)*sin(a)+(d*t)*cos(a)+3)


---
29. { -b , -1/b ,  c , d*t }

x = (-b)/((c)*sin(a)+(d*t)*cos(a)+3)

y = (-1/b)/((c)*sin(a)+(d*t)*cos(a)+3)

z = ((c)*cos(a)-(d*t)*sin(a))/((c)*sin(a)+(d*t)*cos(a)+3)


30. { -b ,  1/b ,  c , d*t }

x = (-b)/((c)*sin(a)+(d*t)*cos(a)+3)

y = (1/b)/((c)*sin(a)+(d*t)*cos(a)+3)

z = ((c)*cos(a)-(d*t)*sin(a))/((c)*sin(a)+(d*t)*cos(a)+3)


31. {  b , -1/b ,  c , d*t }

x = (b)/((c)*sin(a)+(d*t)*cos(a)+3)

y = (-1/b)/((c)*sin(a)+(d*t)*cos(a)+3)

z = ((c)*cos(a)-(d*t)*sin(a))/((c)*sin(a)+(d*t)*cos(a)+3)


32. {  b ,  1/b ,  c , d*t }

x = (b)/((c)*sin(a)+(d*t)*cos(a)+3)

y = (1/b)/((c)*sin(a)+(d*t)*cos(a)+3)

z = ((c)*cos(a)-(d*t)*sin(a))/((c)*sin(a)+(d*t)*cos(a)+3)

=======================================

• 2D Faces

{ b*u , v/b , ±c , ±d }
{ b*u , ±1/b , c*v , ±d }
{ b*u , ±1/b , ±c , d*v }
{ ±b , u/b , c*v , ±d }
{ ±b , u/b , ±c , d*v }
{ ±b , ±1/b , c*u , d*v }

Expanded 2D Faces Equations

1. { b*u , v/b , -c , -d }
2. { b*u , v/b , -c ,  d }
3. { b*u , v/b ,  c , -d }
4. { b*u , v/b ,  c ,  d }
---
5. { b*u , -1/b , c*v , -d }
6. { b*u , -1/b , c*v ,  d }
7. { b*u ,  1/b , c*v , -d }
8. { b*u ,  1/b , c*v ,  d }
---
9. { b*u , -1/b , -c , d*v }
10. { b*u , -1/b ,  c , d*v }
11. { b*u ,  1/b , -c , d*v }
12. { b*u ,  1/b ,  c , d*v }
---
13. { -b , u/b , c*v , -d }
14. { -b , u/b , c*v ,  d }
15. {  b , u/b , c*v , -d }
16. {  b , u/b , c*v ,  d }
---
17. { -b , u/b , -c , d*v }
18. { -b , u/b ,  c , d*v }
19. {  b , u/b , -c , d*v }
20. {  b , u/b ,  c , d*v }
---
21. { -b , -1/b , c*u , d*v }
22. { -b ,  1/b , c*u , d*v }
23. {  b , -1/b , c*u , d*v }
24. {  b ,  1/b , c*u , d*v }



• Implement ZW Rotation + XYZ Projection to Square equations

x = (X)/((Z)*sin(a)+(W)*cos(a)+3)

y = (Y)/((Z)*sin(a)+(W)*cos(a)+3)

z = ((Z)*cos(a)-(W)*sin(a))/((Z)*sin(a)+(W)*cos(a)+3)


1. { b*u , v/b , -c , -d }

x = (b*u)/((-c)*sin(a)+(-d)*cos(a)+3)

y = (v/b)/((-c)*sin(a)+(-d)*cos(a)+3)

z = ((-c)*cos(a)-(-d)*sin(a))/((-c)*sin(a)+(-d)*cos(a)+3)


2. { b*u , v/b , -c ,  d }

x = (b*u)/((-c)*sin(a)+(d)*cos(a)+3)

y = (v/b)/((-c)*sin(a)+(d)*cos(a)+3)

z = ((-c)*cos(a)-(d)*sin(a))/((-c)*sin(a)+(d)*cos(a)+3)


3. { b*u , v/b ,  c , -d }

x = (b*u)/((c)*sin(a)+(-d)*cos(a)+3)

y = (v/b)/((c)*sin(a)+(-d)*cos(a)+3)

z = ((c)*cos(a)-(-d)*sin(a))/((c)*sin(a)+(-d)*cos(a)+3)


4. { b*u , v/b ,  c ,  d }

x = (b*u)/((c)*sin(a)+(d)*cos(a)+3)

y = (v/b)/((c)*sin(a)+(d)*cos(a)+3)

z = ((c)*cos(a)-(d)*sin(a))/((c)*sin(a)+(d)*cos(a)+3)


---
5. { b*u , -1/b , c*v , -d }

x = (b*u)/((c*v)*sin(a)+(-d)*cos(a)+3)

y = (-1/b)/((c*v)*sin(a)+(-d)*cos(a)+3)

z = ((c*v)*cos(a)-(-d)*sin(a))/((c*v)*sin(a)+(-d)*cos(a)+3)


6. { b*u , -1/b , c*v ,  d }

x = (b*u)/((c*v)*sin(a)+(d)*cos(a)+3)

y = (-1/b)/((c*v)*sin(a)+(d)*cos(a)+3)

z = ((c*v)*cos(a)-(d)*sin(a))/((c*v)*sin(a)+(d)*cos(a)+3)


7. { b*u ,  1/b , c*v , -d }

x = (b*u)/((c*v)*sin(a)+(-d)*cos(a)+3)

y = (1/b)/((c*v)*sin(a)+(-d)*cos(a)+3)

z = ((c*v)*cos(a)-(-d)*sin(a))/((c*v)*sin(a)+(-d)*cos(a)+3)


8. { b*u ,  1/b , c*v ,  d }

x = (b*u)/((c*v)*sin(a)+(d)*cos(a)+3)

y = (1/b)/((c*v)*sin(a)+(d)*cos(a)+3)

z = ((c*v)*cos(a)-(d)*sin(a))/((c*v)*sin(a)+(d)*cos(a)+3)


---
9. { b*u , -1/b , -c , d*v }

x = (b*u)/((-c)*sin(a)+(d*v)*cos(a)+3)

y = (-1/b)/((-c)*sin(a)+(d*v)*cos(a)+3)

z = ((-c)*cos(a)-(d*v)*sin(a))/((-c)*sin(a)+(d*v)*cos(a)+3)


10. { b*u , -1/b ,  c , d*v }

x = (b*u)/((c)*sin(a)+(d*v)*cos(a)+3)

y = (-1/b)/((c)*sin(a)+(d*v)*cos(a)+3)

z = ((c)*cos(a)-(d*v)*sin(a))/((c)*sin(a)+(d*v)*cos(a)+3)


11. { b*u ,  1/b , -c , d*v }

x = (b*u)/((-c)*sin(a)+(d*v)*cos(a)+3)

y = (1/b)/((-c)*sin(a)+(d*v)*cos(a)+3)

z = ((-c)*cos(a)-(d*v)*sin(a))/((-c)*sin(a)+(d*v)*cos(a)+3)


12. { b*u ,  1/b ,  c , d*v }

x = (b*u)/((c)*sin(a)+(d*v)*cos(a)+3)

y = (1/b)/((c)*sin(a)+(d*v)*cos(a)+3)

z = ((c)*cos(a)-(d*v)*sin(a))/((c)*sin(a)+(d*v)*cos(a)+3)


---
13. { -b , u/b , c*v , -d }

x = (-b)/((c*v)*sin(a)+(-d)*cos(a)+3)

y = (u/b)/((c*v)*sin(a)+(-d)*cos(a)+3)

z = ((c*v)*cos(a)-(-d)*sin(a))/((c*v)*sin(a)+(-d)*cos(a)+3)


14. { -b , u/b , c*v ,  d }

x = (-b)/((c*v)*sin(a)+(d)*cos(a)+3)

y = (u/b)/((c*v)*sin(a)+(d)*cos(a)+3)

z = ((c*v)*cos(a)-(d)*sin(a))/((c*v)*sin(a)+(d)*cos(a)+3)


15. {  b , u/b , c*v , -d }

x = (b)/((c*v)*sin(a)+(-d)*cos(a)+3)

y = (u/b)/((c*v)*sin(a)+(-d)*cos(a)+3)

z = ((c*v)*cos(a)-(-d)*sin(a))/((c*v)*sin(a)+(-d)*cos(a)+3)


16. {  b , u/b , c*v ,  d }

x = (b)/((c*v)*sin(a)+(d)*cos(a)+3)

y = (u/b)/((c*v)*sin(a)+(d)*cos(a)+3)

z = ((c*v)*cos(a)-(d)*sin(a))/((c*v)*sin(a)+(d)*cos(a)+3)


---
17. { -b , u/b , -c , d*v }

x = (-b)/((-c)*sin(a)+(d*v)*cos(a)+3)

y = (u/b)/((-c)*sin(a)+(d*v)*cos(a)+3)

z = ((-c)*cos(a)-(d*v)*sin(a))/((-c)*sin(a)+(d*v)*cos(a)+3)


18. { -b , u/b ,  c , d*v }

x = (-b)/((c)*sin(a)+(d*v)*cos(a)+3)

y = (u/b)/((c)*sin(a)+(d*v)*cos(a)+3)

z = ((c)*cos(a)-(d*v)*sin(a))/((c)*sin(a)+(d*v)*cos(a)+3)


19. {  b , u/b , -c , d*v }

x = (b)/((-c)*sin(a)+(d*v)*cos(a)+3)

y = (u/b)/((-c)*sin(a)+(d*v)*cos(a)+3)

z = ((-c)*cos(a)-(d*v)*sin(a))/((-c)*sin(a)+(d*v)*cos(a)+3)


20. {  b , u/b ,  c , d*v }

x = (b)/((c)*sin(a)+(d*v)*cos(a)+3)

y = (u/b)/((c)*sin(a)+(d*v)*cos(a)+3)

z = ((c)*cos(a)-(d*v)*sin(a))/((c)*sin(a)+(d*v)*cos(a)+3)


---
21. { -b , -1/b , c*u , d*v }

x = (-b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

y = (-1/b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

z = ((c*u)*cos(a)-(d*v)*sin(a))/((c*u)*sin(a)+(d*v)*cos(a)+3)


22. { -b ,  1/b , c*u , d*v }

x = (-b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

y = (1/b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

z = ((c*u)*cos(a)-(d*v)*sin(a))/((c*u)*sin(a)+(d*v)*cos(a)+3)


23. {  b , -1/b , c*u , d*v }

x = (b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

y = (-1/b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

z = ((c*u)*cos(a)-(d*v)*sin(a))/((c*u)*sin(a)+(d*v)*cos(a)+3)


24. {  b ,  1/b , c*u , d*v }

x = (b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

y = (1/b)/((c*u)*sin(a)+(d*v)*cos(a)+3)

z = ((c*u)*cos(a)-(d*v)*sin(a))/((c*u)*sin(a)+(d*v)*cos(a)+3)



--------------------------------




Image

The 1 : 1 : 1 : 1 tesseract that everyone knows and loves




Image

The 9 : 1 : 3 : 3 hyperrectangle





Image

The 4 : 4 : 9 : 4 hyperrectangle





Image

The 4 : 4 : 1 : 4 hyperrectangle





Image

The 25 : 4 : 10 : 20 hyperrectangle
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby quickfur » Tue Jan 30, 2018 8:18 pm

Awesome animations!

Now the next challenge is, implement 4D visibility clipping. ;) :lol:

Well, OK, maybe a lesser challenge is to render a rotating 120-cell. That one's always my favorite.
quickfur
Pentonian
 
Posts: 3004
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

Re: Parametric Functions - A New Development

Postby ICN5D » Wed Jan 31, 2018 2:35 am

Thanks, man. I'd love to make the 24-cell and 120-cell, but those are outside my abilities at the moment. Plus, I'd likely have to upgrade rendering programs to something like Matlab. Currently used Calcplot has worked out great for most things, but I think I've reached its limit with projecting shapes. I'll still use it for toratope slices, though.

Say quickfur, do you have any knowledge of generating 4dVEF files? The creator of these animations is interested in a joint project to make higher quality versions of my recent gifs. I've taken a look at these VEF files, and figured out how they work. I can make one now (I think ...), but it will be very labor intensive, with no way to double check myself. Just curious if you have any experience in these.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby quickfur » Fri Feb 02, 2018 12:36 am

What are 4dVEF files? If you can point me to a spec, or an example, I should be able to write a script to automatically export my 4D models to that format.

If you're talking about Stella4D files, I already have a script that can do that. Just let me know which polytopes you want, and I'll post them. :D (Note that Stella4D itself already comes with a good number of the well-known shapes already.)

I do not recommend coding these things up by hand. Things like the members of the 120-cell family polytopes have insane numbers of elements, and you will give your wrists an acute aneurysm if you try to code them up by hand! (Not to mention the high chance of mistyping something.)
quickfur
Pentonian
 
Posts: 3004
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

Re: Parametric Functions - A New Development

Postby quickfur » Fri Feb 02, 2018 12:40 am

Hmm. Are you by any chance referring to this format? If so, you're in luck, since exporting to that format should be trivial to implement. :)
quickfur
Pentonian
 
Posts: 3004
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

Re: Parametric Functions - A New Development

Postby ICN5D » Fri Feb 02, 2018 3:05 am

quickfur wrote:Hmm. Are you by any chance referring to this format? If so, you're in luck, since exporting to that format should be trivial to implement. :)



Yes! That's the one. It labels vertices as "index 1,2,3, etc. " , then labels edges, triangles and squares as multiples of the indices. Here's one for the tesseract:

Code: Select all

16
-1   -1   -1   -1
-1   -1   -1   1
-1   -1   1   -1
-1   -1   1   1
-1   1   -1   -1
-1   1   -1   1
-1   1   1   -1
-1   1   1   1
1   -1   -1   -1
1   -1   -1   1
1   -1   1   -1
1   -1   1   1
1   1   -1   -1
1   1   -1   1
1   1   1   -1
1   1   1   1
32
0   2
2   3
3   1
1   0
0   4
4   5
5   1
4   6
6   2
0   8
8   9
9   1
8   10
10   2
8   12
12   4
6   7
7   5
7   3
10   11
11   3
9   11
9   13
13   5
12   13
12   14
14   10
14   6
14   15
15   13
15   11
15   7
24
4   0   2   3   1
4   0   4   5   1
4   0   4   6   2
4   0   8   9   1
4   0   8   10   2
4   0   8   12   4
4   4   6   7   5
4   2   6   7   3
4   1   5   7   3
4   2   10   11   3
4   1   9   11   3
4   1   9   13   5
4   8   10   11   9
4   8   12   13   9
4   8   12   14   10
4   4   12   13   5
4   4   12   14   6
4   2   10   14   6
4   12   14   15   13
4   10   14   15   11
4   9   13   15   11
4   6   14   15   7
4   5   13   15   7
4   3   11   15   7




So, then it sounds like this is easy to implement. I guess what I'm looking for are files like this, for all of the shapes on this thread. What would be super useful is encoding curved surfaces like cone prism, triangle*circle prism, cubinder, (n-gon*circle) , etc. I can get the vertices of the polytopes (triangle*triangle, tetrahedral prism, etc) if that's necessary.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby quickfur » Fri Feb 02, 2018 4:25 pm

The problem is, how do you encode curved surfaces? The format is explicitly dealing with polytopes, i.e., stuff with vertices, edges, faces, and so on. Nothing that can be used to express a curved surface.

Of course, you can approximate a curved surface by breaking it into many pieces, e.g., the cubinder can be approximated by a 4,n-duoprism for sufficiently large n. Just how large, depends on what you want to do with it.

And btw, the triangle-square product is just a 3,4-duoprism (I even have animations of it on that page). :) Similarly, the triangle-triangle product is just a 3,3-duoprism (also with animation :lol:).

The duoprisms are an interesting bunch; if you take the limit of a 4,n-duoprism as n approaches infinity, you get a cubinder. But you don't need to be restricted to a 4-fold polygon. A 3,n-duoprism with n taken to infinity gives you a cute little thing that's essentially a triangle-circle product; it contains 3 cylinders in a loop, and a toroidal surface with a triangular cross-section. Similarly, with a 5,n-duoprism taken to its limit, you get something with 5 cylinders in a loop and a toroidal surface with a pentagonal cross-section. Any m,n-duoprism can be used, of course, by fixing m and allowing n to approach infinity. Most interestingly of all, if you allow both m and n to approach infinity, you get a duocylinder. :nod:

These particular derivations also indicate that m,n-duoprisms are good approximations for shapes like the cubinder, the n-circle products, and the duocylinder. In fact, the images I have on my website for these shapes are essentially m,n-duoprisms with some polygon-smoothing effects added to hide the fact that the "curved" surfaces are actually polygonal approximations. :lol:
quickfur
Pentonian
 
Posts: 3004
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

Re: Parametric Functions - A New Development

Postby ICN5D » Sun Feb 04, 2018 1:15 am

quickfur wrote:Of course, you can approximate a curved surface by breaking it into many pieces, e.g., the cubinder can be approximated by a 4,n-duoprism for sufficiently large n. Just how large, depends on what you want to do with it.


Yes, that's it. Just define it as an m,30-duoprism or something around there.

quickfur wrote:And btw, the triangle-square product is just a 3,4-duoprism (I even have animations of it on that page). :) Similarly, the triangle-triangle product is just a 3,3-duoprism (also with animation :lol:).


I recently learned of the m,n-duoprism definition from browsing wikipedia, and felt like I should upload the gifs there, too! I'd like to make more of the m,circle prisms with my current method, since I can't go beyond the 4,4-duorpism yet (don't know the pentagon equation in parametric ...)


-----------


So, about generating these files: are they relatively easy, or is there a decent learning curve to the program? If you think you can whip one up, for a triangle*circle, or a cubinder, then I'll gladly accept it. Or, I can learn to use the code and program. Perhaps even both!
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Parametric Functions - A New Development

Postby quickfur » Mon Feb 05, 2018 5:39 am

The thing is, I already have models of several m,n-duoprisms for my own website, so it's trivial to convert these models to the format you request, it's just a matter of transcribing data. And I also have tools for generating models of duoprisms for any given m and n, optionally with uniformity (all edges equal length). So I could just generate them and convert to the requested format, once I write the tool for converting them.
quickfur
Pentonian
 
Posts: 3004
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North


Return to Other Geometry

Who is online

Users browsing this forum: No registered users and 2 guests

cron