郑州大学计算机图形学课程设计_第1页
郑州大学计算机图形学课程设计_第2页
郑州大学计算机图形学课程设计_第3页
郑州大学计算机图形学课程设计_第4页
郑州大学计算机图形学课程设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学课程设计学院: 水利与环境学院 专业: 地理信息系统 学号: 姓名: 指导老师: 2015/12/11目录课程设计的目的3一、基本图元的绘制31.1数值微分法画直线31.2MFC线型41.3 直线造型51.4 中点画圆法7二、曲线的绘制82.1 正弦曲线82.2 极坐标曲线102.3 参数样条112.4 贝齐曲线1142.5贝齐曲线215三、区域填充163.1 填色163.2 图案填充18四、图形变换194.1 放大194.2 平移204.3 旋转224.4 小车23五、空间图形245.1 螺旋线245.2线框图255.3透视投影265.4 表面模型与消隐295.5 二次曲面31六

2、、光照效果336.1 百叶窗336.2 球体34七、DEM35课程设计的目的计算机图形学绘制的图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。从构成要素上看,图形主要分为两类,一类是几何要素在构图中具有突出作用的图形,如工程图、等高线地图、曲面的线框图等,另一类非几何要素在构图中具有突出作用的图形,如明暗图、晕渲图、真实感图形等。通过课程设计,是自己了解计算机图形学的有关原理,算法。掌握基本图形显示程序设计方法,会调用MFC封装的绘图函数,会使用DDA、中点法和Bresenham算法绘制各种图元,达到像素级操作。能够学会二维和三维图形变换的原理,学会画三维框架图和几

3、种常用的投影。在此基础上学会消隐及表面建模。掌握绘制真实感图形的主要技术,学习和掌握局部光照模型,为进一步学习计算机辅助设计方面的技术知识打下基础。一、基本图元的绘制1.1数值微分法画直线1.直线的基本微分方程为:,设直线通过点和,则直线方程可表示为:,如果已知第点的坐标,可用步长和得到第点的坐标为:,或将算得的直线上每个点的当前坐标,按四舍五入得到光栅点的位置。2代码展示:3运行结果:图1-1数值微分法画直线1.2MFC线型1、VC+中的画笔是用来绘制直线、曲线或图形的边界线,是绘图工具类之一。画笔通常具有线型、宽度和颜色这3中属性。画笔的线型通常有实线、虚线、点线、点画线、双点划线、不可见

4、线和内框架线7种,这些线型都是以“PS_”为前缀的预定义标识符。画笔的宽度用于确定所画的线条的宽度,是用设备坐标像素表示的。画笔的颜色确定了所画线条的颜色。默认的画笔是一个像素单位的黑色实线。要想更换新画笔,可以在创建画笔对象后,将其选入设备上下文,就可使用新画笔进行绘图。2、代码展示:void display:MFCxianxing(CDC *pDC)/调用mfc线形,记得修改参数和变量名。void drawtape:MFC(CDC *pDC)const int nLeft=30;CPen LinePen;CPen *OldPen;int nsize8=1,1,1,1,1,10,20,30;

