MoI discussion forum
MoI discussion forum

Full Version: [script] FxGraph - 2D/3D Function plotter

Show messages:  1-11  12-31  32-51  52-71  72-91

From: wastzzz
21 Jan 2014   [#12]
Epic, funny and useful! Thank you.
From: Max Smirnov (SMIRNOV)
22 Jan 2014   [#13]
v1.2d
- [Added] R(t)3D mode. Add ^ symbol at the beginning of a R(t) formula to draw 3D graph.

^pow(t,a)/pow(10,2*a-2);-100;100;500;3

From: Frenchy Pilou (PILOU)
22 Jan 2014   [#14] In reply to [#13]
Born of the 3D world! ;)


From: Max Smirnov (SMIRNOV)
6 Sep 2014   [#15]
This is my new script - FxGraph3D which allows drawing 3D parametric surfaces.
x = X(u,v), y = Y(u,v), z = Z(u,v), where u,v are the parametric domain parameters.




Here is some interesting parametric equations.
http://msenux.redwoods.edu/Math4Textbook/Plotting/ParametricSurfaces.pdf
From: Michael Gibson
6 Sep 2014   [#16] In reply to [#15]
Very cool Max!

- Michael
From: wastzzz
7 Sep 2014   [#17] In reply to [#15]
Thank you!
From: Max Smirnov (SMIRNOV)
7 Sep 2014   [#18]
Version 1.0
Changes since 0.6:
[fixed] some bugs
[added] Command line parameters support. Click X(u,v), Y(u,v) or Z(u,v) label to copy values to the clipboard.

Examples:
_FxGraph3D (u);(v);rnd;-10;10;-10;10;10;15;;;;U
_FxGraph3D u*a+rnd-0.5;v*b+rnd-0.5;rnd*c-c/2;-10;10;-10;10;50;50;2;2;40;P
_FxGraph3D 2*(1-exp(u/(6*pi)))*cos(u)*cos(v/2)*cos(v/2);2*(-1+exp(u/(6*pi)))*sin(u)*cos(v/2)*cos(v/2);1-exp(u/(3*pi))-sin(v)+exp(u/(6*pi))*sin(v);0;20;0;6.283185307179586;50;50;;;;V
_FxGraph3D (2+v*sin(u))*sin(2*pi*v);v*cos(u);(2+v*sin(u))*cos(2*pi*v)+2*v-v;0;3.14;0;1.3;50;50;;;;V
_FxGraph3D sin(u);cos(u);u*u/300;0;60;0;1.3;100;0;;;;V

Michael, Thank you!
From: jotero (TOROLF)
7 Sep 2014   [#19]
Hello all :)

It's nice and what do do with the curves?

X():cos(2*u)*cos(v) + 1.0 *cos(u)
Y():sin(v)
Z():-sin(2*u)*cos(v) + 1.0*sin(u)

[u]:0, 2*pi
[v]:0, 2*pi

And how do I get now to my mathematical NURBS model...?

http://imaginary.org/gallery/k3dsurf

Cu
Torolf
From: Frenchy Pilou (PILOU)
7 Sep 2014   [#20]
Cool!
French version ; ) http://moiscript.weebly.com/fx-graph-3d.html


From: bemfarmer
7 Sep 2014   [#21]
Very nice script!

Fermat Spiral:
_FxGraph3D a*c*sqrt(v)*cos(v);b*c*sqrt(v)*sin(v);0;0;1;0;6.283185307179586;0;50;1;1;1;UV

This can be pasted to the command window in Moi.
1. Highlight and CTRL-C the entire Fermat Spiral equation line above, _FxGraph3D...;UV
2. In Moi, press TAB key, and CTRL-V paste, then press Return. Voila

The a, b, and c values will scale the curve.
A negative c will rotate the curve.
A negative a and positive b will Mirror the curve.
a, b, and c are not really needed, as Moi can do these actions already.

- Brian

I just did a Fermat Spiral script, but can now delete it :-)
Or add some bells and whistles.


Image Attachments:
FermatYinYang.PNG 


From: Max Smirnov (SMIRNOV)
7 Sep 2014   [#22]
Sphere
_FxGraph3D cos(u)*cos(v)*a;sin(u)*cos(v)*b;sin(v)*c;0;6.283185307179586;-1.5707963267948966;1.5707963267948966;50;50;1;1;1;V

Torus
_FxGraph3D cos(u)*(cos(v)+a/b)*b;sin(u)*(cos(v)+a/b)*b;sin(v)*b;-3.141592653589793;3.141592653589793;-3.141592653589793;3.141592653589793;50;50;20;10;;UV

Spiral
_FxGraph3D cos(u/c)*(cos(v)+a/b)*b;sin(u/c)*(cos(v)+a/b)*b;sin(v)*b+u;0;50;0;6.283185307179586;100;20;10;3;2;UV

Conic Spiral
_FxGraph3D cos(u)*(u/(a*pi)*cos(v)+b)*c;sin(u)*(u/(a*pi)*cos(v)+b)*c;u*sin(v)/(a*pi)*c;0;9.42477796076938;0;6.283185307179586;100;20;1.5;5;1;U

Knot
_FxGraph3D cos(u)*cos(v)+c*cos(u)*(b+sin(u*a)/2);sin(u)*cos(v)+c*sin(u)*(b+sin(a*u)/2);sin(v)+2*cos(a*u);0;18.84955592153876;0;6.283185307179586;300;10;1.666666;2;3;UV

Dini's Surface
_FxGraph3D cos(u)*sin(v);sin(u)*sin(v);cos(v)+log(tan(v/2))+a*u;0;12.566370614359172;0.1;2;300;10;0.3;;;U

Enneper surface
_FxGraph3D u*cos(v)-pow(u,2*a-1)/(2*a-1)*cos((2*a-1)*v);-u*sin(v)-pow(u,2*a-1)/(2*a-1)*sin((2*a-1)*v);2/a*pow(u,a)*cos(a*v);0;1.2;0;6.283185307179586;50;27;4;;;UV
From: bemfarmer
7 Sep 2014   [#23] In reply to [#22]
Maybe someone could come up with a repository for these formulas,
an easy place to copy them from, ... in Moi , or someplace like the object library?

- Brian
From: Max Smirnov (SMIRNOV)
7 Sep 2014   [#24]
Version 1.1beta
Changes since 1.0:
[added] Surface modes (beta): SrfV and SrfU. Use it carefully. Sometimes it can hang MoI for up to a few minutes.


>>Maybe someone could come up with a repository for these formulas, an easy place to copy them from, ... in Moi , or someplace like the object library?
Hi Brian!
It's good idea. I'll think about it.
From: bemfarmer
7 Sep 2014   [#25]
Golden Logarithmic Spiral, also known as equiangular spiral, and Spira Mirabilis.
For growth factor b = 0.306349 (approx.), the Golden Spiral is formed, for angles in radians.
a is a scale factor.
c is the number of "coils."
_FxGraph3D a*cos(c*v)*exp(b*c*v);a*sin(c*v)*exp(b*c*v);0;0;1;0;6.283185307179586;0;50;1;0.306349;2;UV

- Brian
From: Frenchy Pilou (PILOU)
7 Sep 2014   [#26]
Excellent!
The trick is run the Script then just take 2 curves from the result for make a Loft or a Sweep! ;)


From: bemfarmer
7 Sep 2014   [#27]
Heart (half)
(c of 2 makes a full heart, but with two hairpin curve regions.)
_FxGraph3D a*16*sin(c*v)*sin(c*v)*sin(c*v);a*(13*cos(c*v)-5*cos(2*c*v)-2*cos(3*c*v)-cos(4*c*v));0;0;1;0;3.141592653589793;0;50;1;1;1;UV
From: Frenchy Pilou (PILOU)
8 Sep 2014   [#28]
With the last beta "Cancel" don't works with these parameters and reasonnable time!


From: bemfarmer
8 Sep 2014   [#29] In reply to [#28]
I think it is a tradeoff due to the speed of the htm code?

- Brian
From: Max Smirnov (SMIRNOV)
17 Apr 2016   [#30]
While writing Math nodes for my nodeedit project, I found one significant bug in the FxGraph/3D code. The script incorrectly processes a square brackets and "rnd" command in some cases.
Updated scripts:
http://moi.maxsm.net/media/files/FxGraph3D.v.1.1.2016.04.17.zip
http://moi.maxsm.net/media/files/FxGraph.v.1.2e.2016.04.17.zip
From: bemfarmer
22 Jul 2017   [#31]
While exploring Scherk2 minimal surface, and hyperbola, these shapes came up:

sinhLeaf:
_FxGraph3D u;v;((exp(u) - exp((-1)*u))/2 + (exp(v) - exp((-1)*v))/2);-3.14159;3.14159;-3.14159;3.14159;15;15;0;0;0;UV

sinhcoshScoop:
_FxGraph3D u;v;((exp(u) - exp((-1)*u))/2 + (exp(v) + exp((-1)*v))/2);-3.14159;3.14159;-3.14159;3.14159;15;15;;;;UV

coshBag:
_FxGraph3D u;v;((exp(u) + exp((-1)*u))/2 + (exp(v) + exp((-1)*v))/2);-3.14159;3.14159;-3.14159;3.14159;15;15;;;;UV

The scripts can be stored in a notepad++ text file.

To repeat how to view in MoI, with Max's _FXGraph3D script already installed, highlight one entire line, press Ctrl+C.
Open MoI, press TAB, press Ctrl+V, press Enter.
Network can be used to make a quick surface.

- Brian

Show messages:  1-11  12-31  32-51  52-71  72-91