wharan 发表于 2023-7-19 11:23:48

liuhe 发表于 2023-7-18 13:45
二维测试和你的函数结果相同

trans函数一直没搞明白。比如当前坐标系中一个矩形的左上角坐标(x1 y1 0),左下角坐标(x0 y0 0)。矩形向右移动了X,向上移动了Y,以左下角为基点旋转了Ang,那么现在原来矩形左上角的坐标现在是多少?
这个经过Polar变换能实现,用trans方法怎么实现呢?

gaics 发表于 2023-7-19 16:53:06

本帖最后由 gaics 于 2023-7-19 17:02 编辑

wharan 发表于 2023-7-19 11:23
trans函数一直没搞明白。比如当前坐标系中一个矩形的左上角坐标(x1 y1 0),左下角坐标(x0 y0 0)。矩形 ...
挺复杂

guosheyang 发表于 2023-7-19 19:42:00

wharan 发表于 2023-7-19 11:23
trans函数一直没搞明白。比如当前坐标系中一个矩形的左上角坐标(x1 y1 0),左下角坐标(x0 y0 0)。矩形 ...

这个用polar应该是较为简单的方法

gaics 发表于 2023-7-19 19:44:22

wharan 发表于 2023-7-19 11:23
trans函数一直没搞明白。比如当前坐标系中一个矩形的左上角坐标(x1 y1 0),左下角坐标(x0 y0 0)。矩形 ...

(mapcar'+(trans(trans (list x1 y1) 0 (list (cos (- ang))(sin (- ang))))'(1 0 0)0)(list x y))

gaics 发表于 2023-7-19 19:45:25

guosheyang 发表于 2023-7-19 19:42
这个用polar应该是较为简单的方法

没错,trans反而复杂了

wharan 发表于 2023-7-19 20:22:04

gaics 发表于 2023-7-19 19:45
没错,trans反而复杂了

之所以出这个问题,是为了想弄明白trans的用法

guosheyang 发表于 2023-7-19 20:32:26

gaics 发表于 2023-7-19 19:44
(mapcar'+(trans(trans (list x1 y1) 0 (list (cos (- ang))(sin (- ang))))'(1 0 0)0)(list x y))

朋友请问你这里面咋没有 (x0 y0 0)点呢?

gaics 发表于 2023-7-19 20:34:49

本帖最后由 gaics 于 2023-7-19 21:49 编辑

guosheyang 发表于 2023-7-19 20:32
朋友请问你这里面咋没有 (x0 y0 0)点呢?谢郭哥提醒,本以为是相对位移不用考虑呢。实践证明不行。

guosheyang 发表于 2023-7-19 20:44:29

gaics 发表于 2023-7-19 20:34
用相对位移(x y)就够了,(x0 y0 0)没啥用,旋转角度也是相对的。



我测试了下这个图形好像有些误差

guosheyang 发表于 2023-7-19 20:49:01

x=484.937   y=348.189   左下角点 p0(758.191 -682.822 0.0)    左上角点p1 (758.191 -520.267 0.0)旋转角45度
页: 1 [2] 3
查看完整版本: 求点在用户坐标系下的坐标