MoI discussion forum
MoI discussion forum

Full Version: Scherk's second minimal surface script

Show messages:  1-5  6-25  26-34

From: TOM (SIRTOM)
20 Jul 2017   [#26] In reply to [#25]
Thnak you Brian, as I see it is not easy I will see if I succeed !
From: bemfarmer
20 Jul 2017   [#27] In reply to [#26]
For the Scherk2 surface, the equation of a hyperbola in quadrant 1, with vertex at radius of 1 unit, is x*y = 1.
Points (x,y) which produce a z value are contained within the 4 hyperbolic curves.
(In contrast, the Scherk1 surface has a rectangular x,y source, so it was easier to program.)

I think that FXGraph3D could use a numpoints input(?)
From: TOM (SIRTOM)
20 Jul 2017   [#28] In reply to [#27]
For a mathematician layman what you say is a bit like a Mandarin dialect ;-)
But I am trying to decipher your explanation !
From: bemfarmer
20 Jul 2017   [#29] In reply to [#28]
https://en.wikipedia.org/wiki/Hyperbolic_function

For a hyperbola, angle theta is not used, instead u is used, and is an area.
(For a circle, angle = 2*Area, so either can be used.)

- Brian

http://www.clayton.k12.mo.us/cms/lib/MO01000419/Centricity/Domain/241/ArticleHandout.pdf
From: bemfarmer
24 Jul 2017   [#30]
The implicit equation did not work out very well, due to "poles," but here is the classic Weierstrass parameterization, as per Wikipedia.
The surface which results is the same as for the _Scherk2 long .js, .htm script, but lacks symmetry at two ends,
at least partly due to the lack of numpoints parameter in _FXGraph3d (?). So I prefer the long script, after processing, for the Scherk tower approximation.
The FXGraph3d version comes in two halves, due to the exclusion of zero, and replacement with .0001.
The .8 can be increased in value, if U and V count are increased.
The two halves can be networked and joined, offset, edge swept, and joined to a solid, for a super "pringle". A few Fillet tries did not work.

Scherk2WFirstHalf01
_FxGraph3D log((1+u*u+2*u*cos(v)) / (1+u*u-2*u*cos(v))); log((1+u*u-2*u*sin(v)) / (1+u*u+2*u*sin(v))); 2*atan((2*u*u*sin(2*v)) / (u*u*u*u - 1));0;0.8;0.0001;3.141592653589793;21;21;1;;;UV

Scherk2WSecondHalf01
_FxGraph3D log((1+u*u+2*u*cos(v)) / (1+u*u-2*u*cos(v))); log((1+u*u-2*u*sin(v)) / (1+u*u+2*u*sin(v))); 2*atan((2*u*u*sin(2*v)) / (u*u*u*u - 1));0;0.8;0.0001;-3.141592653589793;21;21;1;;;UV

- Brian
From: TOM (SIRTOM)
24 Jul 2017   [#31] In reply to [#30]
Unbelieeeeeeeeeeeevable !!

How did you manage to out this formula together ... hats off
and thank you very much, Brian !!
From: mkdm
24 Jul 2017   [#32] In reply to [#30]
Thanks a lot Brian!

Very handy formula!!

Mathematics, this almost unknown "savage beast"...for me! (sigh)




Bye!
From: bemfarmer
24 Jul 2017   [#33] In reply to [#31]
Thank's Tom and Marco.
The equations, as shown in Wikipedia, https://en.wikipedia.org/wiki/Scherk_surface, are the same as in the Scherk2 script.

The equations are the comprehensible result of some mathematician managing to integrate the nearly
incomprehensible Weierstrass–Enneper parameterization.
https://en.wikipedia.org/wiki/Weierstrass%E2%80%93Enneper_parameterization

For some other minimal surfaces, like Costa and Gyroid (I think), the integration must be done numerically, programmed with some
program like Mathematica. The programs create a triangle mesh, not NURBS.

- Brian

This Half version looks better, and uses zero. It can be Networked.

Scherk2WWalfToRotate01
_FxGraph3D log((1+u*u+2*u*cos(v)) / (1+u*u-2*u*cos(v))); log((1+u*u-2*u*sin(v)) / (1+u*u+2*u*sin(v))); 2*atan((2*u*u*sin(2*v)) / (u*u*u*u - 1));0;0.8;0;3.141592653589793;24;48;1;;;UV
From: TOM (SIRTOM)
24 Jul 2017   [#34] In reply to [#33]
"nearly incomprehensible Weierstrass–Enneper parameterization"

From my perspective, what you have posted already looks pretty sophitiscated ;-)

Downloaded the last version- Thank you very much !!

Show messages:  1-5  6-25  26-34