MSasu 发表于 2022-7-5 23:14:37

垂直平面旋转

因为解析几何是我的弱点(其中一个…)如果有人可以帮助我使用公式,以给定角度(alfa)围绕他们定义的垂直平面中的另一个点(P1)旋转一个点(P2),我将不胜感激–我正在寻找公式以获得结果点(P3)。
我必须提到,我将在其他编程语言中使用它,因此基于AutoCAD的图形解决方案是不可能的。
 
谢谢大家的关注!

cwake 发表于 2022-7-5 23:20:57

嗨,米尔恰,当我看到你的问题时,我的第一个想法是:
 
这是使用AutoCAD约定绕点P1的z轴旋转,逆时针角度为正,顺时针角度为负。但我有点担心我误读了这个。。。
 
 
我是否误解了这个问题?

MSasu 发表于 2022-7-5 23:30:56

克林特,谢谢你的关注!恐怕你确实误解了这个问题。我会试着贴一张照片。

MSasu 发表于 2022-7-5 23:32:42

对于任何感兴趣的人:

cwake 发表于 2022-7-5 23:36:59

如果我现在更正确地理解Mircea,我认为最简单的事情是遵循Lee Mac的LM中的数学:3D变换下的旋转3D函数。如果您可以将它和相关的矩阵乘法函数转换为其他编程语言,它应该可以做到这一点。
 
http://www.lee-mac.com/matrixtransformationfunctions.html
 
你需要提供旋转的法向单位向量,在李的函数中由u,ux,uy和uz定义。
 
我知道你想要实现的旋转总是在垂直平面上?为了得到法向单位向量,你可以用这行代码来代替数学
(mapcar 'set '(ux uy uz) (setq u (unit (mapcar '- p2 p1))))
2其中点P1由'(x1 y1 z1)定义,点P2由'(x2 y2 z2)定义

BIGAL 发表于 2022-7-5 23:43:42

看图像,你需要更多的角度,不仅仅是alpha,如果我正确理解alpha是倾斜平面中的角度,在使用UCS的autocad中,它非常简单,可以解决。我认为你需要更多的角度β&γ=垂直&水平。
 
也许首先有一个用于测量球体公式的谷歌,如果你认为它是球上的一个点,那么可能有人已经这样做了。一个3pt楔形公式?平面切割球体?我的谷歌在哪里。

Stefan BMR 发表于 2022-7-5 23:48:04

礼炮Mircea
 
您需要定义旋转轴。在Autocad中,这是通过拾取2个点来实现的(请参见旧的rotate3d命令)。
所以你有一个要旋转的点p,一个原点和一个方向。现在你可以应用罗德里格斯的旋转公式。
我给你写了一个样本。在最后的公式中,“x”表示叉积。
3D-rot.pdf

cwake 发表于 2022-7-5 23:57:04

1+
我同意斯特凡和米尔恰的观点。
如果这有助于避免任何混淆的话,我提到的李的函数就是这样做的
 
http://upload.wikimedia.org/math/f/3/8/f38880c7bca605595a32c025ebf4a9ab.png
 
正如维基百科文章罗德里格斯的旋转公式中提到的那样

Stefan BMR 发表于 2022-7-6 00:03:20

Mircea,这是另一个解决方案。
这只是为了测试,但如果你想进一步发展这个想法,你应该考虑以下几点:
-平面的法向量可以在一个方向上,也可以在另一个方向上,因此有两个可能的答案。你可以约定什么是正旋转和负旋转。
-atan函数返回间隔-pi/2。。。pi/2,但在我的解决方案中,需要真实角度,在区间0。。。2pi。(即附件中的a.z)。这可以通过研究选定点的相对位置来实现。
3D rot II。pdf

MSasu 发表于 2022-7-6 00:08:47

非常感谢各位的解决方案!我会复习这些,然后再回来找你。
页: [1] 2
查看完整版本: 垂直平面旋转