乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 17|回复: 11

[编程交流] 垂直平面旋转

[复制链接]

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:14:37 | 显示全部楼层 |阅读模式
因为解析几何是我的弱点(其中一个…)如果有人可以帮助我使用公式,以给定角度(alfa)围绕他们定义的垂直平面中的另一个点(P1)旋转一个点(P2),我将不胜感激–我正在寻找公式以获得结果点(P3)。
我必须提到,我将在其他编程语言中使用它,因此基于AutoCAD的图形解决方案是不可能的。
 
谢谢大家的关注!
回复

使用道具 举报

1

主题

116

帖子

115

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:20:57 | 显示全部楼层
嗨,米尔恰,当我看到你的问题时,我的第一个想法是:
 
这是使用AutoCAD约定绕点P1的z轴旋转,逆时针角度为正,顺时针角度为负。但我有点担心我误读了这个。。。
 
 
我是否误解了这个问题?
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:30:56 | 显示全部楼层
克林特,谢谢你的关注!恐怕你确实误解了这个问题。我会试着贴一张照片。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:32:42 | 显示全部楼层
对于任何感兴趣的人:
回复

使用道具 举报

1

主题

116

帖子

115

银币

初来乍到

Rank: 1

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

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

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

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

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

使用道具 举报

1

主题

116

帖子

115

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:57:04 | 显示全部楼层
1+
我同意斯特凡和米尔恰的观点。
如果这有助于避免任何混淆的话,我提到的李的函数就是这样做的
 

                               
登录/注册后可看大图

 
正如维基百科文章罗德里格斯的旋转公式中提到的那样
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

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

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:08:47 | 显示全部楼层
非常感谢各位的解决方案!我会复习这些,然后再回来找你。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 00:09 , Processed in 0.510651 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表