如何编程实现二维图形的旋转

原创 2015年11月18日 13:28:53

         把每个顶点绕原点旋转,实现图形的旋转。这个问题就等价于,已知原坐标(x,y)和旋转角度B,求旋转过后的的坐标(x1,y1);下面推导一下,

设顶点到原点距离为r,对应矢量与x轴夹角A,则:

                    x=r cosA,

                    y=rsinA,

                    x1=rcos(A+B)=rcosAcosB-rsinAsinB,

                   y1=rsin(A+B)=rsinAcosB+rcosAsinB;

           再把x,y与对应的值替换掉,可得:

                   x1=xcosB-ysinB,

                   y1=xsinB+ycosB.

           只要把每个顶点都旋转,就可以得到最终的图形。

           c++代码:

int Rotate_poly(POLYGON2D_PTR  poly,int ang){
	
	for(int curr_vert=0;curr_vert<poly->num_verts ;curr_vert++){
	float xr=(float)poly->vlist [curr_vert].x*cos_look[ang]-(float)poly->vlist[curr_vert].y*sin_look[ang];
	float yr=(float)poly->vlist [curr_vert].x*sin_look[ang]+(float)poly->vlist[curr_vert].y*cos_look[ang];
	poly->vlist [curr_vert].x =xr;
	poly->vlist [curr_vert].y =yr;
	}

return 1;


}
           其中,poly是多边形,vlist指向顶点,num_verts是多边形的边数。

                        


版权声明:本文为博主原创文章,未经博主允许不得转载。

第五课 for循环(1)--循环次数控制

第五课  for循环(1)---循环次数控制 【循环引入】   例题5.1:画下面形状的5级梯形。   分析: 研究问题的方法之一是“从简单到复杂”。 步骤 说明 图...
  • ahwhjt
  • ahwhjt
  • 2015年09月30日 00:42
  • 3773

二维图形旋转公式的推导

关于二维图形旋转可能在很多计算机图形学相关的书籍上都会介绍,然而真正理解公式推导过程的却讲得不多。那么如何推导出二维图形绕某一点旋转的公式呢?我在这里就将其推导过程简要的说明一下。其实推导过程比较简单...
  • zhouxuguang236
  • zhouxuguang236
  • 2014年06月17日 21:31
  • 9642

二维图形旋转的实现

二维图形旋转的实现。
  • clever101
  • clever101
  • 2010年11月11日 23:59
  • 7166

图像旋转以及C代码实现

图像旋转就是将图像按一定角度旋转,依据当前点坐标计算出来的旋转后的坐标往不是整数,因此需要进行插值。常用的插值方法有最近邻插值法、线性插值法和样条插值法(这个我也不懂)。最近邻插值速度快,效果差;双向...
  • einsdrw
  • einsdrw
  • 2015年02月05日 11:27
  • 4842

如何编程实现二维图形的旋转

把每个顶点绕原点旋转,实现图形的旋转。这个问题就等价于,已知原坐标(x,y)和旋转角度B,求旋转过后的的坐标(x1,y1);下面推导一下, 设顶点到原点距离为r,对应矢量与x轴夹角A,则:    ...
  • u010534406
  • u010534406
  • 2015年11月18日 13:28
  • 546

黄聪:C#窗体程序OpenGL绘制立方体多边形旋转示例教程(VS2008,Winform)

黄聪:C#窗体程序OpenGL绘制立方体多边形旋转示例教程(VS2008,Winform) 朋友做毕业设计需要通过采集下位机数据绘制一个立方体,帮忙查了一下资料,发现用OpenGL可以很...
  • anlun
  • anlun
  • 2015年02月02日 09:07
  • 1105

计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等

接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结在图形学中,有两大基本工具:向量分析,图形变换。本文将重点讲解向量和二维图形的变换。5.1 ...
  • Jurbo
  • Jurbo
  • 2017年07月12日 18:59
  • 2923

二维图形的几何变换

1、基本几何变换及变换矩阵 基本几何变换都是相对于坐标原点和坐标轴进行的几何变换,有平移、比例、旋转、反射和错切等。 1.1 平移变换 是指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定...
  • wcyoot
  • wcyoot
  • 2014年06月22日 12:08
  • 14327

计算机图形学实验代码(包括图形旋转、图形平移、图形缩放)

  • 2010年05月20日 14:10
  • 2.49MB
  • 下载

编程实现画一个任意多边形,分别计算其平移、旋转和缩放后的结果,并在同一窗口中用不同颜色显示。

  • 2013年12月09日 14:08
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何编程实现二维图形的旋转
举报原因:
原因补充:

(最多只允许输入30个字)