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度