zoukankan      html  css  js  c++  java
  • CG-光栅图形学反走样算法-学习笔记

    1. 背景——对于直线、圆及椭圆这些最基本元素生成的线条具有明显的“锯齿形”,即会发生走样(Liasing)现象;

    2. 走样现象

    1)光栅图形产生的阶梯形(锯齿形);

    2)图形中包含相对微小的物体时,这些物体在静态图形中容易被丢弃或忽略;

    3)快速变化的新号采样频率过低,所得样本表示的会是低频变化的信号;

    3. 反走样技术

    1)采用分辨率更高的显示设备,有所帮助,可以使锯齿相对物体更小一些;

    2)采用“模糊”的形式来产生更平滑的图像;

    4.非加权区域采样方法

    1)原理:根据物体的覆盖率计算像素的颜色。覆盖率是指某个像素区域被物体覆盖的比例;

    2)示例

    把这个多边形放在方格线中,其中每个正方形的中心对应显示器上一个像素中心。被多边形覆盖了一半的像素的亮度值赋为1/2,覆盖三分之一的像素赋值为1/3,;依此类推。0表示黑色,15表示白色。

    3)缺点

    a. 像素的亮度与相交区域的面积成正比,而与相交区域落在像素内的位置无关,这仍然会导致锯齿效应;

    b. 直线条上沿理想直线方向的相邻两个像素又是会有较大的灰度差;

    5. 加权区域采样方法

    1)原理:将直线段看做是具有一定宽度的狭长举行;当直线段与像素有交时,根据相交区域与像素中心的距离来决定其对像素亮度的贡献;

    2)方法:设置相交区域面积与像素中心距离的权函数(高斯函数)反映相交面积对整个像素亮度的贡献大小,利用权函数积分求相交区域面积,用它乘以像素可设置的最大亮度值,即可得到该像素实际显示的亮度值;

    3)采用离散计算方法

    将一个像素划分为n = 3 × 3个子像素,加权表可以取作:

    加权方案:中心子像素的加权是子像素的4倍,是其他像素的2倍,对9个子像素的每个网格所计算出的亮度进行平均;

    1° 求出所有中心落在直线段内的子像素;

    2° 计算所有这些子像素对元像素亮度贡献之和

    4)效果

  • 相关阅读:
    积水路面Wet Road Materials 2.3
    门控时钟问题
    饮料机问题
    Codeforces Round #340 (Div. 2) E. XOR and Favorite Number (莫队)
    Educational Codeforces Round 82 (Rated for Div. 2)部分题解
    Educational Codeforces Round 86 (Rated for Div. 2)部分题解
    Grakn Forces 2020部分题解
    2020 年百度之星·程序设计大赛
    POJ Nearest Common Ancestors (RMQ+树上dfs序求LCA)
    算法竞赛进阶指南 聚会 (LCA)
  • 原文地址:https://www.cnblogs.com/mzyan/p/9709384.html
Copyright © 2011-2022 走看看