Can impossible be possible? (The real challenge)

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 10 October 2013   #61
Quote:
Originally Posted by lecopivo
I didn't read the whole thread but I think I have solution to original problem just have a look http://www.youtube.com/watch?featur...d&v=5Oip-YiKuik

Download:
http://www.4shared.com/zip/MqwiOuUt/multiParent_1.html?

if you are interested in math behind have a look here http://tomsmathjourneys.blogspot.cz/

few points:
I will reference to the scene that I have in video i.e. two control locators and box which is controlled.

1. I am not doing any kind of parent switching to break evaluation loops! You can rotate around two points simultaneously. I do some funny math to figure out what actually means to rotate around two points at the same time.
2. Because of 1. directly moving locators is disabled. Imagine you rotate around locator1 so locator 2 get translated therefore the whole system has to move. But you just wanted rotate around locator1.
3. Rotation of locator1 is not altered by locator2 and vice versa. You have full control of locators rotation. This way I can break the dependency loop. If you need something fixed with system just link it to the box.
4. Position and rotation of system depends on history of locator's rotation. So you have to specify state of the system at some time t0 and than the node do some numerical integration from time t0 to time t. In current implementation the integration is done from time t0 to time t each time you change something. So even when you change from time t to time t+dt it will recalculate everything from time t0 to (t+dt). But It could just do one more step in the integration. But the advantage of current solution is that you can randomly jump in time.
5. It would be cool to have one move controlel which would be fix with the system but for now I don't know how to do this. If you need some move control just edit parent start position of the multiParentNode


Ok... @lecopivo, I read your revised method you posted in your updated blog (two pivot nodes A and B, and one helper node H). I do understand your math... and I have implemented a MAXscript DLX extension that calculates the matrix exponential (using angleaxis values to first construct the required cross-product matrix...)-- thus allowing me to sum the rotations of nodes A and B (regardless of order, as you explain in your blog) and apply the total rotation to node H...

...BUT I'm struggling with how to actually implement your "update equations" in a 3ds Max construct while avoiding illegal-self referencing or circular dependencies. I'm not sure if I should try and do all of this in a custom attribute definition on the helper node H. Or try and use wire expressions or script controllers???

Any ideas or guidance from anybody would be greatly appreciated. It would save me some headaches...

Last edited by Archangel35757 : 10 October 2013 at 09:03 PM.
 
Old 10 October 2013   #62
Thread automatically closed

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.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 05:03 AM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.