计算机图形学实验Koch曲线.doc

上传人:可**** 文档编号:70083209 上传时间:2023-01-14 格式:DOC 页数:4 大小:140.04KB
返回 下载 相关 举报
计算机图形学实验Koch曲线.doc_第1页
第1页 / 共4页
计算机图形学实验Koch曲线.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《计算机图形学实验Koch曲线.doc》由会员分享,可在线阅读,更多相关《计算机图形学实验Koch曲线.doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机图形学实验Koch曲线实验 8-2一、实验题目在Koch 曲线的基础上,调整角,分别以0、60和120绘制三条Koch曲线构成封闭图形,形成图8-59所示的Koch雪花,请编程实现.二、实验思想已知初始直线段的起点坐标P0和终点坐标P1,可以计算出长度L0 .设递归n次后的最小线元长度为d,则三、实验代码void CTestView::GetMaxX()/求屏幕最大x值CRect Rect;GetClientRect(Rect); MaxX=Rect.right;void CTestView:GetMaxY()/求屏幕最大y值CRect Rect;GetClientRect(&Rect)

2、; MaxY=Rect。bottom;void CTestView::Koch1(CDC pDC,int n)/0Position.x=MaxX/4;Position.y=MaxY/4; if(n=0) b.x+=dcos(alphaPI/180);b。y+=d*sin(alpha*PI/180);pDC-MoveTo(ROUND(a.x+Position.x),ROUND(a。y+MaxY-Position。y));pDC-LineTo(ROUND(b。x+Position。x),ROUND(b。y+MaxYPosition。y);a=b;return; Koch1(pDC,n-1); al

3、pha+=60; Koch1(pDC,n1); alpha=120; Koch1(pDC,n1); alpha+=60; Koch1(pDC,n-1);void CTestView::Koch2(CDC *pDC,int n)/60Position.x=MaxX/4;Position.y=MaxY/4; if(n=0) b。x+=dcos((alpha+60)*PI/180);b。y+=d*sin((alpha+60)*PI/180);pDCMoveTo(ROUND(a.x+Position.x),ROUND(MaxY-Position.y-a.y));pDC-LineTo(ROUND(b。x

4、+Position。x),ROUND(MaxYPosition.y-b。y));a=b;return; Koch2(pDC,n1); alpha+=60; Koch2(pDC,n-1); alpha=120; Koch2(pDC,n1); alpha+=60; Koch2(pDC,n1);void CTestView::Koch3(CDC pDC,int n)Position。x=MaxX/2;Position.y=MaxY/4; if(n=0) b。x+=d*cos(alpha-120)*PI/180);/120b.y+=dsin(alpha120)PI/180);pDC-MoveTo(RO

5、UND(a。x+Position.x),ROUND(a。y+MaxY-Position。y);pDC-LineTo(ROUND(b.x+Position。x),ROUND(b。y+MaxY-Position。y);a=b;return; Koch3(pDC,n-1); alpha+=60; Koch3(pDC,n-1); alpha=120; Koch3(pDC,n1); alpha+=60; Koch3(pDC,n-1);void CTestView::OnMENUKochSnow() / TODO: Add your command handler code hereCInputDlg dlg;if (dlg。DoModal()=IDOK)n=dlg。m_n;elsereturn;RedrawWindow();CDC *pDC=GetDC();/客户区DCGetMaxX();GetMaxY();d=(MaxX/4)/pow(3,n);a.x=0,a。y=0,b.x=0,b.y=0,alpha=0;Koch1(pDC,n);a.x=0,a。y=0,b.x=0,b。y=0,alpha=0; Koch2(pDC,n);a。x=0,a.y=0,b.x=0,b。y=0,alpha=0; Koch3(pDC,n);ReleaseDC(pDC);四、实验结果截图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