计算机图形学(二)输出图元_10_多边形填充区_5_平面方程
来源:互联网 发布:中国经济数据公布时间 编辑:程序博客网 时间:2024/05/19 13:08
平面方程
要完成一个三维场景的显示,图形系统要对输人数据进行若干步处理。这些处理包括在观察流水线中的模型坐标和世界坐标描述的变换、可见面判定及对各面片的绘制。其中有些处理需要对象表面的空间方向信息。该信息可从顶点坐标值和描述多边形表面的方程中获得。场景中的每一个多边形包含在一个无限平面中。平面的一般方程为其中(x,y,z)是平面中的任一点,系数A, B, C, D(称为平面参数,plane parameter)是描述平面空间特征的常数。用三个平面上非共线点的坐标代入,获得三个平面方程,求解后便得出A、B、C、D的值。为此,可选择逆时针凸多边形的三个连续顶点(x1,y1,z1) 、(x2,y2,z2)和(x3,y3,z3)并解下列联立方程组来求A/D、B/D和C/D:
这组方程的解可使用Cramer规则以行列式形式求出:
展开行列式,可得计算平面系数的表达式:
这种计算对任意三个坐标位置均有效,包括D=0的情况。将顶点坐标和其他信息装人多边形的数据结构中后,计算每个多边形A, B, C, D的值并与其他的多边形信息一起保存。
定义一个多边形面片的坐标有可能不在一个平面中。这样的问题可通过将面片分割成若干个三角形来解决。也可以为该顶点集找到一个逼近平面来解决。获得逼近平面的一种方法是将顶点集分成若干子集,每个子集内有三个顶点,计算每一子集的平面参数A, B, C, D。将每一组平面参数求平均值就得到逼近平面。另一种方法是将顶点集投影到一个坐标平面上。然后按多边形面积与其在yz平面上投影面积之比求得A,按与其在xz平面上投影之比求得B,按与其在习平面上投影之比求得C。投影方法较多地用于光线跟踪应用中。
0 0
- 计算机图形学(二)输出图元_10_多边形填充区_5_平面方程
- 计算机图形学(二)输出图元_10_多边形填充区_1_多边形分类和识别
- 计算机图形学(二)输出图元_10_多边形填充区_2_分割凹多边形
- 计算机图形学(二)输出图元_10_多边形填充区_4_多边形表
- 计算机图形学(二)输出图元_10_多边形填充区_3_内-外测试
- 计算机图形学(二)输出图元_10_多边形填充区_6_前向面与后向面
- 计算机图形学(二)输出图元_11_OpenGL多边形填充区函数(上)
- 计算机图形学(二)输出图元_11_OpenGL多边形填充区函数(下)
- 计算机图形学(二)输出图元_5_帧缓存值的装载
- 计算机图形学(二)输出图元_6_OpenGL曲线函数_5_其他曲线
- 计算机图形学(二)输出图元_9_填充区图元
- 计算机图形学(三)_图元的属性_10_ 通用扫描填充算法
- 计算机图形学(二)输出图元
- 计算机图形学(二)输出图元_3_画线算法_1_直线方程
- 计算机图形学(二)输出图元_12_OpenGL顶点数组
- 计算机图形学(二)输出图元_16_字符函数
- 计算机图形学(二)输出图元_17_图形分割
- 计算机图形学(三)_图元的属性_5_曲线属性
- 《学习OpenCV》课后习题解答4
- postgresql with的使用
- 快速了解数字签名验证及加解密中的一些概念
- 《Linux4.0设备驱动开发详解》笔记--第十五章:Linux I2C核心、总线与设备驱动
- nw.js node-webkit系列(22).nw执行过程及如何获取.nw真实路径
- 计算机图形学(二)输出图元_10_多边形填充区_5_平面方程
- python中高级特性
- Toast动态显示信息
- HDFS文件存储组织
- K3 WISE V14.0安装程序及微正版注册授权文件
- HDU_ACM_1202
- 基本视觉格式化
- Android四大基本组件介绍与生命周期
- Webview打开本地图片选择器