面法线的计算相对来说容易一些,说说点法线如何计算的。当然我在网上也找了好些资料。
计算点法线,必须先计算它所在的面的面法线向量,再对所有面法线向量做归一化才可以。
那如何计算面法线向量哪:
设有两个向量组成一个面,向量分别表示为V1(x,y,z),V2(x,y,z),将两向量叉乘便可得到面法线向量,如下:
V = V1XV2
=>Vx = V1y*V2z-V1z*V2y
Vy = V1z*V2x-V1x*V2z
Vz = V1x*V2y - V1y*V2x
得到了面法线向量,接下来必须将向量归一化,即V = normilised(Vn),V表示归一化向量,Vn表示法线向量。
归一化向量的方法:
1,计算向量长度:
L = sqrt(Vx*Vx+Vy*Vy+Vz*Vz),其中sqrt表示求平方根
2,向量的每个分量除以长度:
nVx = Vx/L
nVy = Vy/L
nVz = Vz/L
这样只计算了面法线的向量,因为顶点可能属于多个面,所以要将所有顶点属于的面进行处理:
计算所有经过该点的面法线向量的和的归一化
V = normalised(sum(Vij))
其中:Vij表示所有经过该点的面法线向量
sum表示法线向量所有分量的和
normalised表示法线向量的归一化
别急,还没结束。在计算顶点法线向量的时候我们必须要排除共面的面法线向量。那如何判断两个面是否共面哪?
只要判断两条法线向量是否平行即可。
假设还是两个向量,V1(x,y,z),V2(x,y,z)
若:(V1x/V2x) = (V1y/V2y) = (V1z/V2z) = 常量,则两向量平行。
这样,应该可以计算出顶点的法线向量了。
分享到:
相关推荐
7.2 法线向量平面法线(face normal)是描述多边形所朝方向的单位向量(即,它与多边形上的所有点相互垂直),如图7.4a所示 7.2.1 计算法线向量
normnd(DATA) 计算 N 维样本的法线向量DATA 中的点位置。 DATA 被定义为一个 MxN 矩阵,其中 M 是样本数。 每列包含样本位置N维空间中的每个正交维度例子: % 计算法向量到 3-D 样本点数据 = randn(20,3); %向Z轴...
提出了基于平面法线向量的三自由度(俯仰角、方位角和轴向位移)测量方法,基于法线向量的变化解算角度和位移信息,并对所提方法进行详细描述,分析了影响测量精度的因素。实验结果表明:旋转角α和γ的转动范围分别为...
计算网格法线==================== 亚当 H.艾特肯黑德adam.aitkenhead@physics.cr.man.ac.uk 克里斯蒂 NHS 基金会信托2010 年 12 月 1 日计算三角形网格每个面的法向量。 如果将其作为输出之一请求,则还会检查所有...
提出了一种基于相位测量偏折术(PMD)的非球面反射镜法线向量检测方法。在PMD测量系统中,将待测镜沿光轴方向作相对移动。在移动过程中,由CCD相机扫描待测镜,观察并记录下随待测镜移动而发生变化的条纹图,通过相位...
从法线向量构建ThreeJS四元数。 这对于使网格在矢量方向上“指向”很有用。 const quaternionFromNormal = require ( 'three-quaternion-from-normal' ) ; // Say we want mesh to point from A to B point const ...
将单位向量映射到 RGB 立方体上相应的 RGB 颜色。 用于将 3D 点云或网格数据上的法线向量可视化为颜色,而不是有时很难看到箭头方向的 quiver3。
计算点云表面的法线向量
此代码基于MFC编程,在VS2013上可以实现读取OBJ文件和显示,并绘制了3D模型的法向量,注释也清晰易懂,便于初学者学习!
得到点云库的曲率,得到特征向量为法向量,并同时对点云库以及各点的法线向量进行描绘;并对曲率进行平均化, 并计算各法线向量的平均角度,以及各平均曲率。使用测试库,如上密度圆柱,上密度圆锥,中密度圆柱,中...
调整由 3d 笛卡尔坐标描述的平面点云,使其由 2d 坐标(和 z = const.)描述,因为您需要例如应用 2d 插值方法。 然后将结果从 2d 转换回其原始 3d 状态。 或者围绕由两个法向量定义的任意轴旋转任意形状的点云。
1977年James F. Blinn引入了Blinn-Phong着色,它扩展了我们目前所使用的Phong着色。 Blinn-Phong模型很大程度上和Phong是相似的,不过它稍微改进了Phong模型,使...半程向量和表面法线向量越接近,镜面反射成份就越大。
文档 自动计算顶点缓冲中所有顶点的法线 当绘制自定义的结构时,你会发现光照不正确。...这是因为你没有指定正确的法线向量,显卡要求每个顶点都有法线信息,这样它才可以决定每个三角形获得多少光照
18.1 为什么要使用法线贴图映射我们在第8章中介绍了纹理贴图映射,它可以将纹理细节映射到三角形表面上。然而,我们现在的法线向量仍然定义在比较粗糙的顶点级别上,
以一根曲线为参照线,定义坐标系的纵轴为前进方向(s), 横轴为与s法线向量垂直的向量,从而构成Frenet坐标系,那么为什么我们规划无人车轨迹不采用迪卡尔坐标系呢?原因很简单,Frenet坐标系明显更简单,更适合我们...
Blinn-Phong模型:源码在...半程向量和表面法线向量越接近,镜面反射成份就越大。Phong光照很棒,而且性能较高,但是它的镜面反射在某些条件下会失效,特别是当发光值属性低的时候,对应一个非常大的粗糙的镜面区域。
将贴图对应点的单位法线向量信息float3(x,y,z) 储存在图对应的颜色里color(r,g,b)里,其中x,y,z分别对应r,g,b。压缩法线贴图的好处:
一个模拟虚拟珊瑚进化的研究项目。珊瑚在模拟的水下环境中生长,并通过遗传算法进化。...每个节点检测它的光、水和曲率,并可能沿着它的法线向量生长。这个神经网络是用 NEAT 遗传算法进化而来的。
由于法线向量束与切线束相交,因此很难研究浅色子流形的几何形状。 由于度量的退化,因此诱导的连接不是度量的,因此,黎曼曲率张量不是代数的。 在这种情况下,无法使用一些基本的演算技术。 在本文中,我们将轻度...
为研究直廓环面蜗杆副理论接触线与实际接触线的关系,通过考察蜗轮滚刀轨迹面与理论接触线的关系,以及求解刀具轨迹面和蜗轮齿面包络面在中央棱线任意点处的单位法线向量,证明了刀具轨迹面和蜗轮齿面包络面在中央棱线...