问一个解析几何的问题

iamfancy 2001-12-30 09:15:31
现在我有两个点 O(x0, y0) 和 A(x, y),条件中还有一个角度 n,现在需要求 A 绕 O 旋转 n 度后的坐标,该怎么计算?如果 n 是特殊角度 0, 90, 180, 270 呢?
...全文
147 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamfancy 2002-01-04
  • 打赏
  • 举报
回复
谢谢了,我想问题已经解决了,
eastsun 2001-12-31
  • 打赏
  • 举报
回复
你得定义饶,是按照顺时针还是逆时针。
Arter 2001-12-31
  • 打赏
  • 举报
回复
n 是逆时针方向的角度!
当然一般化为弧度:n <-- PI*n/180
Arter 2001-12-31
  • 打赏
  • 举报
回复
set P(0,0).

PO = (x0,y0)
PA = (x,y)
OA = (x-x0,y-y0)
OA' =OA.(cos(n),sin(n)) = ((x-x0)*cos(n)-(y-y0)*sin(n),(x-x0)*sin(n)+(y-y0)*cos(n))
PA'=PO + OA' =(x0+(x-x0)*cos(n)-(y-y0)*sin(n),y0+(x-x0)*sin(n)+(y-y0)*cos(n))

so A'(x,y)=(x0+(x-x0)*cos(n)-(y-y0)*sin(n),y0+(x-x0)*sin(n)+(y-y0)*cos(n))



BlueDog 2001-12-30
  • 打赏
  • 举报
回复
也可以用复数形式解决

用复数乘法也可以
puppet 2001-12-30
  • 打赏
  • 举报
回复
对平面直角坐标系
设旋转後的坐标位n(xx,yy);
则:xx=x0+|OA|cos(jiaodu);
yy=y0+|OA|sin(jiaodu)
iamfancy 2001-12-30
  • 打赏
  • 举报
回复
没有人能够回答吗?
dongmen 2001-12-30
  • 打赏
  • 举报
回复

ox,oy:o点坐标
ax,ay:a......
nx,ny:新坐标

dx=ax-ox;
dy=ay-oy;
逆时针旋转90度:
nx:=ox-dy;
ny:=oy+dx;
逆180
nx:=ox-dx;
ny:=oy-dy;
逆270
nx:=ox+dy;
ny:=ox-dx;
dongmen 2001-12-30
  • 打赏
  • 举报
回复
特殊角?你说的都是90度的倍数的吗?
Elminster 2001-12-30
  • 打赏
  • 举报
回复
绕哪个点转不是问题,先坐标变换,也就是平移啦,把 O 点作为新原点,然后处理旋转问题就简单多了。而且在这种情况下,如果旋转 90度、180度、270度,处理起来极为简单,一般只要加上正负号或者交换 x、y 值,画个图一望而知。然后再把坐标系平移回来。OK?
iamfancy 2001-12-30
  • 打赏
  • 举报
回复
如果只是这样,我也会做……不过……能不能不用乘法??
我要求的只是特殊角度啊,而且,我不是绕原点转,是绕某个点转。
使用复数乘法应该怎么做,请写详细一点?
starfish 2001-12-30
  • 打赏
  • 举报
回复
简单的解析几何问题,看看解析几何的书吧,用矢量乘法计算比较好(尽量避免除法运算)

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