Linear Velocity and Angular Velocity Point of Intersection

In summary: It is represented by a combination of the angular and radial velocities... taken wrt the reference point that defines ##\vec r## in the first place.
  • #1
Septimra
27
0
So, I have been studying angular velocity and linear velocity--and I want to use this information determine if a ray intersects a plane.

linear velocity = dp/dt
angular velocity = dΘ/dt

thus for linear velocity, you have a point in space: the intersection point could be described as

I = Po + rV

(Po) position initial, (I) position final, (V) linear velocity vector, (r) a scalar

then, eloquently you can set it to the plane equation
(Pp) point on plane, (Np) normal of plane

(I - Pp)*Np = 0

I*Np -Pp*Np = 0

by replacing I for the above equation

(Po + rV)*Np -Pp*Np = 0

when worked out you can find r

thus Po plus the velocity vector times a certain scalar will get you the intersection point.
How will this change if you are dealing with angular velocities.

If you guys remember, rotation always stumps me

this guy, in his blog:

http://www.wildbunny.co.uk/blog/2011/04/20/collision-detection-for-dummies/comment-page-2/#comment-3697

is talking about adding them together if you have certain info...i tried but I am extremely lost.
Thanks for your time.
 
Physics news on Phys.org
  • #2
The whole thing is very confused.
Probably not a good idea to use "p" for position, and you need to treat position as a vector.

You can use "t" to parameterize a line in 3D and interpret the parameterization as motion in space.

If you parameterize the line in Cartesian coordinates then you get a linear velocity interpretation of some of the constants and if you parameterize it in spherical polar coordinates you get an angular velocity interpretation of some constants.

To get the intersection, it is not good enough to have "a certain constant" you need to be able to show what it is.

Overall you have been too vague, please refine your question and resubmit.
 
  • #3
Alright, I understand--apologizes

So you have a point, and you have a velocity of that point going in a particular direction

position is a vector(x)
velocity is a vector(v)


xf = xo + v
xf is the final position of the point after being translated by v

and you want to determine when this point is going to hit a plane
the normal of the plane is a vector(n)

the equation of a plane is:
n(xpf-xpo) = 0


xpf is a point on the plane
xpo is another point on the plane that is not xpf


with these two equations its possible to find a magnitude of v such that the point hits the plane

How does this change once angular velocity is introduced.
angular velocity is the change of the angle
do you use this information to calculate linear velocity, and simply add it aka:

xf = xo + v + linear_velocity

Thanks alot, hope this is clearer!
 
  • #4
position is a vector(x)
velocity is a vector(v)

xf = xo + v
xf is the final position of the point after being translated by v
... then it is not a velocity :)
It would be an average velocity for a particular, unnamed, time-step.

Looking through the rest, I'm not convinced you have understood what velocity and angular velocity are.
Let's start from the beginning:

You seem to be looking for the intersection of a trajectory with a surface; but for the specific case that
the surface is a plane and the trajectory is a straight line. The techniques can be applied to any surface and trajectory.

Because I'm lazy, I'll use overarrows in LaTeX and put <> around normal text to indicate vectors.

You can define the line as a trajectory such that ##\vec r = \vec r_0 + \vec v t##
... i.e. the set of all points passing through a reference point <r0> in the direction of <v>.

If P is a point on a plane and <n> is a unit to it, then point Q is on the plane if:
##\vec n \cdot (\vec r_p - \vec r_q) = 0##

So the point the trajectory intersects the plane when ##t: \vec n \cdot (\vec r_p - \vec r(t)) = 0## or something like that right?

##\vec v## would be considered the total instantaneous velocity of point ##\vec r(t)##, and the equations do not depend on the choice coordinate system.

You can get a total angular velocity out of that by ##\vec \omega(t) = \vec r(t) \times \vec v## and the linear velocity is actually represented by a combination of the angular and radial velocities ... taken wrt the reference point that defines ##\vec r## in the first place. i.e. you are probably going to have to define a coordinate system for it to make sense.

You can use it as the point of intersection between a circle and a plane in much the same way though.
 
Last edited:
  • #5
