个性化阅读
专注于IT技术分析

计算机图形:背面去除算法

本文概述

它仅用于绘制将面向相机的表面。背面的对象不可见。如果使用平行投影, 此方法将从场景中删除50%的多边形。如果使用透视投影, 则将去除50%以上的不可见区域。该对象距离投影中心更近, 后面的多边形数量将被删除。

它适用于单个对象。它不考虑各种对象之间的交互。尽管许多多边形更靠近观看者, 但它们的正面遮挡了许多多边形, 因此要删除此类正面, 可以使用背面去除算法。

进行投影时, 从投影中心通过观察屏幕到对象块的任何投影器射线都在两个点处投射, 一个是可见的前表面, 另一个是不可见的后表面。

该算法对另一种算法进行预处理。背面算法可以用几何表示。每个多边形都有几个顶点。所有顶点均按顺时针编号。生成法线M1是任意两个连续边缘向量的叉积。 M1代表垂直于面并从多面体表面向外指向的向量

N1 =(v2-v1)(v3-v2)如果N1.P≥0可见N1.P <0不可见

优点

  1. 这是一种简单直接的方法。
  2. 它减少了数据库的大小, 因为不需要在数据库中存储所有表面, 只存储可见的表面。

背面去除算法

对场景中的所有多边形重复上述步骤。

  1. 对所有多边形进行顺时针编号, 即v1 v2 v3 ….. vz
  2. 计算法线向量, 即N1 N1 =(v2-v1)*(v3-v2)
  3. 考虑投影仪P, 它是任何顶点的投影计算点积Dot = N.P
  4. 测试并绘制表面是否可见。如果Dot≥0, 则表面可见, 否则不可见

赞(0)
未经允许不得转载:srcmini » 计算机图形:背面去除算法

评论 抢沙发

评论前必须登录!