下载此文档

图形学上机实验报告.doc


文档分类:高等教育 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
计算机图形学上机实验报告
实验一:kock分形雪花图案的绘制
一、实验目的与要求
目的:。
2通过上机编程掌握OPENGL的画图机理和OPENGL。
要求:。
二、实验内容
以Kock曲线为例,说明分形图形是如何生成的。Kock曲线的初始生成元是一条直线段,生成规则是将直线段均分为三等分,首尾两端保持不变,中间用两端等长且互成60度角的直线段代替。
迭代公式如下:
分别迭代1,3,6次,并记录结果。
实验结果
实验结果图如下:
3-1第一次分形
3-2三次分形
3-3六次分形
四、体会
通过这次实验了解到了分形系统的从图元到图形的形成过,分形在图形学的应用中,可以用来表示岩层、云、水、树、等。并且亲手实现了“雪花”的分形图形。通过迭代次数可控制图形的不同。掌握了分形系统的形成过程。完成了此次试验目的。
五、源程序
void drawline(pt pt1, pt pt2)//绘制线
{
glBegin(GL_LINES);
glVertex2d(, );
glVertex2d(, );
glEnd();
}
void drawkoch(pt pt1, pt pt2, int n)//n为确定的迭代次数
{
pt p1, p2, p3, p4, p5;
glColor3f(, , );
= ;
= ;
= ;
= ;
if (n == 1){ drawline(p1, p2); }
if (n>1){
= + (- + ) / 3;
= + (- + ) / 3;
= + 2 * (- + ) / 3;
= + 2 * (- + ) / 3;
= ( - ) / 2 - ( - )*sqrt() / 2 + ;
= ( - ) / 2 + ( - )*sqrt() / 2 + ;
drawkoch(p1, p3, n - 1);
drawkoch(p3, p5, n - 1);
drawkoch(p5, p4, n - 1);
drawkoch(p4, p2, n - 1);
}
if (n == 0)
exit(0);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
pt p1, p2, p3;
= 30;
= 30;
= 110;
= 30;
= 70;
= 30 + 40 * sqrt();
int n;
do{ //循环改变迭代次数
glClear(GL_COLOR_BUFFER_BIT);

图形学上机实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息