求解二维和三维法向量的方法

二维曲线法向量的求解示例:

Here's an example using an analytic curve of y = x^2

x = 0:0.1:1;
y = x.*x;
dy = gradient(y);
dx = gradient(x);
quiver(x,y,-dy,dx)
hold on; plot( x, y)

which gives:

Quiver

三维三角面片顶点法向量的求解:顶点相邻各个三角面片单位法向量的叠加。

http://www.lighthouse3d.com/opengl/terrain/index.php3?normals

The normal at a vertex should be computed as the normalised sum of all the unit length normals for each face the vertex shares. Consider the following image:

In the above image, v represents the normal at the center vertex. Each vij represents a normal for each face that shares the center vertex. So for instance v12 is the unit lenght normal for the bottom right face.

The vertex normal v is computed as the normalised sum of all vij vectors:


    
	v = normalised(sum(v12, v23, v34, v41))
	
	where
	
		vij = normalised(vi x vj) // normalised cross product


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值