收藏 分享(赏)

《计算机图形学》实验报告[16-17-1].doc

上传人:dzzj200808 文档编号:2438187 上传时间:2018-09-16 格式:DOC 页数:41 大小:535.50KB
下载 相关 举报
《计算机图形学》实验报告[16-17-1].doc_第1页
第1页 / 共41页
《计算机图形学》实验报告[16-17-1].doc_第2页
第2页 / 共41页
《计算机图形学》实验报告[16-17-1].doc_第3页
第3页 / 共41页
《计算机图形学》实验报告[16-17-1].doc_第4页
第4页 / 共41页
《计算机图形学》实验报告[16-17-1].doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、吉林大学计算机科学与技术学院计算机图形学实验报告班级: 学号: 姓名: 实验项目 边标志算法的实现实验性质 演示性实验 验证性实验 操作性实验 综合性实验实验地点 机器编号指导教师 实验时间一、实现的功能采用鼠标输入顶点的方法确定待填充多边形;实现边标志算法完成对该多边形的填充,要求完成使用自己学号的后四位数字对多边形内部进行填充二、 采用的图形学算法及实现(算法的实现函数是什么(函数名,参数,返回值,函数功能等)以及采用了哪些数据结构(数组,链表等)void Edge:EdgeMarkFill(CDC* pdc,CArray* cp)使用数组保存 RGB 颜色值的学号( 1214),使用链表

2、存储边链表void Edge:EdgeMarkFill(CDC* pdc,CArray* cp)COLORREF g=RGB(0,255,0),w=RGB(255,255,255);COLORREF a5550=w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,

3、w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,

4、w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,g,g,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,g,g,g,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,

5、g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,

6、w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,

7、g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,

8、g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w

9、,w,w, g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g

10、, w,w,w,w,w,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g, w,w,w,w,w,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g, w,w,w,w,w,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w

11、,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w

12、,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,g,g,g,g,g,g

13、,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,g,g,g,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g

14、,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w

15、,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w

16、,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,w,w,w,

17、w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,

18、w,w,w,w, w,w,w,w,w,w,w,g,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g, w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g, w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,

19、w,w,w,w,w,w,w, g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g, w,w,w,w,w,w,w,w,w,w,w,w,w,w,g,g,g,g,g,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,

20、w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w, w,w,w,w,w,w,w,w,w,w,w,w,

21、w,w,w,w,w,w,w,w;bool inside;bool* Mask;int y1,y2,x1,x2;y1=cp-GetAt(0).y;y2=cp-GetAt(0).y;x1=cp-GetAt(0).x;x2=cp-GetAt(0).x;int i=0;int y;for(i=1;iGetSize();i+)CPoint p=cp-GetAt(i);if(p.yy2) y2=p.y;if(p.xx2) x2=p.x;Mask=new bool*y2+1;for(i=y1;iGetSize();i+)CPoint point1 = (CPoint)cp-GetAt(i);CPoint p

22、oint2;CPoint point0;if (i = cp-GetSize() -1)point2 = (CPoint)cp-GetAt(0);elsepoint2 = (CPoint)cp-GetAt(i+1);if(i=0)point0 = (CPoint)cp-GetAt(cp-GetSize()-1);elsepoint0 = (CPoint)cp-GetAt(i-1);if(point1.y=point2.y)continue;Edge* edge=new Edge();if(point1.ypStr=point1;edge-pEnd=point2;elsepoint1.y+=1;

23、edge-pStr=point1;edge-pEnd=point2;elseif(point1.y=point0.y)/*极大值*/edge-pStr=point2;edge-pEnd=point1;elsepoint1.y-=1;edge-pStr=point2;edge-pEnd=point1; if (p = NULL)pHead = edge;p = edge;elsep-next = edge;p = edge;for(y=y1;ypStr.x;double dx=(double)pp-pEnd.x-(double)pp-pStr.x;double dy=(double)pp-pEn

24、d.y-(double)pp-pStr.y;double dxs=dx/dy;for(int ys=pp-pStr.y;yspEnd.y;ys+)int lxs=(int)(xs+0.5);Maskyslxs=!Maskyslxs;xs=xs+dxs;Maskpp-pEnd.ypp-pEnd.x=!Maskpp-pEnd.ypp-pEnd.x;pp=pp-next;for(y=y1;ySetPixel(x,y,ayyyxxx);三、采用的交互方式及实现(采用了哪些交互方式来完成绘制,这些交互方式应用到了哪些系统消息,是如何实现的)鼠标(鼠标消息:WM_LBUTTONDOWN WM_LBUTTO

25、NUP WM_LBUTTONDBCLICK WM_MOUSEMOVE)void CSecView:OnLButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultthis-SetCapture();if(type=1)pStart=point;pEnd=point;isDraw=true;if(cpl.GetSize()0)if(cpl.GetAt(cpl.GetSize()-1)!=point)cpl.Add(point);elsecpl.Add(po

26、int);ReleaseCapture();CView:OnLButtonDown(nFlags, point);void CSecView:OnLButtonUp(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultthis-SetCapture();CClientDC dc(this);if(type=1)dc.MoveTo(pStart);dc.LineTo(pEnd);this-ReleaseDC(ReleaseCapture();CView:OnLButton

27、Up(nFlags, point);void CSecView:OnMouseMove(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultthis-SetCapture();CDC* pdc=this-GetDC();if(type=1pdc-MoveTo(pStart);pdc-LineTo(pEnd);pdc-MoveTo(pStart);pdc-LineTo(point);pEnd=point;this-ReleaseDC(pdc);ReleaseCapture

28、();CView:OnMouseMove(nFlags, point);void CSecView:OnLButtonDblClk(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultthis-SetCapture();CDC* pdc=this-GetDC();if(type=1)pdc-MoveTo(cpl.GetAt(0);pdc-LineTo(cpl.GetAt(cpl.GetSize()-1);MyObj* ob=new MyObj();for(int i=0

29、;icp.Add(cpl.GetAt(i);cob-Add(ob);paint.EdgeMarkFill(pdc,cpl.RemoveAll();isDraw=false;ReleaseDC(pdc);ReleaseCapture();CView:OnLButtonDblClk(nFlags, point);四、实验结果(程序的运行结果)五、遇到的问题及解决办法(在实现过程中遇到了什么样的问题,及采用了何种解决办法)使用数组保存 RGB 颜色值实验项目 多点插值的埃米尔特曲线、贝齐尔曲线及 B 样条曲线绘制实验性质 演示性实验 验证性实验 操作性实验 综合性实验实验地点 机器编号指导教师 实验

30、时间 一、实现的功能1、通过鼠标输入型值点,根据用户输入的型值点,分别绘制Hermite 曲线,三次 Bezier 曲线,四阶三次等距 B 样条曲线(可通过菜单或工具条选择具体要绘制哪种曲线),要求同时绘制出曲线的控制多边形(对 Hermite 曲线,要求绘制出起点和终点处向量) 2、 选作通过对话框输入控制点的方式,绘制双三次 Bezier 曲面,要求曲面上相邻参数点间用线连接,形成网格,投影采用透视投影 二、 采用的图形学算法及实现(算法的实现函数是什么(函数名,参数,返回值,函数功能等)以及采用了哪些数据结构(数组,链表等)多点插值的埃米尔特曲线:void CFifthView:OnHe

31、rmite() void CFifthView:OnHermite() / TODO: Add your command handler code herethis-SetCapture();CDC* pdc=this-GetDC();CPoint p1,p4,pp1,pp4;p1=cp.GetAt(0);p4=cp.GetAt(3);pp1.x=cp.GetAt(1).x-p1.x;pp1.y=cp.GetAt(1).y-p1.y;pp4.x=p4.x-cp.GetAt(2).x;pp4.y=p4.y-cp.GetAt(2).y;/ Mid00=Her00*p1.x+Her10;Mid00=

32、2*p1.x-2*p4.x+pp1.x+pp4.x;Mid10=-3*p1.x+3*p4.x-2*pp1.x-pp4.x;Mid20=pp1.x;Mid30=p1.x;Mid01=2*p1.y-2*p4.y+pp1.y+pp4.y;Mid11=-3*p1.y+3*p4.y-2*pp1.y-pp4.y;Mid21=pp1.y;Mid31=p1.y;double u;for(u=0;uSetPixel(int)x,(int)y,RGB(255,0,0);/ cp.RemoveAll();ReleaseDC(pdc);ReleaseCapture();贝齐尔曲线:void CFifthView:On

33、Bezier() void CFifthView:newBezier(CPoint P, int n, CPoint pts, int npoints)CPoint CFifthView:decas(CPoint P, int n, double t)void CFifthView:OnBezier() / TODO: Add your command handler code herethis-SetCapture();CDC* pdc=this-GetDC();CPoint* p=new CPointcp.GetSize();int i;for(i=0;inewBezier(p,cp.Ge

34、tSize()-1,pts,999);CPen pen(PS_SOLID, 1, RGB(0,255,0);CPen* oldP=pdc-SelectObject(for(i=1;iMoveTo(ptsi-1);pdc-LineTo(ptsi);DeleteObject(pen);pdc-SelectObject(oldP);delete p;ReleaseDC(pdc);ReleaseCapture();void CFifthView:newBezier(CPoint P, int n, CPoint pts, int npoints)double t,delt;delt=1.0/(doub

35、le)npoints;t=0.0;for(int i=0;i0;m-)for(i=0;iSetCapture();CDC* pdc=this-GetDC();CPoint p80;int i;for(i=0;iSelectObject(for(i=1;iMoveTo(ptsi-1);pdc-LineTo(ptsi);DeleteObject(pen);pdc-SelectObject(pOldPen);ReleaseDC(pdc);ReleaseCapture();绘制双三次 Bezier 曲面:void CFifthView:OnBm()使用了对话窗口类 HelloQuMianvoid CF

36、ifthView:OnBm() / TODO: Add your command handler code hereHelloQuMian hh;CDC* pdc=this-GetDC();if(hh.DoModal()= IDOK )/*CString a;a=hh.m_x11;CString b,c,d;this-Split(a,u0.x=_ttoi(b);u0.y=_ttoi(c);u0.z=_ttoi(d);a=hh.m_x12;this-Split(a,u1.x=_ttoi(b);u1.y=_ttoi(c);u1.z=_ttoi(d);a=hh.m_x13;this-Split(a,

37、u2.x=_ttoi(b);u2.y=_ttoi(c);u2.z=_ttoi(d);a=hh.m_x14;this-Split(a,u3.x=_ttoi(b);u3.y=_ttoi(c);u3.z=_ttoi(d);a=hh.m_x21;this-Split(a,u4.x=_ttoi(b);u4.y=_ttoi(c);u4.z=_ttoi(d);a=hh.m_x22;this-Split(a,u5.x=_ttoi(b);u5.y=_ttoi(c);u5.z=_ttoi(d);a=hh.m_x23;this-Split(a,u6.x=_ttoi(b);u6.y=_ttoi(c);u6.z=_tt

38、oi(d);a=hh.m_x24;this-Split(a,u7.x=_ttoi(b);u7.y=_ttoi(c);u7.z=_ttoi(d);a=hh.m_x31;this-Split(a,u8.x=_ttoi(b);u8.y=_ttoi(c);u8.z=_ttoi(d);a=hh.m_x32;this-Split(a,u9.x=_ttoi(b);u9.y=_ttoi(c);u9.z=_ttoi(d);a=hh.m_x33;this-Split(a,u10.x=_ttoi(b);u10.y=_ttoi(c);u10.z=_ttoi(d);a=hh.m_x34;this-Split(a,u11

39、.x=_ttoi(b);u11.y=_ttoi(c);u11.z=_ttoi(d);a=hh.m_x41;this-Split(a,u12.x=_ttoi(b);u12.y=_ttoi(c);u12.z=_ttoi(d);a=hh.m_x42;this-Split(a,u13.x=_ttoi(b);u13.y=_ttoi(c);u13.z=_ttoi(d);a=hh.m_x43;this-Split(a,u14.x=_ttoi(b);u14.y=_ttoi(c);u14.z=_ttoi(d);a=hh.m_x44;this-Split(a,u15.x=_ttoi(b);u15.y=_ttoi(

40、c);u15.z=_ttoi(d);pdc-TextOut(0,20,“控制点设置完毕 !“);*/u0=Ucs(-300,-180,0);u1=Ucs(-300,-60,20);u2=Ucs(-300,60,20);u3=Ucs(-300,180,0);u4=Ucs(-100,-180,40);u5=Ucs(-100,-60,60);u6=Ucs(-100,60,60);u7=Ucs(-100,180,40);u8=Ucs(100,-180,40);u9=Ucs(100,-60,60);u10=Ucs(100,60,60);u11=Ucs(100,180,40);u12=Ucs(300,-1

41、80,0);u13=Ucs(300,-60,20);u14=Ucs(300,60,20);u15=Ucs(300,180,0);Tc temp1010;Matrix();double u,w,x,y,z,m,n;for(u=0;uSetPixel(int)m+400,(int)n+300,RGB(255,0,0);for(int xx=1;xxMoveTo(int)tempxx-1yy.x+400,(int)tempxx-1yy.y+300);pdc-LineTo(int)tempxxyy.x+400,(int)tempxxyy.y+300);pdc-MoveTo(int)tempxxyy-1

42、.x+400,(int)tempxxyy-1.y+300);pdc-LineTo(int)tempxxyy.x+400,(int)tempxxyy.y+300);ReleaseDC(pdc);void CFifthView:Split(CString a, CString* b, CString* c, CString* d)int n=a.Find(“,“); *b=a.Left(n);int length=a.Delete(0,n+1); a = a.Right(length); n=a.Find(“,“); *c=a.Left(n);length=a.Delete(0,n+1);a =

43、a.Right(length);*d=a.Left(n);void CFifthView:Matrix()double mx44;int i,j;for(i=0;i4;i+)mx0i=-ui*4.x+3*ui*4+1.x-3*ui*4+2.x+ui*4+3.x;mx1i=3*ui*4.x-6*ui*4+1.x+3*ui*4+2.x;mx2i=-3*ui*4.x+3*ui*4+1.x;mx3i=ui*4.x;for(j=0;j4;j+)Mxj0=-mx0j+3*mx1j-3*mx2j+mx3j;Mxj1=mx0j*3-mx1j*6+mx2j*3;Mxj2=-mx0j*3+3*mx1j;Mxj3=

44、mx0j;for(i=0;i4;i+)mx0i=-ui*4.y+3*ui*4+1.y-3*ui*4+2.y+ui*4+3.y;mx1i=3*ui*4.y-6*ui*4+1.y+3*ui*4+2.y;mx2i=-3*ui*4.y+3*ui*4+1.y;mx3i=ui*4.y;for(j=0;j4;j+)Myj0=-mx0j+3*mx1j-3*mx2j+mx3j;Myj1=mx0j*3-mx1j*6+mx2j*3;Myj2=-mx0j*3+3*mx1j;Myj3=mx0j;for(i=0;i4;i+)mx0i=-ui*4.z+3*ui*4+1.z-3*ui*4+2.z+ui*4+3.z;mx1i=3*ui*4.z-6*ui*4+1.z+3*ui*4+2.z;mx2i=-3*ui*4.z+3*ui*4+1.z;mx3i=ui*4.z;for(j=0;j4;j+)Mzj0=-mx0j+3*mx1j-3*mx2j+mx3j;Mzj1=mx0j*3-mx1j*6+mx2j*3;Mzj2=-mx0j*3+3*mx1j;Mzj3=mx0j;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报