A place to discuss everything related to Newton Dynamics.
Moderators: Sascha Willems, walaber
by lovatwest » Tue Dec 13, 2011 11:07 am
I have been using to opposing hinges to create a (relatively) immovable joint between two objects. I am trying to figured out is there is a better way to create a "welded" joint between two objects. Having a number of objects "welded" together can provide a pseudo concave object that can move around in the world and interact.
-
lovatwest
-
- Posts: 20
- Joined: Tue Jul 19, 2011 9:06 pm
- Location: Canada
by Julio Jerez » Tue Dec 13, 2011 11:37 am
that is a bad idea.
the theory of rigid body say that teh numbe of degree of fredoom between tow rigi bopdy can be a maxmin of six.
I hinge already specify those 6 dof, the hinge restrict 5, and allon free rotaion aboput teh other.
if you connct two hinges, now you are saying thet ther are 12 degree of fredom between thsoe bodies.
a joint like that can be solved by but only by determined which 6 of the 12 DOG are essencial and remove the form the concetd body.
Bilaternal jopint do no do that, onle concat do that they cjeck if they are between thsoe tow bodies are other foints an dteh ar place on teh same place in teh Block diagonal matrix.
the the solve can eassilly remove reducand DOG as it does try to dolev teh comined joint. Bitaltera joint do no do that they are place anywhe\re in teh matrix and solve independenlly.
the result is a joint that is weaked that even one because what you get is a Ill conditioned matrix,
and in the present of and ill condition matrix the converge rate of any is method for solve linera sytem of equation is almost zero. not reaction forces are calculated.
It is better if you take a hinge and add the six DOF, makein it a Fixed joint.
or even better using a compound collision, which "avoid teh soft joint problem" you will get with a fix joint.
In code300 the compund collision nwop you can add and remove colnve collision at any time. and they are very efficient.
check out the compund demo in core 300, it place 4 compounds each with 400 random convex child shapes in a the surface of a sphere over a collision tree.
also they is a new function tah can decompuse a comples mesh into convex and make co compund out of it.
This the fastest, more robust an more high performances, way you can get what you want.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by lovatwest » Tue Dec 20, 2011 8:43 am
Creating a weld by restricting the 6 DOF was the better solution, but I need to do more testing to ensure that this will be workable. You need to publish a "Newton Joints for Dummies" for those of us learning how to use them.
I will look at the core300 at some later date, I am hoping that core200 will be sufficient for the time being.
I have another question about slider joints, but I will likely publish that in a different topic for clarity. Thanks for the assistance.
-
lovatwest
-
- Posts: 20
- Joined: Tue Jul 19, 2011 9:06 pm
- Location: Canada
by Julio Jerez » Tue Dec 20, 2011 12:14 pm
beleive me using a weld joint is not the better solution if youi are making a Game.
Only if you are making a realistic simulation an you will nee to knwo the correct value of teh internal forces at the joint points.
Onther wise, you are just making thing had on yourself.
The Compound collision is by far the best option.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by JernejL » Wed Dec 21, 2011 9:21 am
If you want a welded joint, then what you need is most likely the compound collision (not a joint, but a collection of convex shapes to build concave ones)
-

JernejL
-
- Posts: 1587
- Joined: Mon Dec 06, 2004 2:00 pm
- Location: Slovenia
-
by lovatwest » Wed Dec 21, 2011 11:11 am
Thanks for the input. The survey says I should go an learn how the compound collision works!
-
lovatwest
-
- Posts: 20
- Joined: Tue Jul 19, 2011 9:06 pm
- Location: Canada
by lovatwest » Tue Jan 10, 2012 10:34 pm
I have gotten the core_300 code in and view/examined the demo. I have also gotten the core_300 to operate in part with some of my original code. From my initial examinations it appears to be faster and runs longer, so these are both good. The complex collision demos/code/possibilities are quite impressive and I will be attempting some tests around this shortly. I have good expectations of the performance.
One of the nagging things I have not sorted out is in relation to the objects/scenes (.NGD) that are used. Since there is a Blender plug in with the code, I am assuming that the tinyXML format is what the import/export to Blender plug ins use for a file format. Sadly, I have not yet figured out how to get that Plug in to work, (even with the Newton 2.33).
Obviously there is something that I am not getting correct with the pyScene code, (I can get it to compile, load the files in the appropriate spots), but Blender will not import the files. (Blender 2.49, Python 2.4.2). Any ideas? It would be a great asset to be able to use the existing code structures to load more complex objects to test. Thanks for any assistance.
-
lovatwest
-
- Posts: 20
- Joined: Tue Jul 19, 2011 9:06 pm
- Location: Canada
by Julio Jerez » Wed Jan 11, 2012 8:23 am
oh thankyou, I am trying to make copre 300 the best I can.
There is not realation between NDG and teh newtpn phys SDK, ndg is teh newton tool asset fiel format for treproting infomation.
NDG use newton, but it can use any oteh physic engine, it alos can use graphics.
Is is form managing the complexity of the combination of physics and graphic together.
on the phyton plug in, It is a long time since I am not working on it. My machine drive crash and I inteally a solid state drive, but it is too small. only 120 gb
so I cannot have every in it.
I can not have Lunux, Blend, and Phyton since after intalling VS2010, VS 2008, 3ds Max 2010, office, and few oth nessesry thing I only get about 10 g for opreation.
In any case the blender plugin usin a toll for convertin c to phyton header, but is it complex.
since then I have writting my own parcel generator that I will sue for that kind of stuff. but I have not time to get to it yet.
I change the path on teh project so that i link to the core 300 SDK, But I can no test it because what I saidi abobe.
howver is sodu just simple work.
I am using the Max plugin with use the SDK and teh NGN SDK and it always works.
Remeber the phyton plugin for blender in imcomplete, but any one can add funtionality if you want by simply writen the.
you simply write a glue code in C++ and you place the hader in file pyScene.i
that will generate the glue code between C++ and phyton, and you can go on writing your code in the c Class.
there you can simple make call to functions from phyton and convert the to the aproproate NDG node type.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by lovatwest » Thu Jan 12, 2012 9:03 pm
I can certainly understand the space/program/etc. limitations of a computer. I will have a look at the python documentation and have a more detailed attempt at getting the plug in to work as a secondary item. If I get something to work, I'll send it to you for a look, (and a laugh too).
I have modified the complex collision demo code (successfully) and it the simple things seemed to work okay. I have a more complex item running overnight to see how it looks. It does seem to be a quantum step up. More on this later.
-
lovatwest
-
- Posts: 20
- Joined: Tue Jul 19, 2011 9:06 pm
- Location: Canada
by carli2 » Sat Sep 01, 2012 8:51 am
JernejL wrote:If you want a welded joint, then what you need is most likely the compound collision (not a joint, but a collection of convex shapes to build concave ones)
How can I detect which subcollision of the compound is hitten in a draw call? And how can I have multiple user data (one for each component)
-
carli2
-
- Posts: 157
- Joined: Thu Nov 10, 2011 1:53 pm
Return to General Discussion
Who is online
Users browsing this forum: No registered users and 1 guest