有关“顶点法线”的基础概念问题

今天在看Direct3D的书中,看到“顶点法线”的章节,我猜测“顶点法线”可能是指在某一个点的切面穿越该点并与该切面垂直的虚线。但我随之想到的一个问题是,那么立方体的8个顶角点的法线是什么线呢?

作者: zhoujiehg   发布时间: 2011-06-09

可以计算出来的。

leechrockgames 同学给出的代码
C/C++ code
//叉积建立第三条线
//叉积(vPolygon:3角形的点)
D3DXVECTOR3 vPolygon[3];
//起始点
vPolygon[0]=MapOb1[0].LHxx3DMVertex[2].LHxxMP;
//第一条线的终点
vPolygon[1]=MapOb1[0].LHxx3DMVertex[0].LHxxMP; 
//第一条线的终点
vPolygon[2]=MapOb1[0].LHxx3DMVertex[3].LHxxMP;

// Get 2 vectors from the polygon (2 sides), Remember the order!
D3DXVECTOR3 vVector1 = vPolygon[2] - vPolygon[0];//第一条线向量
D3DXVECTOR3 vVector2 = vPolygon[1] - vPolygon[0];//第二条线向量

//计算出第3条,垂直线的向量(求出叉积)
D3DXVECTOR3 vNormal;
D3DXVec3Cross(&vNormal,&vVector1,&vVector2);

//标准化(0-1)
D3DXVec3Normalize(&vNormal,&vNormal);

float range=50;//长度
//设置第3条线的起始点

//求得发线长度为50*百分比.        
//-D3DXVECTOR3(2.5,2.5,2.5):将终点偏移到左下角
ViewLine10[3].LHxxLP=(vNormal*range)+MapOb1[0].LHxxMove-D3DXVECTOR3(2.5,2.5,2.5);

作者: ilysony   发布时间: 2011-06-09

生成点法线(Generating Vertex Normals)
http://blog.csdn.net/wangpingfang/archive/2010/12/18/6084267.aspx

作者: ilysony   发布时间: 2011-06-09

法向量觉得应该是和面有关系,影响材质光照,一般与面垂直,像立方体顶点应该至少分成3个法向量。不知道有些光滑是不是也用到

作者: donjin9   发布时间: 2011-06-10