math - 在 3D 上计算矢量的方向
问题描述
我想知道计算矢量方向的理论。
例如,我想让 P2 紧跟在 P1 后面,而 P1 围绕 Z 移动。
让我们 P1 不是负 Z,所以 P1 会有案例:(+, +, +), (+, -, +), (-, -, +), (-, +, +).
在这种情况下,我可以计算标量,但不能计算 P2 的方向。
比如我只计算P1和P2的坐标,把P2和结果放在一起,P2可以走在P1的前面而不是后面。
所以我想知道如何计算矢量方向?
我想知道“理论”。
谢谢你的帮助。
解决方案
首先:
设P1绕Z轴运动,其位置为(w为角速度)
Z1 = Z0
X1 = R * Cos(w * t)
Y1 = R * Sin(w * t)
P2的起始位置是
Z2 = Z0 // the same height, so later Z-component is not considered, vz = 0
X2 = 2 * R
Y2 = 0
在每一步,我们都应该计算 P1 的位置,并给 P2 一些位移以跟随 P1。
dx = X1 - X2
dy = Y1 - Y2
vx = dx * C
vy = dy * C
X2 = X2 + vx * dt
Y2 = Y2 + vy * dt
这dt
是计算之间的时间间隔,C 是一些速度 - 或常数,或取决于距离有一些限制。
v(vx, vy, vz) 是从当前 P2 位置指向当前 P1 位置的向量。
推荐阅读
- reactjs - react-redux如何显示state的值
- batch-file - 使用批处理文件更改日志文件路径
- azure - 有没有办法使用 Powershell 获取 Azure 资源所属的 Log Analytics 工作区?
- reactjs - mousemove 事件,访问此上下文
- vba - 无法在 Access 2013 中的 2 个弹出表单之间传递值
- json - 请求成功后 Cloud Functions for Firebase 无法处理请求
- python - 循环遍历几个值以填充 Pandas Dataframe 中的 NaN
- codenameone - 打开带有按钮的容器,在代号中单击按钮
- python - 是否可以将值从列表解包到切片?
- android-studio - 如何在 Android Studio 的工具窗口中设置颜色?