91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.56MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-28
  • 語言: C/C++
  • 標簽:

資源簡介

計算機圖形學分形樹,用C語言編寫的。實現的是一個二維的分形樹。

資源截圖

代碼片段和文件信息

#include?
#include?

#include?
#include?
#define?N?4
#define?BMP_Header_Length?54




GLuint?texBarktexLeaftexLawn;
int?list=0;

GLUquadric?*qObj;//創建二次曲面對象

float?R[N+1]?H[N+1]?k?p?q?m?alpha?z[N+1]?a=6;

float?Gauss(float?min?float?max)
{
//rand()函數返回0和RAND_MAX之間的一個偽隨機數(pseudorandom)。
//RAND_MAX常量被定義stdlib.h中,并且等于32767或更大。

int?a?=?rand()?b?=?rand()?c?=?rand()?d?=?rand();

int?x?=?a?+?b?+?c?+?d;
double?y?=?(x*sqrt((float)3))/RAND_MAX-sqrt((float)12);

double?mid?=?(min?+?max)/2;
float?z?=?(float)(mid?+?(max?-?mid)*y/(2*sqrt((float)3)));
return?z;
}?

void?setData(void)
{
R[N]?=?0.3;
H[N]?=?2.4;

k?=?0.5;

q?=?0.5;?
m?=?0.7;
alpha?=?45;
for(int?i=N-1;?i>=0;?i--)//N==5
{
R[i]?=?R[i+1]*q;
H[i]?=?H[i+1]*m;

}
}

void?init?(void)
{
GLfloat?white_light[]={1.0?1.0?0.0?1.0};
GLfloat?light_position[]={14?14?-14};//設置光源
qObj?=?gluNewQuadric();//創建二次對象
gluQuadricTexture(qObjGL_TRUE);

glClearColor(0.00.00.01);


glShadeModel(GL_SMOOTH);

glLightfv(GL_LIGHT0?GL_AMBIENT?white_light);
glLightfv(GL_LIGHT0?GL_DIFFUSE?white_light);
glLightfv(GL_LIGHT0?GL_SPECULAR?white_light);
glLightfv(GL_LIGHT0?GL_POSITION?light_position);//設置光源

glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);

????setData();

}

void?drawTree(int?n)
{


if(n?==?0)//繪制最末尾的枝干
{
// float?curLen?=?len*((rand()/(float)RAND_MAX)/2?+?0.75f);
float?h?=?Gauss(0.4?0.7);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2DtexBark);

gluCylinder(qObj?R[n]?k*R[n]?H[n]?20?20);//圓柱

glDisable(GL_TEXTURE_2D);
glTranslatef(00H[n]);

glCallList(list);

return;
?????}
else
{?

glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2DtexBark);
gluCylinder(qObj?R[n]?k*R[n]?H[n]?20?20);//k=0.5

glTranslatef(0?0?H[n]);

glDisable(GL_TEXTURE_2D);





glPushMatrix();

glRotatef(Gauss(30?80)?0?0?1);
glRotatef(Gauss(40?70)?0?1?0);
drawTree(n-1);

glPopMatrix();

?glPushMatrix();

glRotatef(Gauss(140?200)?0?0?1);
glRotatef(Gauss(40?70)?0?1?0);
drawTree(n-1);
glPopMatrix();
???
?????glPushMatrix();
?????
glRotatef(Gauss(260?320)?0?0?1);
glRotatef(Gauss(40?70)?0?1?0);
drawTree(n-1);
glPopMatrix();


?????glPushMatrix();
glRotatef(Gauss(5?15)?0?1?0);
glRotatef(Gauss(30?50)?0?0?1);
drawTree(n-1);
glPopMatrix();




};
}
void?drawLawn()
{

glDisable(GL_TEXTURE_2D);

glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f1.0f0.0f);

glBindTexture(GL_TEXTURE_2DtexLawn);
????glEnable(GL_TEXTURE_2D);
glBegin(GL_POLYGON);
glTexCoord2f(0.0f0.0f);glVertex3f(-15.0f?15.0f?0.0f);
glTexCoord2f(0.0f1.0f); glVertex3f(15.0f?15.0f0.0f);
glTexCoord2f(1.0f1.0f);glVertex3f(?15.0f?-15.0f0.0

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????196662??2006-07-13?12:04??simpleGL\data\bark00.bmp

?????文件?????196664??2006-07-14?08:48??simpleGL\data\bark01.bmp

?????文件?????196664??2006-07-14?08:49??simpleGL\data\bark02.bmp

?????文件?????140288??2010-03-12?14:44??simpleGL\data\Debug\vc60.idb

?????文件??????77824??2010-03-12?14:44??simpleGL\data\Debug\vc60.pdb

?????文件??????20244??2010-03-12?14:44??simpleGL\data\Debug\View.obj

?????文件????3661804??2010-03-12?14:44??simpleGL\data\Debug\View.pch

?????文件??????25600??2010-03-12?14:44??simpleGL\data\Debug\View.pdb

?????文件?????196662??2009-11-01?16:36??simpleGL\data\lawn.bmp

?????文件?????786488??2006-07-16?07:30??simpleGL\data\leaf00.bmp

?????文件?????196664??2006-07-18?04:43??simpleGL\data\leaf01.bmp

?????文件?????196664??2006-07-16?12:31??simpleGL\data\leaf02.bmp

????..A.SH.?????36864??2009-11-01?16:36??simpleGL\data\Thumbs.db

?????文件???????1693??2006-07-24?00:28??simpleGL\data\View.cpp

?????文件???????3377??2010-03-12?14:44??simpleGL\data\View.dsp

?????文件????????514??2010-03-12?14:44??simpleGL\data\View.dsw

?????文件????????503??2006-07-23?23:51??simpleGL\data\View.h

?????文件??????33792??2010-03-12?14:44??simpleGL\data\View.ncb

?????文件??????53760??2010-03-12?14:44??simpleGL\data\View.opt

?????文件???????2534??2010-03-12?14:44??simpleGL\data\View.plg

?????文件???????7154??2010-11-12?11:03??simpleGL\Debug\BuildLog.htm

?????文件?????????67??2010-11-12?11:03??simpleGL\Debug\mt.dep

?????文件??????23447??2010-11-12?11:03??simpleGL\Debug\opengl.obj

?????文件?????414228??2010-03-12?15:29??simpleGL\Debug\opengl.pch

?????文件?????410624??2010-03-12?15:29??simpleGL\Debug\opengl.pdb

?????文件?????274485??2010-11-12?11:04??simpleGL\Debug\simpleGL.exe

?????文件????????146??2010-09-17?07:51??simpleGL\Debug\simpleGL.exe.embed.manifest

?????文件????????212??2010-09-17?07:51??simpleGL\Debug\simpleGL.exe.embed.manifest.res

?????文件????????145??2010-11-12?11:03??simpleGL\Debug\simpleGL.exe.intermediate.manifest

?????文件?????370684??2010-11-12?11:04??simpleGL\Debug\simpleGL.ilk

............此處省略29個文件信息

評論

共有 條評論

相關資源