PDA

View Full Version : rdg::lorenzAttraktor[1] - a maxSript


rdg
11-21-2006, 03:22 PM
This is a script that generates so called "lorenz attractors" [1]
I adapted the formula from levitated.net[2] almost two years ago.
Today I added the interface.

http://www.preset.de/_gfx/3dsMAX/lorenz/snap_01.jpg


rdg-lorenzAttraktor.mzp (http://proforma.preset.de/scriptspot/lorenzAttraktor/rdg-lorenzAttraktor.mzp)

You can generate a system and modify it with the spinners[3].
If you move the start point in the szene ($LorenzStartPoint) you need to press 'update system' - as my callbacks dont act like I want them to.

** edit **
a: I removed the callbacks as they crashed max :(
b: I added a redrawViewportsCallback and now it seems to work :)
** edit **

The next release should create a object with animatable customAttributes.
[estimated release date 2012]

This script is written for MAX8.


Georg

[1] http://en.wikipedia.org/wiki/Lorenz_attractor
[2] http://www.levitated.net/
[3] http://www.preset.de/3dsMAX/lorenz/

PsychoSilence
11-22-2006, 08:27 AM
hello from munich!

as usual you rock :) saw that script on your websire www.preset.com (http://www.preset.com) allready. i will give it a try in production.

PS: your dashed lines script allready savend my ass here while drawing street details...

PPS: hopefully i get iternet going at my notebook til the end of the week. im lost in writing the help for our sideproject right now ;) allready compiled a windows installer for it ;)

regards

anselm

rdg
11-22-2006, 08:31 AM
Anselm!

I just added a "bake system" - button for the rdg::lorenzAtrraktor[2] release.
Will upload it later.

PS: me too compiled a windows installer :) (ddl @ timeless::preset)
Wibke is going to take care of the overall look&feel/icons for the project - so just concentrate on the writings in your spare time ;)



Georg

resh
11-22-2006, 09:31 AM
good job! gotta play around with this one :))

rdg
11-22-2006, 10:11 AM
Updated version:
rdg-lorenzAttraktor-2.mzp (http://proforma.preset.de/scriptspot/lorenzAttraktor/rdg-lorenzAttraktor-2.mzp)

Now with lesser ** system exeptions ** - I hope.
There is also a bake button, you can now bake a system without closing the dialog.

http://www.preset.de/_gfx/q2_2005/lorenz_003.jpg

48design
11-22-2006, 01:19 PM
@ PsychoSilence: www.preset.de :oP

PEN
11-22-2006, 01:51 PM
Updated version:
rdg-lorenzAttraktor-2.mzp (http://proforma.preset.de/scriptspot/lorenzAttraktor/rdg-lorenzAttraktor-2.mzp)

Now with lesser ** system exeptions ** - I hope.
There is also a bake button, you can now bake a system without closing the dialog.

http://www.preset.de/_gfx/q2_2005/lorenz_003.jpg

Very cool and very fun. I just had a poke around your code and it is nice and clean and that prombted question that really isn't related to the tool itself. Why have you used rolloutCreator and what advantages to you see in using it as apposed to using stright rollouts.

rdg
11-22-2006, 02:13 PM
Why have you used rolloutCreator and what advantages to you see in using it as apposed to using stright rollouts.

In this case it is not so obvoius but 'complex' layouts are much better to handle with rolloutCreator[+RDG], especially when you are dealing with dynamic content like buttonnames.

To me it was annoying to handle rollout creation either with "rollOutSrc +=" or formats and executing them. The rolloutCreator - approach looks more/better readable to me.

I even think about writing/adapting something like this for menus and customAttributes.

But I can be improved, ie it is not possible to add controls and handler in the same loop if I use groups. (because handlers cannot be inside of groups). As rolloutCreator is just a struct that combines strings, it can be easily modified.

Usually I call a beautifyMe() with onOpen handler, to compensate layout glitches.

Another future expansion could be a rcML, where you can define your rollouts/handlers with xml and the mkRollout parses them ... but maybe this already exists.

Georg

PEN
11-22-2006, 07:29 PM
I should start to use it I guess. Thanks for the explanation when you would, I guess you just get used to writting it that way and that is why you use it.

rdg
11-22-2006, 07:42 PM
I should start to use it I guess.

definitvely! I always thought you pro's use it day in day out - that's why I introduced it two weeks ago into my coding-style. I know and like this runtime generated stuff from actionscript/flash - and missed it in maxScript.
I guess with all this .net/max9 things comming - runtime generation of code will become more and more important. who really wants to layout interfaces by hand?

Georg

rdg
11-22-2006, 08:27 PM
for those not willing to install the mzp but still interested, I recorded a video showing the usage of the tool:
lorenz_use.wmv (http://proforma.preset.de/scriptspot/lorenzAttraktor/lorenz_use.wmv)

Georg

j-man
11-23-2006, 01:26 PM
Hi Georg,

I love it, another top quality script. Also like Paul I'm intrigued at your rollout style.

BTW, are you going to update you website with the second version?

and maybe you should add an 'isdeleted' to your update code. -- I see you fixed this tres bien!

J.

rdg
03-07-2007, 09:29 AM
re: animated lorenz

I managed it to implement an animated && renderable version of the lorenz attractor:

http://www.count-as-one.net/figures/lorenz/

I'd liked to use a "scripted simple shape plugin" - I am not sure if this works after all this tries and errors I could try it again.

I tried a parented/grouped combination of CA and script controllers but ran into circular dependecies.

I tried CA only and realized why there are script controllers.

I tried script controllers with CA support but this only worked within the viewports and didn't render.

So I had to write a script that bakes the animation into a brand new spline vertex animation.

How to package this to a tool - I don't know.
Some stuff is better stored at the mystical side of the attic.

Georg

CGTalk Moderation
03-07-2007, 09:29 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.