supershapes3D

Jun 28, 2006 at 12:26pm

supershapes3D

http://paul.wasp.uwa.edu.au/surfaces/supershape3d/

hi supershapers!

please look at the formula.

i don

#26600
Jun 28, 2006 at 12:31pm

-thijs

On 6/28/06, didi bruckmayr wrote:
>
>
> http://paul.wasp.uwa.edu.au/surfaces/supershape3d/
>
>
>

#79810
Jun 28, 2006 at 2:09pm

link works for me – no idea about the math though as your patch
didnt show up. Can you save it as text and paste it in? forum
attachments done seem to work, and there is no attachment via email.

fwiw:

heres some interesting posts on superShape/superformula via dataisnature

http://dataisnature.com/?p=318

http://dataisnature.com/?p=320

v a d e //

On Jun 28, 2006, at 8:31 AM, Thijs Koerselman wrote:

>
> -thijs
>
>
> On 6/28/06, didi bruckmayr wrote:
>
> http://paul.wasp.uwa.edu.au/surfaces/supershape3d/
>
>
>

#79811
Jun 28, 2006 at 5:14pm

sorry! tried to att 2 times…

here my formula for 2d:

#P window setfont “Sans Serif” 9.;
#P flonum 776 193 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 597 195 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 418 189 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 239 190 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 60 225 727 196617 jit.expr 1 float32 64 64 @inputs 5 @expr “pow(pow(abs(cos(norm[0]*TWOPI/4.)/in[1])\,in[3])+pow(abs(sin(norm[0]*TWOPI/4.)/in[2])\,in[3])\,-1./in[4]“;
#P flonum 804 77 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 625 79 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 446 73 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 267 74 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 88 109 726 196617 jit.expr 1 float32 64 64 @inputs 5 @expr “pow(pow((cos(norm[0]*TWOPI/4.)/in[1])\, in[3])+pow((sin(norm[0]*TWOPI/4.)/in[2])\, in[3])\, -1./in[4])”;
#P flonum 88 60 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 88 82 130 196617 jit.matrix 1 float32 64 64;
#P comment 8 43 100 196617 version 1;
#P comment 59 187 100 196617 version 2;
#P window linecount 2;
#P comment 63 289 100 196617 fill in extension to 3d;
#P connect 9 0 5 4;
#P connect 14 0 10 4;
#P connect 8 0 5 3;
#P connect 13 0 10 3;
#P connect 7 0 5 2;
#P connect 12 0 10 2;
#P connect 6 0 5 1;
#P connect 11 0 10 1;
#P connect 3 0 5 0;
#P connect 4 0 3 0;
#P window clipboard copycount 15;

cheers!

dd

#79812
Jun 29, 2006 at 5:13am

gruesse dd,

