计算机知识一锅烩

图形学复习知识点3

2017-12-26  本文已影响17人  球球球球笨

分形几何

分数维 D = logN/ log(1/s) (N为每一步细分的数目,S为细分时的缩放倍数)

  1. Von Koch 曲线 D = log 4 / log 3 = 1.2618
  2. Sierpinski 三角形 D = log 3 / log 2 = 1.5849
  3. Mandelbrot 分形集
    G(Z) = Z^2 + C 其中 Z 和 C 都是复数
    迭代公式:
    xn+1 = xn2-yn2 + Cx
    yn+1 = 2xnyn + Cy
分形技术的常用模型
  1. 随机插值模型:不是事先决定各种图素和尺度,而是用一个随机过程的采样路径作为构造模型的手段。
  2. 粒子系统模型:用大量的例子图元来描述景物。
  3. 正规文法模型(Graftal):用正规文法生成结构性强的物体的拓扑结构,再通过进一步的几何解释来形成逼真的画面
  4. 迭代函数系统模型:以迭代函数系统理论作为数学基础。
一维中点变换算法
以一条水平地平线段开始
    重复足够多次{
       对场景中的每条线段做{
      找到线段的中点
      在 Y 方向上随机移动中点一段距离
      减小随机数取值范围
  }
}

每次循环减少的随机数取值范围越多,山脊线就越平滑,减少的如果较小,就会有明显的粗糙锯齿感。

粗糙度常量: 使用一个 0.0 到 1.0 之间的浮点数并称之为 H 。随机数范围在每次循环时乘上2(-h)


生成真实感图形的步骤

  1. 构建模型:数学方法建立三维模型,存储到系统中
  2. 投影变换:实体模型转换到三维观察坐标系
  3. 消隐处理:用消隐技术去除实现外的和不可见的面
  4. 光照处理:建立光照模型生成真实感图形。 生成真实感图形.PNG

真实感图形特点:能完整反映物体表面颜色和亮度变化,能反应质感和粗糙度,能反映光照效果,场景的深度感和层次感,体现物体间的遮挡关系,模拟透明物体透明效果和镜像效果。


消隐算法

线框图 -> 消隐图 -> 真实感图形

消隐处理的主要问题:

  1. 形体数据结构的合理组织
  2. 排除与遮挡无关的要素
  3. 遮挡关系

分类

  1. 根据消隐对象:
    (1)线消隐
    (2)面消隐
  2. 根据消隐算法空间:
    (1)物体空间消隐算法:通过分析物体之间的空间几何关系,来确定该物体的可见性
    (2)图像空间消隐算法:将物体的投影分解为像素,通过分析像素的可见性,来确定物体的可见性。

物体空间:规范化的投影空间,即用户域
图像空间:物体投影后的二维空间,即屏幕域

深度缓存消隐算法

对于屏幕上的每一个像素,记录位于改像素内最靠近观察者的景物面的深度值,同时相应记录该景物面颜色的所有记录值,输出图形。

开辟内存数组:ZB(x,y)和FB(x,y)
初始化数组:
      for x=0 ~ xmax 
              for  y=0 ~ ymax
              {     
                  FB(x,y)= 背景色;
                  ZB(x,y)= 最小值;
              }
 for 每个多边形 {   
     扫描转换该多边形
     for 多边形所覆盖的每个像素(x,y) {
         计算该多边形在该像素的深度值z(x,y);
         if ( z(x,y) > ZB(x,y)) {  
             用z(x,y)替换ZB(x,y)的值;
             用多边形在(x,y)处的颜色值替换FB(x,y)的值;
         }
     }
 }

深度值反应了该表面距离观察者的距离,Z越大,距离越大。

设表面方程:ax+by+cz+d=0 (c≠0),
该表面对应像素点P(i,j)的深度值:
z = –(ai+bj+d)/c

优点:算法简单,直观,便于硬件实现
缺点:内存占用量大,计算量大。

上一篇下一篇

猜你喜欢

热点阅读