math - 计算向量端点
问题描述
我想找到黄色向量的端点(X,Y,Z)坐标。
在二维中非常简单,但我想在 3D 中围绕 Z 轴旋转 45 度
二维:
lenght: 10
start point: 0, 0
end point X=lenght*COS(45deg)=7,07
end point Z=lenght*SIN(45deg)=7,07
解决方案
- step,黄色向量结束位置在 10,0,0 ->
- step,从 X 轴递增度数,+45 度 ->
- step 将向量端点绕 Z 轴旋转 +45 度,向量新端点坐标是多少?
你使用了一些非常规的术语。特别是不清楚“从X轴增加度数,+45度”是什么意思。无论如何,这可能可以通过旋转矩阵来解决。我假设第 2 步的意思是“沿 Y 轴旋转 45 度”。
所以这给了我们:
步骤1 v1 = (10,0,0)
步骤 2沿 Y 轴旋转 45 度。所以我们应该将我们的向量乘以一个矩阵:
cos(45) 0 sin(45)
0 1 0
-sin(45) 0 cos(45)
这给了我们v2 = (10*sqrt(2)/2, 0, 10*sqrt(2)/2) = (5*sqrt(2), 0, 5*sqrt(2))
步骤 3将矢量端点绕 Z 轴旋转 +45 度。所以我们应该将我们的向量乘以v2
一个矩阵:
cos(45) -sin(45) 0
sin(45) cos(45) 0
0 0 1
这给了我们 v3 = (5, 5, 5*sqrt(2))
。
PS 请注意,通过进行这 2 次旋转,您不会像人们想象的那样得到 3 轴的“中线”,因为该向量显然具有所有 3 个分量相等。
推荐阅读
- angular - TS2339:类型“{}”上不存在属性“文本”
- elasticsearch - 检查项目是否已从数组中索引
- python - 我无法使用 python 抓取表格的 tr 标签
- typescript - 最初未定义的值具有繁琐的初始化语法
- javascript - 如何在javascript的引导数据表中将参数字符串转换为列或已知对象
- firebase - Flutter Driver Location Track by admin
- java - 如何在对象值的 ArrayList 中找到第二高的数字
- php - 从 Google 驱动器身份验证重定向后不可接受的链接
- powershell - 为什么带通配符的get-childitem不好用?
- r - 在 Mac 上更改 R 版本的 shell