5、 long PenStyle8=PS_SOLID,PS_DASH,PS_DOT,PS_DASHDOT,PS_DASHDOTDOT,PS_SOLID,PS_SOLID,PS_SOLID; CString PenStyleName8=SOLID,DASH,DOT,DASHDOT,DASHDOTDOT,Width=10,Width=20,Width=30;for(int i=0;iTextOut(nLeft,(i+1)*30,PenStyleNamei); /绘制提示文本LinePen.CreatePen(PenStylei,nsizei,RGB(255,0,0); /建立CPen对象if(i=0)

6、OldPen=pDC-SelectObject(&LinePen); /记录原画笔elsepDC-SelectObject(&LinePen);pDC-MoveTo(140,(i+1)*30+10);pDC-LineTo(340,(i+1)*30+10); /画线LinePen.DeleteObject(); /释放CPen类对象所占的存储空间pDC-SelectObject(OldPen);3、运行结果:图1-2 MFC线型1.3 直线造型1、课程设计中的直线造型即为“金刚石”的绘制。通过两个for循环语句与直线绘制函数的巧妙结合即可绘制出如图1-3的效果。2、 代码展示:void disp

7、lay:MFCxianxing(CDC *pDC)/调用mfc线形,记得修改参数和变量名。void drawtape:MFC(CDC *pDC)const int nLeft=30;CPen LinePen;CPen *OldPen;int nsize8=1,1,1,1,1,10,20,30; long PenStyle8=PS_SOLID,PS_DASH,PS_DOT,PS_DASHDOT,PS_DASHDOTDOT,PS_SOLID,PS_SOLID,PS_SOLID; CString PenStyleName8=SOLID,DASH,DOT,DASHDOT,DASHDOTDOT,Widt

8、h=10,Width=20,Width=30;for(int i=0;iTextOut(nLeft,(i+1)*30,PenStyleNamei); /绘制提示文本LinePen.CreatePen(PenStylei,nsizei,RGB(255,0,0); /建立CPen对象if(i=0)OldPen=pDC-SelectObject(&LinePen); /记录原画笔elsepDC-SelectObject(&LinePen);pDC-MoveTo(140,(i+1)*30+10);pDC-LineTo(340,(i+1)*30+10); /画线LinePen.DeleteObject(

9、); /释放CPen类对象所占的存储空间pDC-SelectObject(OldPen);3、运行结果:图1-3 直线造型1.4 中点画圆法1、根据圆的对称性只要画出圆上的1/8圆弧AB,根据圆的对称性画出整个圆仍考虑圆心在原点,半径为的第一个8分圆。在弧AB上设当前点像素为P(Xp,Yp),按顺时针方向生成圆弧时,为了最佳逼近圆弧,下一个像素只能是正右方的P1,或右下方的P2两者之一。为判别P1或P2,构造函数F(X,Y)=X2+Y2-R2。对于圆上的点,F(X,Y)=0;对于圆外的点F(X,Y)0;而对于圆内的点,F(X,Y)0。假设M是P1和P2的中点,及M=(Xp+1,Yp-0.5),

10、那么,当F(M)0时,P2离圆弧更近,应取P2,当F(M)=0时,在P1与P2之中随便取一个即可,我们约定取P2,即F(M)0,应取P1,F(M)0,应取P2为继续确定下一个像素,构造判别式:d=F(M)=F(Xp+1,Yp-0.5)=(Xp+1)2+(Yp-0.5)-R2当dSetPixel(x,y,color);while(xy)if(dSetPixel(x+x0,y+y0,color);pDC-SetPixel(-x+x0,y+y0,color);pDC-SetPixel(-x+x0,-y+y0,color);pDC-SetPixel(x+x0,-y+y0,color);pDC-SetP

11、ixel(y+x0,x+y0,color); pDC-SetPixel(-y+x0,x+y0,color);pDC-SetPixel(-y+x0,-x+y0,color);pDC-SetPixel(y+x0,-x+y0,color);3、运行结果:图1-4 中点画圆二、曲线的绘制2.1 正弦曲线1、正/余弦曲线:即通过正余弦曲线函数找到曲线上适当数量的点,采用以直代曲的方法,最终连点成线。2、部分代码展示:void display:Sin(CDC *pDC)/正玄函数int scale=50;float px64,py64;float x,y;CPoint point64;for(int i=

12、0;i64;i+)pxi=0.1*i;pyi=sin(pxi);for(i=0;i64;i+)pointi.x=300+scale*pxi;pointi.y=250-scale*pyi;for(i=0;iMoveTo(300,250);pDC-LineTo(pointi);3、运行结果: 图2-1 正弦曲线2.2 极坐标曲线1、极坐标曲线:此图由于根据极坐标找点,涉及到将极坐标的点转化“xoy”坐标系中。相关转换如下:2、代码展示:void display:JiZuoBiao(CDC *pDC,COLORREF color)/极坐标曲线int x,y;float t,PI=3.14159265

13、3,r;for(float i=0;iSetPixel(x,y,color);3、运行结果:图2-2 极坐标曲线2.3 参数样条1、三次样条曲线:由于“以直代曲法”的局限性,在进行相关应用时切需要一种能更精确的描绘通过任意离散点的曲线的绘图方法,三次样条就是其中插值法的典型代表,其具体画法如下:1) 给定点P1,P2,P3Pn;2) (i=1,2,3n-1), (i=2,3,4n-1) (i=2,3,4n-1) 3) (i=1,2,3n-1)(追过程) (i=2,3,4n)4) (赶过程) (i=n-1,n-2,1) 可求出 5) 求其系数: 6) 代人方程: 求出方程后,再由“以直代曲法”绘

14、制相应的曲线,如图三次样条曲线。2、代码展示:void display:Spline(CDC *pDC)/参数样条DPoint p12;p1.x=10;p1.y=3;p2.x=4; p2.y=2;p3.x=5; p3.y=0;p4.x=4; p4.y=-2;p5.x=3; p5.y=-3;p6.x=2; p6.y=-2;p7.x=1.50; p7.y=0;p8.x=1; p8.y=2;p9.x=0; p9.y=3;p10.x=-2; p10.y=1;p11.x=-7; p11.y=3;float u11,t11, a12,b12,c12,l12,s;/对应矩阵中的a,l,c,u.t为弦长DPo

15、int A12,B12,C12,D12,d12,x12,y12;CPoint sp11,csp;for(int i=1;iMoveTo(spi.x,spi.y);else pDC-LineTo(spi);/以上是绘制折线for(i=1;i11;i+)ti=sqrt(pi+1.x-pi.x)*(pi+1.x-pi.x)+(pi+1.y-pi.y)*(pi+1.y-pi.y);a11=1.0;c1=1;for(i=2;i11;i+)ai=ti/(ti+ti-1);ci=1-ai;for( i=2;i11;i+)di.x=3*ci*(pi+1.x-pi.x)/ti+3*ai*(pi.x-pi-1.x

16、)/ti-1;di.y=3*ci*(pi+1.y-pi.y)/ti+3*ai*(pi.y-pi-1.y)/ti-1;d1.x=3*(p2.x-p1.x)/t1;d1.y=3*(p2.y-p1.y)/t1;d11.x=3*(p11.x-p10.x)/t10;d11.y=3*(p11.y-p10.y)/t10;/下面求解方程组l1=2;for(i=1;i11;i+)ui=ci/li;li+1=2-ai+1*ui;y1.x=d1.x/l1;y1.y=d1.y/l1;for(i=2;i0;i=i-1)xi.x=yi.x-ui*xi+1.x;xi.y=yi.y-ui*xi+1.y;for(i=1;iSe

17、lectObject(&newpen);for(i=1;i12;i+)for(s=0;sMoveTo(csp); else pDC-LineTo(csp);pDC-TextOut(500,380,样条曲线);3、运行结果:图2-3 参数样条2.4 贝齐曲线11、MFC种封装的函数PolyBezier可以以用于绘制Bezier曲线。2、代码展示:void display:Bezier1(CDC *pDC)CPoint pt10;int x,y;pt0.x = 15 ; pt0.y = 100 ; pt1.x = 50 ; pt1.y = 25 ; pt2.x = 120 ; pt2.y = 25

18、 ; pt3.x = 170 ; pt3.y = 100 ; pt4.x = 200 ; pt4.y = 175 ; pt5.x = 250 ; pt5.y = 175 ; pt6.x = 300 ; pt6.y = 100 ; pt7.x = 350 ; pt7.y = 25 ; pt8.x = 400 ; pt8.y = 25 ; pt9.x = 550 ; pt9.y = 175 ;pDC-PolyBezier(pt,10);3、运行结果:图2-4 贝齐曲线2.5贝齐曲线21、贝塞尔曲线,又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线

19、,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在photoshop绘图工具上看到的钢笔工具就是来做这种曲线.贝齐曲线是逼近法绘制随机曲线的典型代表。算法如下:1) 给定n+1个控制点;2) 根据式子:, 2、代码展示void display:Bezier2(CDC *pDC)float x,y;for(float t=0;tMoveTo(int(300+50*x),int(250-50*y);pDC-LineTo(int(300+50*x),int(250-50*y);3、运行结果:图2-5 贝齐曲线2三、区域填充3.1 填色1、种子填充算法又称为边界填充算法。其基本

20、思想是:从多边形区域的一个内点开始,由内向外用给定的颜色画点直到边界为止。如果边界是以一种颜色指定的,则种子填充算法可逐个像素地处理直到遇到边界颜色为止。从区域内任意一点出发,通过上、下、左、右四个方向到达区域内的任意像素。用这种方法填充的区域就称为四连通域;这种填充方法称为四向连通算法。从区域内任意一点出发,通过上、下、左、右、左上、左下、右上和右下八个方向到达区域内的任意像素。用这种方法填充的区域就称为八连通域,这种填充方法称为八向连通算法。此算法所采用的基本方法是首先确定(x; y)点的像素点是否在区域内尚未被访问过的那一部分之中,也就是说,如果这个像素点的值是原始值old-value,

21、则需要把它改为填充的值new-value,然后按八连通区域性质先后访问其八个相邻的像素点,当访问其中每一个近邻像素点时,都要进行递归调用。算法描述:(1)对种子所在的像素段进行填充。(2)从右向左检查种子所在行的上一行,将检查到的像素段依次编号存入堆栈,堆栈内存储的是像素段最右边的坐标。接着检查种子所在行的下一行,做同样处理。(3)若堆栈为空,则算法结束。否者取栈顶元素,已此像素为新的种子返回(1)继续执行。2、代码展示:void display:Color(CDC *pDC)RECT Rect1;Rect1.left = 55;Rect1.top = 40;Rect1.right = 670

22、;Rect1.bottom = 290;/定义一个画刷CBrush Brush(RGB(255,0,0);/用画刷填充矩形pDC-FillRect (&Rect1,&Brush);3、运行结果:图3-1 填色3.2 图案填充1、进行位图填充图案时,首先要在工具栏中的Insert Resourse 选择新建或引入“Bitmap”,定义Cbitmap类对象,调入图片,定义Cbrush类对象,使用CreatePatternBrush函数载入到画刷进行填充。2、代码展示:void display:Pattern(CDC *pDC)CBitmap bitmap;bitmap.LoadBitmap(IDB

23、_BITMAP1);CBrush brush (&bitmap);CBrush *OldBrush=pDC-SelectObject(&brush);pDC-Rectangle(100,100,600,400);pDC-SelectObject(OldBrush);3、运行效果:图3-2 图案填充四、图形变换4.1 放大1、放大是相对于原点的,当Sx,Sy大于1时,就是放大变换: =2、代码展示:void display:Enlarge(CDC *pDC,bool B)int scale=2;pDC-TextOut(550,350,单击鼠标左键放大,双击鼠标左键还原);if(B=false)R

24、ECT Rect1;Rect1.left = 410;Rect1.top = 140;Rect1.right = 460;Rect1.bottom = 300;CBrush Brush(RGB(255,0,0);pDC-FillRect (&Rect1,&Brush);pDC-TextOut(410,310,原图);if(B)RECT Rect1;Rect1.left =scale*410-425;Rect1.top = scale*140-225;Rect1.right = scale*460-425;Rect1.bottom = scale*300-225;CBrush Brush(RGB

25、(255,0,0);pDC-FillRect (&Rect1,&Brush);pDC-TextOut(390,400,放大后的图);3、运行结果:图4-1.1 放大之前图4-1.2 放大之后4.2 平移1、平移变换矩阵: =2、代码展示:void display:Move(CDC *pDC,bool B)/平移int x1=400,y1=150,x2=450,y2=300;if(B=false)pDC-Rectangle(x1,y1,x2,y2);pDC-TextOut(410,310,原图);pDC-TextOut(350,350,单击鼠标左键即可得到平移后的图形);if(B)pDC-Rec

26、tangle(x1+250,y1,x2+250,y2);pDC-TextOut(590,320,平移后的图);pDC-TextOut(550,350,双击鼠标左键还原);3、运行结果:图4-2.1 平移之前图4-2.2 平移之后4.3 旋转1、旋转变换矩阵:=2、代码展示:void display:Xuanzhuan(CDC *pDC)/旋转int x1=310,y1=190,x2=690,y2=210;floatPI=3.141592653;pDC-MoveTo(x1*cos(t)-y1*sin(t)-500*cos(t)+200*sin(t)+500),x1*sin(t)+y1*cos(t

27、)-500*sin(t)-200*cos(t)+200);pDC-LineTo(x2*cos(t)-y1*sin(t)-500*cos(t)+200*sin(t)+500),x2*sin(t)+y1*cos(t)-500*sin(t)-200*cos(t)+200);pDC-MoveTo(x2*cos(t)-y1*sin(t)-500*cos(t)+200*sin(t)+500),x2*sin(t)+y1*cos(t)-500*sin(t)-200*cos(t)+200);pDC-LineTo(x2*cos(t)-y2*sin(t)-500*cos(t)+200*sin(t)+500),x2*

28、sin(t)+y2*cos(t)-500*sin(t)-200*cos(t)+200);pDC-MoveTo(x2*cos(t)-y2*sin(t)-500*cos(t)+200*sin(t)+500),x2*sin(t)+y2*cos(t)-500*sin(t)-200*cos(t)+200);pDC-LineTo(x1*cos(t)-y2*sin(t)-500*cos(t)+200*sin(t)+500),x1*sin(t)+y2*cos(t)-500*sin(t)-200*cos(t)+200);pDC-MoveTo(x1*cos(t)-y2*sin(t)-500*cos(t)+200*

29、sin(t)+500),x1*sin(t)+y2*cos(t)-500*sin(t)-200*cos(t)+200);pDC-LineTo(x1*cos(t)-y1*sin(t)-500*cos(t)+200*sin(t)+500),x1*sin(t)+y1*cos(t)-500*sin(t)-200*cos(t)+200);t+=1*PI/180.0;3、运行结果:图4-3 旋转4.4 小车1、绘制移动小车时,应用绘制多边形画出小车的轮廓。本实例结合使用了直线画法,圆的画法,图形平移,图形旋转等知识点。2、代码展示:void display:MoveCar(CDC *pDC)if(x0Rec

30、tangle(x0-r-10,260,x0+100+r+10,300);pDC-Ellipse(x0-r,y0-r,x0+r,y0+r);pDC-Ellipse (x0-r+100,y0-r,x0+r+100,y0+r);pDC-MoveTo(x0,y0);pDC-LineTo(x0+r*cos(t1),y0+r*sin(t1);pDC-MoveTo(x0,y0);pDC-LineTo(x0+r*cos(t2),y0+r*sin(t2);pDC-MoveTo(x0,y0);pDC-LineTo(x0+r*cos(t3),y0+r*sin(t3);pDC-MoveTo(x0+100,y0);pD

31、C-LineTo(x0+r*cos(t1)+100,y0+r*sin(t1);pDC-MoveTo(x0+100,y0);pDC-LineTo(x0+r*cos(t2)+100,y0+r*sin(t2);pDC-MoveTo(x0+100,y0);pDC-LineTo(x0+r*cos(t3)+100,y0+r*sin(t3);else x0=100;3、运行结果:图4-4 小车五、空间图形5.1 螺旋线1、该实例首先构造空间点,然后使用正等侧投影,实现了空间曲线的绘制。2、 代码展示:void display:SpiralLine(CDC *pDC)/螺旋线float pi=3.14;dou

32、ble x,y,z,t,px,py;CPoint point;pDC-MoveTo(300-(int)(2.13*40),200+(int)(1.22*40);for(t=0;tLineTo(point.x,point.y);3、 运行结果:图5-1 螺旋线5.2 线框图1、 代码展示:2、 void display:Xiankuangtu(CDC *pDC)/线框图DPoint proj10;DPoint3D house10;house0.x=0;house0.y=0;house0.z=1;house1.x=0;house1.y=0;house1.z=-1;house2.x=0;house2

33、.y=1;house2.z=-1;house3.x=0;house3.y=2;house3.z=0;house4.x=0;house4.y=1;house4.z=1;int i;for(i=0;i5;i+)housei+5.x=housei.x+3;housei+5.y=housei.y;housei+5.z=housei.z;for(i=0;iMoveTo(int)(320+proj0.x*80),(int)(250-proj0.y*80);for(i=1;iLineTo(int)(320+proji.x*80),(int)(250-proji.y*80);pDC-LineTo(int)(3

34、20+proj0.x*80),(int)(250-proj0.y*80);pDC-MoveTo(int)(320+proj5.x*80),(int)(250-proj5.y*80);for(i=5;iLineTo(int)(320+proji.x*80),(int)(250-proji.y*80);pDC-LineTo(int)(320+proj5.x*80),(int)(250-proj5.y*80);for(i=0;iMoveTo(int)(320+proji.x*80),(int)(250-proji.y*80);pDC-LineTo(int)(320+proji+5.x*80),(in

35、t)(250-proji+5.y*80);2、运行结果:图5-2 线框图5.3 透视投影代码展示:void display:MySpace1(CDC *pDC,int m,int n)/透视投影double PI=3.141592653;Theta=0;Phi=90;R=700.0;D=1000;/视距k1=sin(PI*Theta/180);k2=sin(PI*Phi/180);k3=cos(PI*Theta/180);k4=cos(PI*Phi/180);k5=k3*k2;k6=k1*k2;k7=k3*k4;k8=k1*k4;/每一行代表正方体每个顶点的x,y,z坐标int a=150;/

36、正方体边长H11=-a/2;H12=-a/2;H13=-a/2;H21=-a/2;H22=a/2;H23=-a/2;H31=-a/2;H32=a/2;H33=a/2;H41=-a/2;H42=-a/2;H43=a/2;H51=a/2;H52=-a/2;H53=-a/2;H61=a/2;H62=a/2;H63=-a/2;H71=a/2;H72=a/2;H73=a/2;H81=a/2;H82=-a/2;H83=a/2;/第一列为每个面的边数;其余列为面的顶点编号F10=4;F11=1;F12=2;F13=3;F14=4;F20=4;F21=1;F22=4;F23=8;F24=5;F30=4;F31

37、=5;F32=6;F33=7;F34=8;F40=4;F41=6;F42=2;F43=3;F44=7;F50=4;F51=8;F52=7;F53=3;F54=4;F60=4;F61=5;F62=6;F63=2;F64=1;int TotalEdge,PointNumber;int xt,yt,zt,x,y,z;/边的点坐标CPen MyPen,* OldPen; MyPen.CreatePen(PS_SOLID,3,RGB(0,0,0); OldPen=pDC-SelectObject(&MyPen);for(face=1;face=6;face+)TotalEdge=Fface0;/面的总边

38、数for(int edge=1;edgeMoveTo(m+int(x2d),n-int(y2d);xt=x;yt=y;zt=z;elsepDC-LineTo(m+int(x2d),n-int(y2d);Project(xt,yt,zt);pDC-LineTo(m+int(x2d),n-int(y2d);/封闭边pDC-SelectObject(OldPen);MyPen.DeleteObject();void display:Project(int x,int y,int z)/透视变换double x0,y0,z0;/观察坐标系三维坐标x0=k1*x-k3*y;y0=-k7*x-k8*y+k

39、2*z;z0=-k5*x-k6*y-k4*z+R;x2d=D*x0/z0;y2d=D*y0/z0;/屏幕坐标系二维坐标运行结果:5.4 表面模型与消隐1、对于凸多面体消隐,凸多面体的任意一个面,可以根据其外发矢量和视矢量的夹角来进行可见性的检测。如果两矢量的夹角是锐角,则表示该表面可见,如果夹角是钝角,则表示该面不可见。记k为观察方向的方向向量,n为外法向量K=(kx,ky,kz),N=(nx,ny,nz)cos=nx*kx+ny*ky+nz*kznx2+ny2+nz2kx2+ky2+kz2cos0时,面可见;cos0时,面不可见;cos=0时,面退化为线;配合立体图形的齐次坐标转换中的旋转、

40、时间控件和画刷,可达到消隐的效果。2、代码展示:void display:XZT(CDC *pDC)/表面模型CPoint pt10,pt14,pt24;int k=200,x0=400,y0=200;int X10,Y10,Z10;X1=0;Y1=0;Z1=0;X2=1;Y2=0;Z2=1;X3=1;Y3=0;Z3=0;X4=1;Y4=1;Z4=0;X5=0;Y5=1;Z5=0;X6=0;Y6=1;Z6=1;X7=1;Y7=1;Z7=1;X8=0;Y8=0;Z8=1;for (int i=1;iMoveTo(pt1.x,pt1.y);pDC-LineTo(pt3.x,pt3.y);pDC-LineTo(pt2.x,pt2.y);pDC-LineTo(pt8.x,pt8.y);pDC-LineTo(pt1.x,pt1.y);pDC-LineTo(pt5.x,pt5.y);pDC-LineTo(pt4.x,pt4.y);pDC-LineTo(pt7.x,pt7.y);pDC-LineTo(pt6.x,pt6.y);pDC-LineTo(pt5.x,pt5.y);pDC-MoveTo(pt6.x,pt6.y);pDC-LineTo(pt8.x,pt8.y);pDC-MoveTo(pt4.x,pt4.y);pDC-LineTo(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论