词条 | D2ROTATE |
释义 | DOS SVGACC图形开发库函数 原型 extern void far d2rotate (int points, int xorigin, int yorigin, int ang, D2Point far *inary, D2Point far *outary) 输入 numpoints - 被旋转的点的个数 xorigin, yorigin - 旋转中心 angle - 相对旋转中心旋转的角度 inary - 指向包含被旋转点的D2Point型数组 输出 无返回值 outary - 指向旋转后的点数组 用法 D2ROTATE提取inary指定的二维点并且按照xorigin和yorigin将它们旋转指定的角度。结果通过outary返回,outary可与inary共用一个空间。正的角度使屏幕上的图形顺时针旋转,即从X轴正向向Y轴正向旋转。此函数假定outary已合适分配。 例子 /* * shows d2rotate works */ #include <stdlib.h> #include <conio.h> #include "svgacc.h" D2Point tri[3]; D2Point trio[3]; D2Point tri2[3]; void drwtri(void); void ertri(void); void main(void) { int vmode,i; vmode = videomodeget(); if (!whichvga()) exit(1); if (whichmem()<512) exit(1); res640(); trio[0].x = 0; trio[0].y = 0; trio[1].x = -80; trio[1].y = 60; trio[2].x = 80; trio[2].y = 60; drwtri(); for(i=0;i<=360;i+=2) { d2rotate(3,0,0,i,trio,tri); drwtri(); sdelay(2); ertri(); } drwtri(); getch(); videomodeset(vmode); exit(0); } void drwtri(void) { d2translate(3,320,240,tri,tri2); drwline(1,10,tri2[0].x,tri2[0].y,tri2[1].x,tri2[1].y); drwline(1,10,tri2[1].x,tri2[1].y,tri2[2].x,tri2[2].y); drwline(1,10,tri2[2].x,tri2[2].y,tri2[0].x,tri2[0].y); return; } void ertri(void) { d2translate(3,320,240,tri,tri2); drwline(1,0,tri2[0].x,tri2[0].y,tri2[1].x,tri2[1].y); drwline(1,0,tri2[1].x,tri2[1].y,tri2[2].x,tri2[2].y); drwline(1,0,tri2[2].x,tri2[2].y,tri2[0].x,tri2[0].y); return; } |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。