資源簡介
基本幾何變換:實現(xiàn)了平移、比例、旋轉(zhuǎn)、對稱和錯切等5種變換,可以用菜單來響應(yīng)用戶指令;并給人以動態(tài)的效果,每一種變換都變動20次,適當(dāng)延緩。
2.直線段的裁剪:任意直線用任意用戶窗口來裁剪,其中直線、用戶窗口由鼠標(biāo)來響應(yīng);裁剪過程清晰可見。
3. 多邊形的裁剪:任意多邊形的裁剪任意窗口的裁剪,其中多邊形、用戶窗口由鼠標(biāo)來響應(yīng),裁剪過程清晰可見
代碼片段和文件信息
#include?
#include
#include
#include
#include
using?namespace?std;
const?int?MAXN=200;
int?winWidth=1000winHeight=600;//窗口寬高
int?MyPointNum=0;??//用戶圖形的頂點數(shù)
double?PI=acos(-1.0);//獲取PI值
double?Matrix[3][3]={{100}{010}{001}};//初始化為單位矩陣
struct?point
{
double?xyz;
}MyLine[MAXN]tmp[MAXN];//定義圖形的頂點
/**************************************************
*參數(shù):無參數(shù)
*功能:重置單位矩陣
***************************************************/
void?MatrixInit()
{
Matrix[0][0]=1;????Matrix[0][1]=0;???Matrix[0][2]=0;
Matrix[1][0]=0;????Matrix[1][1]=1;???Matrix[1][2]=0;
Matrix[2][0]=0;????Matrix[2][1]=0;???Matrix[2][2]=1;
}
/**************************************************
*參數(shù):無參數(shù)
*功能:窗口的初始化
*****************************
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-11-08?15:04??計算機(jī)圖形學(xué)第3次實習(xí)報告\
?????文件????????7997??2013-11-06?22:46??計算機(jī)圖形學(xué)第3次實習(xí)報告\以窗口正中心為原點的二維變換.cpp
?????文件???????11340??2013-11-06?22:54??計算機(jī)圖形學(xué)第3次實習(xí)報告\多邊形裁剪Weiler_Atherton.cpp
?????文件????????4743??2013-11-06?22:48??計算機(jī)圖形學(xué)第3次實習(xí)報告\直線裁剪Liang_Barsky(多條直線+正方形窗口).cpp
評論
共有 條評論