i was able to get the 2d formula to work (based on the code here:

jeremy

max v2;
#N vpatcher 175 46 1204 745;
#P window setfont “Sans Serif” 9.;
#P hidden newex 387 63 64 196617 unpack i i i i;
#P hidden newex 388 37 93 196617 loadmess 13 6 4 7;
#P flonum 220 524 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 224 444 60 196617 loadmess 3;
#P comment 540 111 21 196617 n3;
#P comment 485 111 21 196617 n2;
#P comment 429 114 21 196617 n1;
#P flonum 540 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 486 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 432 138 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 378 138 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 30 89 901 647;
#P inlet 705 54 15 0;
#P inlet 515 49 15 0;
#P inlet 394 47 15 0;
#P inlet 261 55 15 0;
#P button 71 100 15 0;
#P user jit.pwindow 455 431 82 62 0 1 0 0 1 0;
#P window setfont “Sans Serif” 9.;
#P newex 305 191 182 196617 jit.expr @inputs 1 @expr “abs(in[0])”;
#P newex 248 262 65 196617 jit.op @op *;
#P newex 313 224 110 196617 jit.op @op != @val 0.;
#P newex 120 107 60 196617 r to_movie;
#P newex 328 492 63 196617 s to_render;
#P newex 327 456 53 196617 jit.pack 2;
#P user jit.pwindow 579 332 82 62 0 1 0 0 1 0;
#P newex 597 291 306 196617 jit.expr @inputs 1 @expr
“(1/in[0])*sin(norm[0]*TWOPI)”;
#P user jit.pwindow 251 330 82 62 0 1 0 0 1 0;
#P newex 241 292 339 196617 jit.expr @inputs 1 @expr
“(1/in[0])*cos(norm[0]*TWOPI)”;
#P user jit.pwindow 121 209 82 62 0 1 0 0 1 0;
#P newex 120 133 130 196617 jit.matrix 1 float32 256 1;
#P flonum 740 116 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 562 104 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 428 110 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 274 114 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 120 159 784 196617 jit.expr @inputs 5 @expr
“pow(pow(abs(cos(in[1]*norm[0]*TWOPI/
4.0))\,in[3])+pow(abs(sin(norm[0]*in[1]*TWOPI/4.0))\,in[4])\,1/
in[2])”;
#P connect 13 0 5 0;
#P connect 18 0 5 0;
#P connect 5 0 0 0;
#P connect 0 0 6 0;
#P connect 15 0 7 0;
#P connect 0 0 15 0;
#P connect 7 0 8 0;
#P connect 19 0 1 0;
#P connect 14 0 15 1;
#P connect 0 0 16 0;
#P connect 1 0 0 1;
#P connect 16 0 14 0;
#P connect 7 0 11 0;
#P connect 11 0 12 0;
#P connect 9 0 11 1;
#P connect 20 0 2 0;
#P connect 14 0 17 0;
#P connect 2 0 0 2;
#P connect 21 0 3 0;
#P connect 9 0 10 0;
#P connect 15 0 9 0;
#P connect 3 0 0 3;
#P connect 22 0 4 0;
#P connect 4 0 0 4;
#P pop;
#P newobj 378 175 174 196617 p 2d-supershape;
#P user ubumenu 228 484 68 196617 0 1 1 0;
#X prefix_set 0 0 0;
#P flonum 150 484 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 34 507 129 196617 pak erase_color 0. 0. 0. 0.;
#P newex 33 645 220 196617 jit.window context @floating 1 @depthbuffer
1;
#P newex 121 164 59 196617 s to_movie;
#P newex 179 107 62 196617 s to_render;
#P newex 92 198 62 196617 s to_render;
#P newex 150 134 55 196617 s to_shape;
#P number 79 35 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 34 239 63 196617 0;
#P message 58 552 33 196617 reset;
#P newex 47 530 62 196617 r to_render;
#P newex 58 573 274 196617 jit.gl.handle context @auto_rotate 1
@inherit_transform 1;
#P newex 34 77 156 196617 t b b b b b erase;
#P toggle 34 34 15 0;
#P newex 34 54 55 196617 qmetro 50;
#P newex 34 617 101 196617 jit.gl.render context;
#P comment 380 114 21 196617 m;
#P connect 3 0 2 0;
#P connect 2 0 4 0;
#P connect 4 0 8 0;
#P fasten 6 0 1 0 52 610 39 610;
#P connect 17 1 1 0;
#P connect 15 0 1 0;
#P fasten 5 0 1 0 63 610 39 610;
#P connect 7 0 5 0;
#P connect 9 0 2 1;
#P connect 4 2 11 0;
#P connect 4 3 13 0;
#P connect 4 4 10 0;
#P connect 16 0 15 4;
#P connect 4 5 12 0;
#P connect 17 0 27 0;
#P connect 26 0 17 0;
#P hidden connect 29 0 19 0;
#P connect 19 0 18 0;
#P hidden connect 28 0 29 0;
#P hidden connect 29 1 20 0;
#P connect 20 0 18 1;
#P hidden connect 29 2 21 0;
#P connect 21 0 18 2;
#P hidden connect 29 3 22 0;
#P connect 22 0 18 3;
#P pop;

On 28-Jun-06, at 1:14 PM, didi bruckmayr wrote:

>
> sorry! tried to att 2 times…
>
> here my formula for 2d:
>
> #P window setfont “Sans Serif” 9.;
> #P flonum 776 193 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 597 195 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 418 189 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 239 190 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P window linecount 1;
> #P newex 60 225 727 196617 jit.expr 1 float32 64 64 @inputs 5 @expr
> “pow(pow(abs(cos(norm[0]*TWOPI/4.)/
> in[1])\,in[3])+pow(abs(sin(norm[0]*TWOPI/4.)/in[2])\,in[3])\,
> -1./in[4]“;
> #P flonum 804 77 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 625 79 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 446 73 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 267 74 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 88 109 726 196617 jit.expr 1 float32 64 64 @inputs 5 @expr
> “pow(pow((cos(norm[0]*TWOPI/4.)/in[1])\,
> in[3])+pow((sin(norm[0]*TWOPI/4.)/in[2])\, in[3])\, -1./in[4])”;
> #P flonum 88 60 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 88 82 130 196617 jit.matrix 1 float32 64 64;
> #P comment 8 43 100 196617 version 1;
> #P comment 59 187 100 196617 version 2;
> #P window linecount 2;
> #P comment 63 289 100 196617 fill in extension to 3d;
> #P connect 9 0 5 4;
> #P connect 14 0 10 4;
> #P connect 8 0 5 3;
> #P connect 13 0 10 3;
> #P connect 7 0 5 2;
> #P connect 12 0 10 2;
> #P connect 6 0 5 1;
> #P connect 11 0 10 1;
> #P connect 3 0 5 0;
> #P connect 4 0 3 0;
> #P window clipboard copycount 15;
>
>
> cheers!
>
> dd
>
>

~ `~` ~ `~` ~ `~` ~ `~` ~ `~` ~ `~`~ `~`~ `~`~ `~`

http://www.mantissa.ca

New Work: Image-Producing Machine for the Vague-Terrain journal

http://www.vagueterrain.net/content/archives/journal03/journal03.html

#79813
Jun 29, 2006 at 11:13am

hi jeremy!

wise guy!

i used this link as well, but did it wrong with the jit.ops.

let

#79814
Jun 29, 2006 at 12:25pm

On 6/28/06 1:14 PM, “didi bruckmayr” wrote:

>
> sorry! tried to att 2 times…
>
> here my formula for 2d:
>
> #P window setfont “Sans Serif” 9.;
> #P flonum 776 193 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 597 195 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 418 189 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 239 190 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P window linecount 1;
> #P newex 60 225 727 196617 jit.expr 1 float32 64 64 @inputs 5 @expr
> “pow(pow(abs(cos(norm[0]*TWOPI/4.)/in[1])\,in[3])+pow(abs(sin(norm[0]*TWOPI/
> 4.)/in[2])\,in[3])\,-1./in[4]“;
> #P flonum 804 77 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 625 79 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 446 73 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P flonum 267 74 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 88 109 726 196617 jit.expr 1 float32 64 64 @inputs 5 @expr
> “pow(pow((cos(norm[0]*TWOPI/4.)/in[1])\,
> in[3])+pow((sin(norm[0]*TWOPI/4.)/in[2])\, in[3])\, -1./in[4])”;
> #P flonum 88 60 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 88 82 130 196617 jit.matrix 1 float32 64 64;
> #P comment 8 43 100 196617 version 1;
> #P comment 59 187 100 196617 version 2;
> #P window linecount 2;
> #P comment 63 289 100 196617 fill in extension to 3d;
> #P connect 9 0 5 4;
> #P connect 14 0 10 4;
> #P connect 8 0 5 3;
> #P connect 13 0 10 3;
> #P connect 7 0 5 2;
> #P connect 12 0 10 2;
> #P connect 6 0 5 1;
> #P connect 11 0 10 1;
> #P connect 3 0 5 0;
> #P connect 4 0 3 0;
> #P window clipboard copycount 15;
>
>
> cheers!
>
> dd
>
This was helpful but does anyone have a simple working example in 3D?
Cheers,
Gary Lee Nelson
TIMARA Department
Oberlin College
http://www.timara.oberlin.edu/GaryLeeNelson

#79815
Jun 29, 2006 at 2:40pm

#79816
Jun 29, 2006 at 3:09pm

hi rocker!

i hope it works…..

i tried this one:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P hidden newex 387 63 68 196617 unpack f f f f;
#P newex 388 37 123 196617 loadmess 5 0.04 0.47 18;
#P flonum 220 524 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 224 444 60 196617 loadmess 3;
#P comment 540 111 21 196617 n3;
#P comment 485 111 21 196617 n2;
#P comment 429 114 21 196617 n1;
#P flonum 540 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 486 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 432 138 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 378 138 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 158 179 1082 720;
#P window setfont “Sans Serif” 9.;
#P newex 552 268 69 196617 loadmess 0.3;
#P flonum 323 381 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 212 457 53 196617 jit.concat;
#P newex 255 408 69 196617 jit.op @op !-;
#P flonum 552 296 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 3;
#P newex 255 324 307 196617 jit.expr 3 float32 64 64 @inputs 2 @expr “((in[0]*cos(norm[0]*TWOPI))*((in[1]*cos(norm[1]*PI))” “((in[0]*sin(norm[0]*TWOPI))*((in[1]*cos(norm[1]*PI))” “in[1]*sin(norm[1]*PI)”;
#P inlet 705 54 15 0;
#P inlet 515 49 15 0;
#P inlet 394 47 15 0;
#P inlet 261 55 15 0;
#P button 71 100 15 0;
#P window linecount 0;
#P newex 120 107 60 196617 r to_movie;
#P newex 212 492 63 196617 s to_render;
#P user jit.pwindow 48 275 82 62 0 1 0 0 1 0;
#P newex 120 133 130 196617 jit.matrix 1 float32 64 64;
#P flonum 740 116 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 562 104 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 428 110 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 274 114 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 120 159 784 196617 jit.expr @inputs 5 @expr pow(pow(abs(cos(in[1]*norm[0]*TWOPI/
4.0))\,in[3])+pow(abs(sin(norm[0]*in[1]*TWOPI/4.0))\,in[4])\,1/
in[2]);
#P connect 0 0 6 0;
#P connect 8 0 5 0;
#P connect 9 0 5 0;
#P connect 5 0 0 0;
#P connect 14 0 17 0;
#P connect 17 0 7 0;
#P connect 0 0 14 0;
#P connect 14 0 16 0;
#P connect 16 0 17 1;
#P connect 10 0 1 0;
#P connect 1 0 0 1;
#P connect 18 0 16 1;
#P connect 11 0 2 0;
#P connect 2 0 0 2;
#P connect 19 0 15 0;
#P connect 15 0 14 1;
#P connect 12 0 3 0;
#P connect 3 0 0 3;
#P connect 13 0 4 0;
#P connect 4 0 0 4;
#P pop;
#P newobj 378 175 84 196617 p 3d-supershape;
#P user ubumenu 228 484 68 196617 0 1 1 0;
#X prefix_set 0 0 0;
#P flonum 150 484 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 34 507 129 196617 pak erase_color 0. 0. 0. 0.;
#P newex 33 645 220 196617 jit.window context @floating 1 @depthbuffer 1;
#P newex 121 164 59 196617 s to_movie;
#P newex 179 107 62 196617 s to_render;
#P newex 92 198 62 196617 s to_render;
#P newex 150 134 55 196617 s to_shape;
#P number 79 35 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 34 239 63 196617 0;
#P message 58 552 33 196617 reset;
#P newex 47 530 62 196617 r to_render;
#P newex 58 573 274 196617 jit.gl.handle context @auto_rotate 1 @inherit_transform 1;
#P newex 34 77 156 196617 t b b b b b erase;
#P toggle 34 34 15 0;
#P newex 34 54 55 196617 qmetro 50;
#P newex 34 617 189 196617 jit.gl.render context @lighting_enable 1;
#P comment 380 114 21 196617 m;
#P connect 3 0 2 0;
#P connect 2 0 4 0;
#P connect 4 0 8 0;
#P fasten 5 0 1 0 63 610 39 610;
#P connect 15 0 1 0;
#P connect 17 1 1 0;
#P fasten 6 0 1 0 52 610 39 610;
#P connect 7 0 5 0;
#P connect 9 0 2 1;
#P connect 4 2 11 0;
#P connect 4 3 13 0;
#P connect 4 4 10 0;
#P connect 16 0 15 4;
#P connect 4 5 12 0;
#P connect 17 0 27 0;
#P connect 26 0 17 0;
#P hidden connect 29 0 19 0;
#P connect 19 0 18 0;
#P hidden connect 28 0 29 0;
#P connect 20 0 18 1;
#P connect 21 0 18 2;
#P hidden connect 29 1 20 0;
#P connect 22 0 18 3;
#P hidden connect 29 2 21 0;
#P hidden connect 29 3 22 0;
#P window clipboard copycount 30;

