图片在http://218.75.127.234/Q.jpg意思是一个画图环境转了-90度,然后哪个原先的(x,y)点和后来的(x1,y1)是什么关系
各位帮我写一个用x,y来求x1,y1的公式,多谢
各位帮我写一个用x,y来求x1,y1的公式,多谢
解决方案 »
- 多个客户端与服务器端建立通信的问题?
- 请问网上下载的Microsoft Surface Colloge 图片拖动、放大的实现方法
- 有谁用过VC的界面库 DSkinLite,用过的告诉我怎么用
- 请教个问题,MDI和view的100分!!!!
- ISAPI问题:为什么我的ISAPI不能读写文件
- 正则表达式的问题
- 我的VC老出以下毛病!!!!
- 大家帮忙,给个建议,小弟在犹豫是不是要跳槽,谢谢
- 如何通过网络播放和接收DVD (MPEG-4格式的)视频流????????
- file.open打开的txt文件如何存入数组
- 我的主对话框中有一个combo box,我想在对话框初始时把d:\1.txt中的记录逐条读入combo box,可是运行结果无错误,但对话框却不出现了。
- 在MFC的ActiveX里面加了一个Dialog,想获得ActiveX的属性,新加接口,还是直接可以访问?
你可以先求(X,Y)与旋转点X0,Y0相对于X坐标的角度值
在求(X1,Y1)与旋转点X0,Y0相对于X坐标的角度值,
两值相减就的其关系
并且知道旋转角度
才可以求出XY旋转后的坐标!
其实
算法很简单的!
// 仿射变换。
//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;
}