• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: C/C++
  • 标签: opengl  雪花  

资源简介

使用opengl 实现雪花的模型,采用c++代码实现,计算机图形学,大作业可以用的

资源截图

代码片段和文件信息

#ifdef __APPLE__
#include 
#else
#include 
#endif
typedef GLfloat point2[2];


GLfloat v[3][2]={{-1.0 -0.58} {1.0 -0.58} {0.0 1.15}};

int n=5;

//绘制一条边上的koch线
void koch(point2 a point2 b point2 c int m)
{
      point2 a1b a2b;//ab边上的两个三等分点
      point2 a1c b1c;//ac, bc边上的第一个三等分点
      point2 amb;     //等边三角形的另一个顶点

      //a-b边上的2个三等分点
      a1b[0] = (2*a[0]+b[0])/3;
      a1b[1] = (2*a[1]+b[1])/3;
      a2b[0] = (a[0]+2*b[0])/3;
      a2b[1] = (a[1]+2*b[1])/3;

      //a-c边上的1个三等分点
      a1c[0] = (2*a[0]+c[0])/3;
      a1c[1] = (2*a[1]+c[1])/3;


      //b-c边上的1个三等分点
      b1c[0] = (2*b[0]+c[0])/3;
      b1c[1] = (2*b[1]+c[1])/3;

      //计算ab边上的第一个等边三角形的第三个顶点也可以通过a2b、b1c来求amb
      amb[0] = 2*a1b[0] - a1c[0];
      amb[1] = 2*a1b[1] - a1c[1];

      if(m > 1)
      {
         koch(a a1b  a1c m-1);
         koch(a1b amb a2b m-1);
         koch(amb a2b a1b m-1);
         koch(a2b b b1c m-1);
      }
      else
    

评论

共有 条评论