明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: wanchr

问下不移动线段,改变坐标系能做到吗

[复制链接]
发表于 2022-11-16 09:30 | 显示全部楼层
把原线段 (1,1) (2,2) 变换到 (3,3) (4,4) ,需要一个平移向量 (3-1, 3-1) ,
同理,不考虑移动线段,那把坐标原点(0,0)反向平移就可以达到相同的效果。所以是 -(2,2) 即 (-2, -2)。

前提是平移可以达到效果。如果仅平移做不到,那就需要比如旋转、缩放了。

(p1, p2) 为源线段, (p3,p4) 为目标线段, 先平移 p1到p3 ,得到向量 v = p3 - p1 。得到临时线段 (p3, p2')。
计算 (p3, p2') 绕 p3 旋转到 (p3, p4) 的旋转角度 r,得到一个旋转矩阵 (p3, r)。得到线段 (p3, p2'')。此时 (p3, p2'') 与 (p3, p4) 部分重合。
计算 (p3, p2'') 基于p3 进行缩放的比例,才能让p2'' 与 p4重合。得到比例 s。
然后 ucs变量都有了。
将原点基于 p3 进行缩放比例为  (-s) 的缩放, 旋转角度为 -r 的旋转,再施加一个 -v 的平移,就找到ucs原点了。
同理,将向量 (1, 0) 进行-s缩放、-r旋转变换,可以得到新的 x轴变量x'。
将向量(0,1) 进行 -s, -r 缩放、旋转,可以得到y轴变量y'。
 楼主| 发表于 2022-11-16 21:02 来自手机 | 显示全部楼层
ytianxia,你教的真认真,谢谢你,
 楼主| 发表于 2022-11-16 21:33 来自手机 | 显示全部楼层
己知(x1,y1)(x2,y2)对应(a1,b1)(a2,b2),四个坐标,我下面抄来的公式是什么意思呢?
 楼主| 发表于 2022-11-16 21:36 来自手机 | 显示全部楼层
atan2b2-b1,a2-a1)*180/pI()
 楼主| 发表于 2022-11-16 21:38 来自手机 | 显示全部楼层
a1-x1*cos(角*pi()/180)+y1*sin(角*pi()/180)
 楼主| 发表于 2022-11-16 21:41 来自手机 | 显示全部楼层
b1-y1*cos(角*pi()/180)-x1*(sin(角*pi()/180))
 楼主| 发表于 2022-11-16 21:44 来自手机 | 显示全部楼层
上面算出来的一对坐标是什么东西,怎么用到ucs里,谢谢指导一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-8 07:15 , Processed in 0.261803 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表