Advertisement

Apply drag to rotation

Started by February 07, 2016 07:45 PM
14 comments, last by _WeirdCat_ 8 years, 6 months ago
If there are multiple aerodynamic elements attached to the rigid body, then each will be applying a drag force a a particular local offset / position relative the the center of mass.

When applying these not-at-center forces, a force and a torque is applied to the body.

so actually some force is distributed to center of mass as linear force for whole body, how do i calculate that then? (i mean when i apply not-at-center force, ok i have a torque but what about linear force for the body (where i apply that to the center of mass of the body)

Advertisement

Fb += F

Tb += r x F

This is how we apply a force to a rigid body at non-center of mass, were Fb is force of body, and Tb is torque of body, F is force we are apply, and r as at this radius vector from center of mass. r = Point - COM (center of mass). A point applied to non-COM will generate more energy than one applied to COM due to the definition of work (force * distance). So, we just sum the linear forces, and sum r x F torques. Does this make sense?

More in-depth read: https://www.cs.cmu.edu/~baraff/sigcourse/notesd1.pdf

i am quite surprised that from what you have shown here whenever i 'kick' a penicl with a finger on a tip of it it will add same linear force as i would 'kick' it in the center , i though applying a force on one end of body will produce less linear force applied to its center, than applying the same force to its center

Moreover i just removed some great amount of comments from the physics function i wrote long time ago and i do exactly the same thing (add the same force) :X

i am quite surprised that from what you have shown here whenever i 'kick' a penicl with a finger on a tip of it it will add same linear force as i would 'kick' it in the center , i though applying a force on one end of body will produce less linear force applied to its center, than applying the same force to its center

I'm just guessing, but when you kick something you're accelerating it over a period of time (many ' frames'). When you kick the end, it rotates out of the way, so that your foot isn't accelerating it for the same length of time any more. Kicking the center ensures it stays in contact with you're foot. Also, as it rotates, the contact surface becomes angled so your foot starts pushing it in the wrong direction.

I want to ask another thing when calculating drag of a body (rotational part) when i am counting through lets name that boxes, the actual velocity of the body is linear vel + rotational vel right?

and rotational vel since its in radians in my case i need to create a vector from actual box position = A to after returnNewPos(box_pos, rot_vel * deltaT) = B

the actual drag vector will be: Normalize( -(B-A) ); ?

This topic is closed to new replies.

Advertisement