#79817
Jun 29, 2006 at 4:11pm

Hey Guys,
Try this one:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P hidden newex 447 123 68 196617 unpack f f f f;
#P newex 448 97 123 196617 loadmess 5 0.04 0.47 18;
#P comment 600 171 21 196617 n3;
#P comment 545 171 21 196617 n2;
#P comment 489 174 21 196617 n1;
#P flonum 600 196 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 546 196 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 492 198 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 438 198 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 88 344 1012 885;
#P window setfont “Sans Serif” 9.;
#P flonum 804 130 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 726 133 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 644 132 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 567 130 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 2;
#P newex 488 157 327 196617 jit.expr @inputs 5 @expr
pow(pow(abs(cos(in[1]*norm[1]*PI*0.5))\,in[3])+pow(abs(sin(norm[0]*in[1]*PI*0.5))\,in[4])\,1/in[2]);
#P flonum 323 381 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 212 457 53 196617 jit.concat;
#P newex 255 408 112 196617 jit.op @op pass !- pass;
#P window linecount 4;
#P newex 108 324 306 196617 jit.expr 3 float32 64 64 @inputs 2 @expr
“(in[0]*cos(norm[0]*TWOPI))*(cos(norm[1]*PI))”
“(in[0]*sin(norm[0]*TWOPI))*(cos(norm[1]*PI))*(in[1]*sin(norm[1]*TWOPI))*(cos(norm[0]*PI))”
“(in[1]*cos(norm[1]*TWOPI))*cos(norm[0]*PI)”;
#P button 71 62 15 0;
#P window linecount 1;
#P newex 120 69 60 196617 r to_movie;
#P newex 212 492 315 196617 jit.gl.mesh context @lighting_enable 1
@auto_normals 1 @scale 0.3;
#P user jit.pwindow 48 275 82 62 0 1 0 0 1 0;
#P newex 120 95 130 196617 jit.matrix 1 float32 64 64;
#P flonum 436 132 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 358 135 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 276 134 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 199 132 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 2;
#P newex 120 159 327 196617 jit.expr @inputs 5 @expr
pow(pow(abs(cos(in[1]*norm[0]*PI*0.5))\,in[3])+pow(abs(sin(norm[0]*in[1]*PI*0.5))\,in[4])\,1/in[2]);
#P connect 0 0 6 0;
#P connect 0 0 10 0;
#P connect 8 0 5 0;
#P connect 9 0 5 0;
#P connect 5 0 0 0;
#P connect 1 0 0 1;
#P connect 10 0 12 0;
#P connect 12 0 7 0;
#P connect 10 0 11 0;
#P connect 11 0 12 1;
#P connect 2 0 0 2;
#P connect 3 0 0 3;
#P connect 13 0 11 1;
#P connect 14 0 10 1;
#P connect 4 0 0 4;
#P fasten 5 0 14 0 125 120 493 120;
#P connect 15 0 14 1;
#P connect 16 0 14 2;
#P connect 17 0 14 3;
#P connect 18 0 14 4;
#P pop 1;
#P newobj 438 235 84 196617 p 3d-supershape;
#P newex 181 224 59 196617 s to_movie;
#P newex 239 167 62 196617 s to_render;
#P newex 152 258 62 196617 s to_render;
#P newex 210 194 55 196617 s to_shape;
#P number 139 95 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 94 299 63 196617 0;
#P newex 94 137 156 196617 t b b b b b erase;
#P toggle 94 94 15 0;
#P newex 94 114 55 196617 qmetro 50;
#P comment 440 174 21 196617 m;
#P hidden connect 19 3 14 0;
#P hidden connect 19 2 13 0;
#P hidden connect 19 1 12 0;
#P hidden connect 18 0 19 0;
#P hidden connect 19 0 11 0;
#P connect 3 5 8 0;
#P connect 3 4 6 0;
#P connect 3 3 9 0;
#P connect 3 2 7 0;
#P connect 5 0 1 1;
#P connect 3 0 4 0;
#P connect 1 0 3 0;
#P connect 2 0 1 0;
#P window clipboard copycount 20;

