我没学数学,很简单的坐标转换问题?

sxmliu 2004-10-22 10:20:36
图片在http://218.75.127.234/Q.jpg

意思是一个画图环境转了-90度,然后哪个原先的(x,y)点和后来的(x1,y1)是什么关系
各位帮我写一个用x,y来求x1,y1的公式,多谢
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
syy64 2004-10-22
  • 打赏
  • 举报
回复
要求两个坐标系共一个原点,如果不是就平移到一起,角度从旧坐标系的X正向开始逆时针方向的角度;
// 仿射变换。
//dx1,dy1-->点在旧坐标系中的坐标;
//dAngle--->旋转角度,以弧度为单位,从旧坐标系的x正向逆时针到新坐标系X正向的角度;
//pdx2,pdy2-->返回的点在新坐标系中的坐标。
void CoordTransformation(double dx1, double dy1, double dAngle, double *pdx2, double *pdy2)
{
double a1, b1;

a1 = cos(dAngle);
b1 = sin(dAngle);
*pdx2 = a1*dx1+b1*dy1;
*pdy2 = -b1*dx1+a1*dy1;
}

// 仿射变换反变换。
//dx1,dy1-->点在新坐标系中的坐标;
//dAngle--->旋转角度,以弧度为单位,从旧坐标系的x正向逆时针到新坐标系X正向的角度;
//pdx2,pdy2-->返回的点在旧坐标系中的坐标。
void CoordAntiTransformation(double dx1, double dy1, double dAngle, double *pdx2, double *pdy2)
{
double a1, b1;

a1 = cos(dAngle);
b1 = sin(dAngle);
*pdx2 = a1*dx1-b1*dy1;
*pdy2 = b1*dx1+a1*dy1;
}
逸学堂 2004-10-22
  • 打赏
  • 举报
回复
只有你前提知道X,Y坐标,
并且知道旋转角度
才可以求出XY旋转后的坐标!
其实
算法很简单的!
逸学堂 2004-10-22
  • 打赏
  • 举报
回复
如果你能旋转,就一定知道旋转点(x0,y0)吧!
你可以先求(X,Y)与旋转点X0,Y0相对于X坐标的角度值
在求(X1,Y1)与旋转点X0,Y0相对于X坐标的角度值,
两值相减就的其关系
sxmliu 2004-10-22
  • 打赏
  • 举报
回复
又错了
是x,y点在新的坐标体系中的数值怎么算

实在太不好意思了,我没念多少书,各位莫见怪
sxmliu 2004-10-22
  • 打赏
  • 举报
回复
不好意思
提意错了
应该是坐标体系不变
转了之后x,y这点的值和原先这点(同个点)的值是什么关系

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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