Simon Bridge said:
So the point the trajectory intersects the plane when ##t: \vec n \cdot (\vec r_p - \vec r(t)) = 0## or something like that right?

Yes! This much I do understand. We are on the same page, now let me see if I can get you on the same sentence ;)

Maybe my understanding of linear velocity and angular velocity wrt rotation is off, though. >.>

average angular velocity is the change in the angle for a particular, unnamed, time-step.
average linear velocity is the change in distance for a particular, unnamed, time-step.

Thus what I am attempting to compute is how much an object would rotate, about a particular origin, before it hits a plane.

I understand how to compute when an object would hit a plane, under no rotation.

But if I can calculate how much an object would rotate before it hits the plane. Effectively I can rotate the object by said amount first, and it becomes again--hopefully, reduced to the the prior case of: an object intersection with a plane under no rotation.

i.e. You throw a stick at a wall, and you want to determine how much a point on that stick will spin around a particular origin(most likely the stick's center of mass) before it strikes the wall.

Just so all my cards are on the table, and I don't confuse you anymore than I already have :P I am trying to create a efficient new continuous collision detection algorithm and this information is crucial for it to work with rotated rigid bodies.

Thanks again, your help is extremely relieving--I have been trying to figure this one out of some time now smh
 
  • #6
Thus what I am attempting to compute is how much an object would rotate, about a particular origin, before it hits a plane.
When you talk about rotation you need to be more specific because you need to specify the axis of rotation.

i.e. in the linear motion, the vector ##\vec r(t)## rotates about the origin while the object translates.

I understand how to compute when an object would hit a plane, under no rotation.
... so what do you imagine is doing the rotation?

Sounds like you want an object whose center of mass is traveling in a straight line, but the object itself is rotating about it's center of mass?

For that you'd need the geometry of the object, the rotation speed, an initial orientation, and the com trajectory.

For the stick example - you can plot the trajectory of the ends of the stick ...

eg. a stick length L with uniform mass density has com at L/2 from the ends (i.e. in the middle).
Define: The com has position ##\vec r(t)## and end A has position ##\frac{L}{2}\vec s(t)## from the center of mass.
Therefore the position of end A is ##\vec r_A = \vec r + \vec s## and the position of end B is ##\vec r_B = \vec r - \vec s##.

Notice that ##\vec s## is constantly changing direction with frequency ##\vec \omega##

##\vec\omega /\omega## would be the unit normal for the plane of the rotation.

What I'd normally do is work out some sort of maximum impact parameter - when the com is closer to the surface than that, I would work out it's orientation in detail to see if any part of the object has impacted the surface.

For the above example, an obvious parameter to choose is L/2 ... it is handy to use an explicit parameter for time here: if the time to impact for the com is t, determined from the previous discussion, then t-L/2v is the time to get inside the impact parameter so it is possible that one end or the other of the stick has had an impact.

That would be quick. More exactly: you could also use that the velocity vector <v> has a projection in the plane of rotation that points towards the target plane (that you are interested in impacts with). When the distance to the target plane along this direction is equal to the impact parameter - you will have a collision very soon.

The total angle rotated in that time is ##\theta = \omega (t-L/2v)## and the total number of complete rotations would be ##N=\theta/2\pi##.

What you do then depends on your simulation - you may just want to put an explosion at that point that is biger than L/2 in radius... fudging the impact. Or, since there is going to be less than one more rotation to impact, just use the exact trajectories for the endpoints.
 
  • #7
Yea, I want an object to move about with a certain velocity about its center of mass, and the object to rotate around it...but not quite in that manner. This is what is bringing about the headache I would imagine.

So pretty much with collision detection, you have--essentially two main algorithms: discrete and continuous.

discrete checks triangle collisions per time step, continuous will predict triangle collisions.
The obvious trade off, accuracy for speed is present here.

So I am attempting to employ a new triangle continuous collision detection and this is how the algorithm goes:

When there are two triangles a distance apart, one of the triangles gets recreated out of 3 planes--essentially giving the edges of one of the triangles an extra dimension in the direction of the plane normal, and the other triangle's edges' are tested for intersection with those planes.

There are special cases were the triangle is smaller, but its all handled nicely.

This works because of linear motion, and the area it sweeps is similar to that of a triangular prism.

But then I decided I wanted to extend it to work with rotating triangles, it soon became apparent the area they sweep is that of a screw shape--and that is just too much to calculate in between frames.

Then I thought, if you could rotate the other triangle before hand
i.e. calculate how much a triangle would rotate before it hit a plane with said angular velocity, and said linear velocity

Then you could reduce the problem down back to that of before: that of a triangle vs the walls of a triangular prism.

I probably should have asked if that was even possible first...Is it: possible?


Simon Bridge said:
Notice that ##\vec s## is constantly changing direction with frequency ##\vec \omega##

##\vec\omega /\omega## would be the unit normal for the plane of the rotation.

hmmmm, right here; I don't see what you are pointing out to me.

upon further research I found that sin is related to linear velocity as I thought it should be due to the oscillating nature of rotations. I feel like what your pointing out, and sin are one in the same, but don't quite see it yet.

Would you mind, tying all these concepts together to me. Like i get the ideas, and can use em in my Physics 1 class, but when i try to apply them to things I am doin'--I always come up short.

Thanks again!
 
  • #8
Septimra said:
Then I thought, if you could rotate the other triangle before hand
i.e. calculate how much a triangle would rotate before it hit a plane with said angular velocity, and said linear velocity

Then you could reduce the problem down back to that of before: that of a triangle vs the walls of a triangular prism.

I probably should have asked if that was even possible first...Is it: possible?
Sounds like what I was suggestion but done backwards.

Work out when the objects are close enough to collide, then decide what to do about that.
You can fudge or work the fine detail - already given you the formulae.
You may want to play around with moving blocks along string in your room and see how it works.

hmmmm, right here; I don't see what you are pointing out to me.
The corkscrew shape the object traces out in space... the way the screw rotates need not be perpendicular to the linear part of the trajectory.

upon further research I found that sin is related to linear velocity as I thought it should be due to the oscillating nature of rotations. I feel like what your pointing out, and sin are one in the same, but don't quite see it yet.
The wages of sin is death.

Would you mind, tying all these concepts together to me. Like i get the ideas, and can use em in my Physics 1 class, but when i try to apply them to things I am doin'--I always come up short.
You have not been using the physics understanding of these things to inform your algorithms so I'm not surprised.
You keep trying to use static geometry to solve dynamical problems and it is giving you trouble.

I won't work on this project with you without a contract and remuneration package because I'm a professional and this is the sort of thing I get paid to do. I can point you in the right direction but you seem reluctant to go there so there's not much more I can do except perhaps to get a partner.

Enjoy.
 

FAQ: Linear Velocity and Angular Velocity Point of Intersection

What is the difference between linear velocity and angular velocity?

Linear velocity refers to the speed of an object in a straight line, while angular velocity refers to the speed of an object rotating around a fixed point. In other words, linear velocity measures how fast an object is moving in a specific direction, while angular velocity measures how fast an object is rotating.

How are linear velocity and angular velocity related?

Linear velocity and angular velocity are related through the concept of tangential velocity. Tangential velocity is the linear velocity at a specific point on a rotating object, and it is equal to the product of the angular velocity and the distance from the point to the center of rotation. In other words, the faster an object rotates, the higher its tangential velocity will be.

What is the point of intersection between linear velocity and angular velocity?

The point of intersection between linear velocity and angular velocity is the point on a rotating object where the linear velocity is equal to the tangential velocity. This point is often referred to as the instantaneous center of rotation, and it is constantly changing as the object rotates.

How can I calculate the point of intersection between linear velocity and angular velocity?

The point of intersection can be calculated by dividing the linear velocity by the angular velocity. This will give you the distance from the center of rotation to the point of intersection. Alternatively, if you know the tangential velocity at a specific point on the object, you can divide this velocity by the angular velocity to find the distance to the center of rotation.

Why is understanding the point of intersection between linear velocity and angular velocity important?

Understanding the point of intersection is important because it allows us to analyze the motion of rotating objects and calculate important quantities such as linear and angular acceleration. It also helps us understand the relationship between linear and angular motion and how they are interconnected in rotational motion.

Back
Top