#79818
Jun 29, 2006 at 4:19pm

hi dd,

that works really well! i’ve updated it so that it uses two shapes –
one oriented horizontally the other vertically – as demonstrated by
paul borke’s renderings.

jeremy

max v2;
#N vpatcher 100 100 969 667;
#P window setfont “Sans Serif” 9.;
#P newex 430 277 142 196617 jit.matrix 12 float32 128 64;
#P user jit.fpsgui 278 215 60 196617 3;
#P newex 380 227 64 196617 jit.op @op +;
#P hidden newex 593 67 68 196617 unpack f f f f;
#P newex 594 41 114 196617 loadmess 18 4 0.47 18;
#P comment 746 115 21 196617 n3;
#P comment 691 115 21 196617 n2;
#P comment 635 118 21 196617 n1;
#P flonum 746 140 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 692 140 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 638 142 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 584 142 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 158 179 1082 720;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 265 276 105 196617 jit.dimmap @map 1 0;
#P outlet 216 485 15 0;
#P window linecount 0;
#P newex 552 268 69 196617 loadmess 0.8;
#P window linecount 1;
#P newex 212 457 53 196617 jit.concat;
#P newex 255 408 69 196617 jit.op @op !-;
#P flonum 552 296 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 3;
#P newex 255 324 307 196617 jit.expr 3 float32 64 64 @inputs 2 @expr
“((in[0]*cos(norm[0]*TWOPI))*((in[1]*cos(norm[1]*PI))”
“((in[0]*sin(norm[0]*TWOPI))*((in[1]*cos(norm[1]*PI))”
“in[1]*sin(norm[1]*PI)”;
#P inlet 705 54 15 0;
#P inlet 515 49 15 0;
#P inlet 394 47 15 0;
#P inlet 261 55 15 0;
#P button 71 100 15 0;
#P window linecount 0;
#P newex 120 107 60 196617 r to_movie;
#P user jit.pwindow 48 275 82 62 0 1 0 0 1 0;
#P newex 120 133 130 196617 jit.matrix 1 float32 64 64;
#P flonum 740 116 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 562 104 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 428 110 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 274 114 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 120 159 727 196617 jit.expr @inputs 5 @expr
“pow(pow(abs(cos(in[1]*norm[0]*TWOPI/
4.0))\,in[3])+pow(abs(sin(norm[0]*in[1]*TWOPI/4.0))\,in[4])\,1/
in[2])”;
#P connect 0 0 6 0;
#P connect 7 0 5 0;
#P connect 8 0 5 0;
#P connect 5 0 0 0;
#P connect 13 0 16 0;
#P connect 16 0 18 0;
#P connect 19 0 13 0;
#P connect 13 0 15 0;
#P connect 15 0 16 1;
#P connect 0 0 19 0;
#P connect 9 0 1 0;
#P connect 1 0 0 1;
#P connect 10 0 2 0;
#P connect 2 0 0 2;
#P connect 17 0 14 0;
#P connect 14 0 13 1;
#P connect 11 0 3 0;
#P connect 3 0 0 3;
#P connect 12 0 4 0;
#P connect 4 0 0 4;
#P pop;
#P newobj 584 179 84 196617 p 3d-supershape;
#P comment 586 118 21 196617 m;
#P newex 408 348 63 196617 s to_render;
#P hidden newex 387 63 68 196617 unpack f f f f;
#P newex 388 37 129 196617 loadmess 12 0.04 0.47 18;
#P flonum 265 386 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 269 306 60 196617 loadmess 3;
#P comment 540 111 21 196617 n3;
#P comment 485 111 21 196617 n2;
#P comment 429 114 21 196617 n1;
#P flonum 540 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 486 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 432 138 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 378 138 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 158 179 1082 720;
#P outlet 216 485 15 0;
#P window setfont “Sans Serif” 9.;
#P newex 552 268 69 196617 loadmess 0.8;
#P window linecount 1;
#P newex 212 457 53 196617 jit.concat;
#P newex 255 408 69 196617 jit.op @op !-;
#P flonum 552 296 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 3;
#P newex 255 324 307 196617 jit.expr 3 float32 64 64 @inputs 2 @expr
“((in[0]*cos(norm[0]*TWOPI))*((in[1]*cos(norm[1]*PI))”
“((in[0]*sin(norm[0]*TWOPI))*((in[1]*cos(norm[1]*PI))”
“in[1]*sin(norm[1]*PI)”;
#P inlet 705 54 15 0;
#P inlet 515 49 15 0;
#P inlet 394 47 15 0;
#P inlet 261 55 15 0;
#P button 71 100 15 0;
#P window linecount 0;
#P newex 120 107 60 196617 r to_movie;
#P user jit.pwindow 48 275 82 62 0 1 0 0 1 0;
#P newex 120 133 130 196617 jit.matrix 1 float32 64 64;
#P flonum 740 116 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 562 104 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 428 110 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 274 114 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 120 159 727 196617 jit.expr @inputs 5 @expr
“pow(pow(abs(cos(in[1]*norm[0]*TWOPI/
4.0))\,in[3])+pow(abs(sin(norm[0]*in[1]*TWOPI/4.0))\,in[4])\,1/
in[2])”;
#P connect 0 0 6 0;
#P connect 8 0 5 0;
#P connect 7 0 5 0;
#P connect 5 0 0 0;
#P connect 13 0 16 0;
#P connect 16 0 18 0;
#P connect 0 0 13 0;
#P connect 13 0 15 0;
#P connect 15 0 16 1;
#P connect 9 0 1 0;
#P connect 1 0 0 1;
#P connect 10 0 2 0;
#P connect 2 0 0 2;
#P connect 17 0 14 0;
#P connect 14 0 13 1;
#P connect 11 0 3 0;
#P connect 3 0 0 3;
#P connect 12 0 4 0;
#P connect 4 0 0 4;
#P pop;
#P newobj 378 175 84 196617 p 3d-supershape;
#P user ubumenu 273 346 68 196617 0 1 1 0;
#X prefix_set 0 0 0;
#P flonum 195 346 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 79 369 129 196617 pak erase_color 0. 0. 0. 0.;
#P newex 78 507 220 196617 jit.window context @floating 1 @depthbuffer
1;
#P newex 121 164 59 196617 s to_movie;
#P newex 179 107 62 196617 s to_render;
#P newex 92 198 62 196617 s to_render;
#P newex 150 134 55 196617 s to_shape;
#P number 79 35 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 34 239 63 196617 0;
#P message 103 414 33 196617 reset;
#P newex 92 392 62 196617 r to_render;
#P newex 103 435 274 196617 jit.gl.handle context @auto_rotate 1
@inherit_transform 1;
#P newex 34 77 156 196617 t b b b b b erase;
#P toggle 34 34 15 0;
#P newex 34 54 55 196617 qmetro 50;
#P newex 78 476 471 196617 jit.gl.render context @lighting_enable 0
@smooth_shading 1 @depth_enable 1 @erase_color 0. 0. 0. 1.;
#P comment 380 114 21 196617 m;
#P connect 3 0 2 0;
#P connect 2 0 4 0;
#P connect 4 0 8 0;
#P fasten 5 0 1 0 108 472 83 472;
#P connect 15 0 1 0;
#P connect 17 1 1 0;
#P fasten 6 0 1 0 97 472 83 472;
#P connect 9 0 2 1;
#P connect 4 2 11 0;
#P connect 7 0 5 0;
#P connect 4 3 13 0;
#P connect 4 4 10 0;
#P connect 4 5 12 0;
#P connect 16 0 15 4;
#P connect 17 0 27 0;
#P connect 26 0 17 0;
#P connect 18 0 43 0;
#P hidden connect 29 0 19 0;
#P connect 19 0 18 0;
#P connect 18 0 42 0;
#P hidden connect 28 0 29 0;
#P connect 20 0 18 1;
#P connect 44 0 30 0;
#P connect 21 0 18 2;
#P connect 42 0 44 0;
#P hidden connect 29 1 20 0;
#P connect 32 0 42 1;
#P connect 22 0 18 3;
#P hidden connect 29 2 21 0;
#P hidden connect 29 3 22 0;
#P hidden connect 41 0 33 0;
#P connect 33 0 32 0;
#P hidden connect 40 0 41 0;
#P connect 34 0 32 1;
#P connect 35 0 32 2;
#P hidden connect 41 1 34 0;
#P connect 36 0 32 3;
#P hidden connect 41 2 35 0;
#P hidden connect 41 3 36 0;
#P pop;

#79819
Jun 29, 2006 at 4:36pm

Really nice. Thats awesome! now to add some bells and whistles…

v a d e //