课件:计算机图形学OenGL三版二.ppt

例子2.2.2 Sierpinski(塞平斯基)垫片 //初始值P(0),在for循环外面 GLintPoint point = T[index]; // 初始值 drawDot(point.x, point.y); // 画初始点 for(int i = 0; i 1000; i++) //画1000点 { index = rand()%3; //P(k)=(P(k-1)+T)/2 point.x = (point.x + T[index].x) / 2; point.y = (point.y + T[index].y) / 2; drawDot(point.x,point.y); } 例子2.2.3 用点集绘制函数 见计算机图形学课件2016\计算机图形学(Opengl版第三版)书源代码word版\2.2.1-threeDots.doc 绘制某个数学函数f(x),当x在0~4变化时的曲线。当绘制曲线时,因为0~4之间的x值位于屏幕窗口左下角的前4个像素上,而且f(.)的负值位于窗口的下面,根本看不到。需要进行平移和缩放使曲线正好出现在合适的屏幕窗口。将世界坐标系转换为 窗口坐标系。 x方向缩放:假定屏幕窗口为screenWidth,单位为像素,现在x的范围为0~4,故sx = x * screenWidth /4.0; y方向缩放

文档评论(0)

1亿VIP精品文档

相关文档