毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 报告 >> 正文

计算机图形学上机实习报告 第6页

更新时间:2007-10-3:  来源:毕业论文

void CPolygon::GetRuleVertex()

{

RuleVertex.Create(1,3);

 

double x[3],y[3],z[3];

x[1]=Points[1].User3D[0][0]-Points[0].User3D[0][0];

y[1]=Points[1].User3D[0][1]-Points[0].User3D[0][1];

z[1]=Points[1].User3D[0][2]-Points[0].User3D[0][2];

x[2]=Points[PointNum-1].User3D[0][0]-Points[0].User3D[0][0];

y[2]=Points[PointNum-1].User3D[0][1]-Points[0].User3D[0][1];

z[2]=Points[PointNum-1].User3D[0][2]-Points[0].User3D[0][2];

 

x[0]=y[1]*z[2]-y[2]*z[1];

y[0]=z[1]*x[2]-z[2]*x[1];

z[0]=x[1]*y[2]-x[2]*y[1];

 

RuleVertex[0][0]=x[0];

RuleVertex[0][1]=y[0];

RuleVertex[0][2]=z[0];

}

然后用法向量和坐标原点到视点的向量相乘,判断是否为背面,判断结果保存在成员变量Back中。

void CPolygon::IfBack(double ViewerX,double ViewerY,double ViewerZ)

{

this->GetRuleVertex();

if((ViewerX*RuleVertex[0][0]+ViewerY*RuleVertex[0][1]+ViewerZ*RuleVertex[0][2])>0)

Back=FALSE;

else

Back=TRUE;

}

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

计算机图形学上机实习报告 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。