(1) 可以自己假定。
(2) 可以用叉乘积计算,注意方向--右手螺旋。
空间平面的法线向量,可以用平面上的任两条直线的叉乘积计算。对于一个mesh角点,用两条过角点的mesh边线算出,如果这个角点有好几个mesh们,可以用它们的平均,或自己假定法线向量。
(3) loonie自己的已知三点,计算法线子程序:
/* -------------------------------
* v1[],v2[],v3[] {x,y,z}
* -------------------------------*/
void norm(GLfloat v1[3], GLfloat v2[3], GLfloat v3[3], GLfloat *nor )
{
GLfloat vc1[3],vc2[3];
GLfloat a,b,c;
GLdouble r;
vc1[0]= v2[0] - v1[0]; vc1[1]= v2[1] - v1[1]; vc1[2]= v2[2] - v1[2];
vc2[0]= v3[0] - v1[0]; vc2[1]= v3[1] - v1[1]; vc2[2]= v3[2] - v1[2];
a = vc1[1] * vc2[2] - vc2[1] * vc1[2];
b = vc2[0] * vc1[2] - vc1[0] * vc2[2];
c = vc1[0] * vc2[1] - vc2[0] * vc1[1];
r = sqrt( a * a + b* b + c * c);
nor[0] = a / r;
nor[1] = b / r;
nor[2] = c / r;
}
法线决定光照反射的方向
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....