Remodeling uniform circular motion as constant velocity motion between two points

2 ビュー (過去 30 日間)
Cassy A
Cassy A 2017 年 6 月 26 日
編集済み: Cassy A 2017 年 6 月 26 日
The coordinates of A = [Ax; Ay; Az]
The coordinates of B = [Bx; By; Bz]
Radius of circle: r
Scenario 1: A particle undergoing uniform circular motion with constant speed. The tangential velocity vector at A is vC where vC = [vCx; vCy; vCz]. Path shown by red arc.
Scenario 2: The same particle moving in a straight line with constant velocity (constant speed and direction) given by vL = [?; ?; ?]. Path shown by green dotted line.
If the time taken to reach B from a starting position A is the same in both scenarios, for the data given above, can we find vL?
My understanding so far:
1) Find angular velocity (omega) from vC and r.
omega = vC/r
2) Find theta or arc length (s).
3) Find time (t) from t = theta/omega or from t = s/(r*omega).
4) For straight line motion, vL = norm(A-B)/t where we substitute value of t from step 3.
I can't figure out how to find the REQUIRED theta or arc length automatically based on direction of velocity vector vC. In other words, the algorithm needs to know that the theta in this case is the angle marked in the figure and not the angle found from the triangle.

回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 6 月 26 日
Distance of A to center, Ac, is r. Distance of B to center, Bc, is r. Those give two sides of a triangle.
The length of the third side, AB, is given by AB^2 = Ac^2 + Bc^2 - 2 * Ac * Bc * cos(phi) where phi is the angle Ac to cB . See The Law Of Cosines
Substituting, this gives AB^2 = r^2 + r^2 - 2 * r * r * cos(phi) = 2*r^2*(1-cos(phi)) . Rearrange this to 1-cos(phi) = AB^2 / (2*r^2) or cos(phi) = 1 - AB^2 / (2*r^2) . So phi = arccos(1 - AB^2 / (2*r^2))
We calculate AB from the Euclidean coordinates for A and B, and substitute it into the above equation, and take the arccos to get phi.
  1 件のコメント
Cassy A
Cassy A 2017 年 6 月 26 日
編集済み: Cassy A 2017 年 6 月 26 日
Shouldn't we do [(2*pi radians) - phi] to get theta since we are traveling the red path? Is there anyway to automatically let matlab know which angle we are talking about (not phi but theta in this case) since I wish to automate this for any two given points on the circle
Also, in matlab, for velocity vector, vC = [vCx; vCy; vCz], if we divide vC by r, we get angular velocity (omega) as a 3x1 vector. Is that right? I read online that angular velocity is a pseudovector and needs magnitude, the plane of rotation and the sense of rotation (clockwise/anticlockwise) to be defined.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeComputational Geometry についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by