From: James T. <jt...@mi...> - 2012-05-21 15:14:33
|
In my experience there is a limitation which prevents summing masses except at their cg. In general, in order to make a single body with a complex mass you need to use transform geoms. Unfortunately I'm not sure whether applying the rotation to the transform geom solves your problem. Looking at my code I have a comment that I need to use mass.rotate() but then I don't. I may have just punted and left it as a loose end. My code is using the Ode implementation in Panda3d which is based on a different version of ODE and does not use transform geoms so I can't really help you with code specifics. JT On Sat, May 19, 2012 at 5:23 PM, Bill Call <we...@pr...> wrote: > Hi : > > I'm trying to build a rigid-body simulation using PyODE/PyOpenGL. Since > I'm just doing rigid-body, it is my understanding that I have no need > for joints; I just need to add masses to my body at the appropriate > translations/rotations. > > I have a number of cylindrical masses in my body. These cylinders have > fixed positions and rotations within the body, but are not necessarily > aligned with the X, Y or Z axis. PyODE does not bind the rotateMass() > function from ODE; it only allows me to specify an X, Y or Z orientation > for cylindrical mass (at creation time). This means that I am unable to > rotate my cylindrical masses to the correct orientation. > > My guess is that this would not be a problem if each of these masses had > their own Body; I could just rotate the body after the mass was bound. > Doing doing it that way might work, but it would mean connecting the > cylinders to the main body via joints, and what little documentation > there is seems to contraindicate the use of joints for rigid-body > simulations. > > My questions are as follows: > > 1) Am I correct in my assumption that I must rotate/translate the mass > tensor to reflect the true location/orientation of my cylindrical masses > within the containing body? It seems (to me) to be intuitively obvious > that I do, but I don't put much stock in my intuition regarding this > subject. > > 2) If the answer to (1) is "yes", then can anybody point me a rotation > implementation? If "no", then would someone be willing to explain why not? > > I have already spent a lot of time Googling about for this information, > but I am not sufficiently grounded in the subject to really understand > the answers I have been able to find on my own; not well enough to write > a function to rotate inertial tensors, anyway. > > Thanks in Advance, > > > Bill Call > > > > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Pyode-user mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyode-user > |