zoukankan      html  css  js  c++  java
  • 法线

    三维平面法线垂直于该平面的三维向量。曲面在某点P处的法线为垂直于该点切平面(tangent plane)的向量。

    法线是与多边形(polygon)的曲面垂直的理论线,一个平面(plane)存在无限个法向量(normal vector)。在电脑图学(computer graphics)的领域里,法线决定著曲面与光源(light source)的浓淡处理(Flat Shading),对于每个点光源位置,其亮度取决于曲面法线的方向。

    法线的计算[编辑]

    对于像三角形这样的多边形来说,多边形两条相互不平行的边的叉积就是多边形的法线。

    用方程{displaystyle ax+by+cz=d}ax+by+cz=d表示的平面,向量{displaystyle (a,b,c)}(a,b,c)就是其法线。

    如果S曲线坐标x(s, t)表示的曲面,其中st实数变量,那么用偏导数叉积表示的法线为

    {displaystyle {partial mathbf {x} over partial s} imes {partial mathbf {x} over partial t}}{partial {mathbf  {x}} over partial s}	imes {partial {mathbf  {x}} over partial t}

    如果曲面S隐函数表示,点集合{displaystyle (x,y,z)}(x,y,z)满足{displaystyle F(x,y,z)=0}F(x,y,z)=0,那么在点{displaystyle (x,y,z)}(x,y,z)处的曲面法线用梯度表示为

    {displaystyle abla F(x,y,z)}
abla F(x,y,z)

    如果曲面在某点没有切平面,那么在该点就没有法线。例如,圆锥顶点以及底面的边线处都没有法线,但是圆锥的法线是几乎处处存在的。通常一个满足Lipschitz连续的曲面可以认为法线几乎处处存在。

    法线的唯一性[编辑]

     
    曲面(surface)上的法线向量场(vector field of normals)

    曲面法线的法向不具有唯一性(uniqueness),在相反方向的法线也是曲面法线。曲面在三维的边界(topological boundary)内可以分区出inward-pointing normal 与 outer-pointing normal, 有助于定义出法线唯一方法(unique way)。定向曲面的法线通常按照右手定则来确定。

    法线的变换[编辑]

    变换矩阵可以用来变换多边形,也可以变换多边形表面的切向量(tangent vector)。 设 n′ 为 W n。我们必须发现 W


    W n 垂直(perpendicular)于 M t

    {displaystyle iff (Wn)cdot (Mt)=0}{displaystyle iff (Wn)cdot (Mt)=0}
    {displaystyle iff (Wn)^{T}(Mt)=0}{displaystyle iff (Wn)^{T}(Mt)=0}
    {displaystyle iff (n^{T}W^{T})(Mt)=0}{displaystyle iff (n^{T}W^{T})(Mt)=0}
    {displaystyle iff n^{T}(W^{T}M)t=0}{displaystyle iff n^{T}(W^{T}M)t=0}


    很明白的选定 W s.t. {displaystyle W^{T}M=I}{displaystyle W^{T}M=I}, 或 {displaystyle W={M^{-1}}^{T}}{displaystyle W={M^{-1}}^{T}} 将可以满足上列的方程式,按需求,再以 {displaystyle Wn}{displaystyle Wn} 垂直于(perpendicular){displaystyle Mt}{displaystyle Mt}, 或一个 n′ 垂直于 t′

    转至 https://zh.wikipedia.org/zh-hans/%E6%B3%95%E7%BA%BF

  • 相关阅读:
    协程与IO模型
    进程池与线程池
    GIL全局解释器锁
    线程编程
    进程编程
    基于UDP协议的socket
    异常处理
    jquery mobile外部js无法载入问题
    禁用或限制部分WebKit特性
    eval 返回变量值
  • 原文地址:https://www.cnblogs.com/gamesky/p/13907052.html
Copyright © 2011-2022 走看看