马鞍山网站建设报价,简述网站建设优劣的评价标准,互联网相关网站,如何用本机电脑做网站服务器关于技术的方面#xff0c;一方面就是其轮廓边缘检测#xff1a;
主要的方法可以被分为基于图片空间和对象空间#xff0c;对象空间比图片空间会多一些立体坐标位置的信息。
轮廓类型分类
首先我们顶一下轮廓是什么#xff0c;从一个视角看去如果一条边相邻的两个面其恰…关于技术的方面一方面就是其轮廓边缘检测
主要的方法可以被分为基于图片空间和对象空间对象空间比图片空间会多一些立体坐标位置的信息。
轮廓类型分类
首先我们顶一下轮廓是什么从一个视角看去如果一条边相邻的两个面其恰好对应于正面和反面则认为这条边为轮廓如下图所示 折痕则根据相邻两个多边形的二面角可以被分为山脊边缘和山谷边缘对于山脊边缘角度值小于阈值对于谷边缘角度值大于指定阈值。 材质边则是建模过程中艺术家能确定的不同材质之间的边界 还有一种轮廓类型为非固体对象边就比如一张纸它的四周就是边缘。下面这幅图就全面的体现和分类了对应的边
图像空间方法
所以现在的方法使用深度值和法线图来判断边缘
深度缓冲的利用中通常认为同一个物体的深度值变化是小的而不同物体间深度变化会变大相当于通过0阶导的形式来判断但是无法检测出一阶导变化大的边例如上图的C,其就相当于函数|x|。法线图法线图能弥补深度无法检测一阶导变化的轮廓线但发现生成的方式有多种。比如使用渲染管线中的顶点着色器传输法线到片段着色器插值。
最终通过两者相加来组成结果 如下图 上面是深度下面是法线右边是最终结果。 但图像空间毕竟无法使用3D的信息在物体的远近变化处可能出现边缘宽度不一致的情况。
对象空间方法
对象空间可以获得更多的3D信息但在计算上也会相应的更复杂所以面对实时渲染时需要进一步的提高效率。
其中对于光滑的表面可以计算视角方向和法线方向的点乘判断折痕边 n i ∗ ( x i − C ) 0 n_i * (x_i - C) 0 ni∗(xi−C)0 其中 C C C表示视角方向 n i n_i ni 表示表面发现方向 x i x_i xi表示视角点。
对于多边形网格计算两条边和视角的方向在第一步中他们计算每个顶点的表面法线和视图向量的点积。两个垂直向量的点积为 0因此目标是找到它们。因为点积的值在表面上平滑变化所以只有点积的符号有趣。如果两条边顶点的符号不同则该边上一定存在轮廓点。该点的位置是通过沿指定边缘的线性插值计算的。最后在三角形网格的确定的轮廓点之间生成轮廓。
我们把图中的边符号圈了出来然后对该边中的点进行判断确定点乘为0后对所有边缘点进行连接插值。
但我们这些生成的边终归是黑线其实我们可以用不同的纹理生成各种样式的边比如根据相邻两边E1 E2的角度选择不同的纹理d是自己定义的角度值
这样生成的效果也是有一定的味道。