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

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-08
  • 語言: C/C++
  • 標簽: 消隱??

資源簡介

計算機圖形學消隱實驗源代碼,詳細、完整的實驗代碼

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?

#define?pi?3.1415926
double?angle1angle2;//定義全局變量,用于角度的輸入
//按照頂點的編號存儲頂點三個坐標
double?X[8]={-300300300-300-300300300-300};
double?Y[8]={-300-300-300-300300300300300};
double?Z[8]={-300-300300300300300-300-300};

int?fp[6][4]=?//各個面的頂點(按照逆時針方向)?共6個面?8個頂點
{0761??//下
1652??//前
2543??//上
3470??//后
4567??//右
0123};???//左

float?colors[6][3]?=?//定義顏色值
{0.00.00.0?
1.00.00.0?
1.01.00.0?
0.01.00.0?
0.00.01.0?
1.00.01.0};



void?x_Rotation(double?angle)//將立方體繞x軸旋轉angle度??x不變
{
int?i;
double?ab;
for(i=0;i<8;i++)
{
a=Y[i]*cos(angle)-Z[i]*sin(angle);
b=Y[i]*sin(angle)+Z[i]*cos(angle);
Y[i]=a;
Z[i]=b;
}

}

void?y_Rotation(double?angle)//將立方體繞y軸旋轉angle度
{
int?i;
double?ab;
for(i=0;i<8;i++)
{a=X[i]*cos(angle)+Z[i]*sin(angle);
b=-X[i]*sin(angle)+Z[i]*cos(angle);
X[i]=a;
Z[i]=b;
}
}

void?drawpixel(int?t)//畫可見面的中點
{
int?ab;
double?midXmidYmidZ;
glPointSize(15);
glColor3f?(colors[t][0]colors[t][1]colors[t][2]);?//t面的中間點的顏色
a=fp[t][0];???????????????//選取對角線的兩個點
b=fp[t][2];
midX=(X[a]+X[b])/2;
midY=(Y[a]+Y[b])/2;
midZ=(Z[a]+Z[b])/2;
glBegin(GL_POINTS);
glVertex3f(midXmidYmidZ);??????????//畫點
glEnd();
glFlush?(?);
}

void?drawline(double?x1double?y1double?z1double?x2double?y2double?z2)//畫可見面的每條邊
{
// glClearColor(1110);?????????//為顏色緩沖區指定確定的值(redbluegreenalpha),默認都為0,當顏色緩沖區清空時使用
glColor3f?(0.0?0.0?1.0);?
glBegin(GL_LINES);
glVertex3f(x1?y1?z1);?glVertex3f(x2?y2?z2);???//指定線段的起點和終點
????glEnd();
glFlush?(?);
}



void?func()?//消影函數
{
int?f[6]={012345};
int?ia1a2a3abN3k;
x_Rotation(angle1);?????//先轉一個初始角度
y_Rotation(angle2);

for(i=0;i<6;i++)?????//6個面
{
a1=fp[i]

評論

共有 條評論