MoI discussion forum
MoI discussion forum

Full Version: Conformal Mapping to the Torus

Show messages:  1-15  16-35  36-45

From: bemfarmer
18 Feb 2019   [#36]
Here is a .nod file with a macro for the "TennisBallClosedCurve" on a sphere.
The parametric formula comes from the Paul Bourke site, but was modified to yield lobes from 1 on up. (credit to be revealed later.)
- Brian

Attachments:
TennisBallCurve.zip


From: bemfarmer
21 Feb 2019   [#37]
Credit to Stephane Laurent, for more or less comprehensible Hopf Torus explanations and actual code.
Of his 5 blog examples, the first 3 are "fair", and the 4th is spot-on. The 5th is for the tennis ball curve, is without code, and the
formula as I coded it is off, probably due to the association of the number of lobes with t (?). (Another forum with "Silver" had partial similar data.
Link to #4 is:
https://laustep.github.io/stlahblog/posts/HopfTorusParametric.html

So I coded the trigonometry curve around a circle, and also the sinusoidal curve. They are very similar.
The tennis ball curve (only) was previously posted.

To coding in nodeeditor, so far I used only 3 points, for each lifted curve point, and so created MoI4beta 3 point circles, rather than plot many circle points.
The 3 points for each circle are at phi = 0, 2PI/3, and 4PI/3. Also 3 curves were created for these 3 angles, for network.
After running the .nod assembly, MoI was used manually.

Unfortunately network did not work for the 3 curves plus the many circles. I may try coding for one lobe, with more network curves...
Loft only worked for 1/3 + of the circles, which were for only one lobe, +a couple of circles. Then circular array (3) was used with some trimming and join, or boolean union. A solid resulted.
So conformal mapping, (more or less?), of say hexagons, is supposed to be possible, somehow. Provided half of the length of the sphere curve, and half of the sphere area (somehow related to the sphere curve) (= 1/4 the sphere area), match up with the hexagon parallelogram grid. The sphere curves examples are symmetric about the equator, so split the area into 1/2 of 4*PI*r*r. So probably the length of the sphere curve would need to be adjusted by the shape parameter. There is said to be a sphere curve for any parallelogram...

- Brian
(See post 41 for updated Hopf torus generator.)

Please consider the attached hopf .nod to be alpha.
There are 3 different sphere closed curve macros in the .nod, one of which is to be wired in at a time.
The tennis ball code is defective.
Other closed sphere curves could be coded, and inserted.

Sullivan, Pinkall, and Banchoff all have papers, but the math is very difficult to understand.
They say that geometry can be done, but do not say how...

Attachments:
GreenHopfTorus.zip
PurpleHopfTorus03.zip


From: bemfarmer
21 Feb 2019   [#38] In reply to [#37]
The tennis ball curve needs to have p3(t) renamed p1(t), and placed at the top of the 3 coordinates.
p2(t) needs to be renamed p3(t), and moved down to the 3rd coordinate.
The former p1(t) needs to be renamed p2(t), and moved down to the 2nd coordinate.

Somehow, before, the 3rd network curve was not hooked up in the correct order, or something, with my coding... (Why?)
The basic tennis ball curve seemed to have been rotated(?).

This yields a more rounded lobular hopf torus projection.
Will attempt the surface tonight, no time now.

- Brian
From: bemfarmer
22 Feb 2019   [#39] In reply to [#38]
Here is an update of the hopf node, with the tennis ball curve equation corrected, and hooked up.
It is currently set to 3 lobes, with only 3 "90ish degree" "network curves. For 4 lobes, only 3 "90degree" network curves are made, with one differently sized...
I'm going to learn how to do a dozen or two dozen of these "90degree" network curves, in nodeeditor, probably for only one lobe, and try out network.
Also the number or angles are to be made compatible with the number of lobes...

- Brian
(See post 41 for updated Hopf torus generator.)
From: bemfarmer
22 Feb 2019   [#40] In reply to [#39]
Dividing t by n permits one lobe creation, which lofts and circular arrays, and joins to a solid, for the trig curve, and for the sinusoid curve, all done in nodeeditor!

The tennis curve also yields a solid. Its one lobe t range is 0 to 2*n*PI/n.

- Brian
From: bemfarmer
23 Feb 2019   [#41] In reply to [#40]
Here is a slight update to the Hopf torus .nod.

The three spherical curve versions are switchable. A 3+ input switch would be nice... Also a double throw, triple pole switch...

The trig and sinusoid formulas make the same, or nearly the same Hopf torus, if their inputs are the same.

One lobe is calculated, lofted, circular arrayed, and joined, to a solid.

The number of total lobes can be 1, 2, 3, 4, ...
The shape factor can be adjusted.
The number of circles generated can be adjusted by numpoints.

A second set of 20 or so network curves has not been done yet.

- Brian

Attachments:
ParametricHopfTorus_3Versions01.zip


From: bemfarmer
25 Feb 2019   [#42]
For one lobe, without loft, with just the many circles, LINEWEB, curve version, can be applied to the circles.
Then, by selecting all of the circles and lineweb curves, NETWORK will produce a surface, but had slight wrinkles in the center area.
Circular array works, but join does not. Boolean union of the 3 circular array lobes, will make the 3 lobe solid, but with the slight wrinkles still present.
The loft version looks better.
- Brian
From: bemfarmer
27 Feb 2019   [#43] In reply to [#42]
The ElasticaSpherical3 script can be used to create a closed curve on the sphere.
For 4 lobes, the correct one quarter of this curve will make one lobe, but is must be oriented correctly.
The one that I used is similar to a portion of the tennis ball curve, which was used to orient the elastica curve portion correctly.
The curve was colored "coral", and the node "Get by style" (set to color coral), will select it, and then Karsten's mPath_array will yield points, for input into the previously posted spherically projected Hopf generator, including loft, circular array, and manual boolean union to a solid.
A nice looking 4lobe R3 Hopf solid resulted.
The correct orientation may be that the north pole of the 3 sphere is in the correct orientation for the spherical projection.
- Brian

(The beginning coral colored qtr spherical elastica, oriented, is inside the emerald Hopf solid.)

Attachments:
SphereElastic_Hopf4lobeOriented.zip


From: bemfarmer
3 Mar 2019   [#44]
MathPts node is not drawing single lobes the same as one lobe of multiple lobes, so something must be corrected...

Also the angle of the lobe must be determined. Looks line 30 degrees rotation around y towards z (?)

- Brian

The problem is using only 21 points for the full curve, and only 21 points for the partial curve.
From: bemfarmer
5 Mar 2019   [#45]
Network of numerous circle curves, and numerous lineweb curves, perhaps 100+ each, makes a smooth looking lobe, without the "wrinkles".
So a .nod of lineweb will be helpful, so as to maintain ordering of the input circle curves. Reconstruct curve should be a good model(?) It may take a few days...
- Brian

Show messages:  1-15  16-35  36-45