zoukankan      html  css  js  c++  java
  • 4 混淆失真(锯齿)

      用数字计算机合成一幅图像与把一片胶片暴露在真实的场景中是非常不同的。这种差异是无穷无尽的,尽管很多复杂的图形研究都是为了使差异尽可能小。但是有一个基本的问题,我们被困住了:现代数字计算机不能代表一个连续的信号。

      考虑使用一个标准的录音机来录制小号。吹小号使空气振动。振动的空气进入麦克风,在那里它变成一个不断变化的电子信号。这个信号被应用到磁带头,它产生一个不断变化的磁场。这个磁场被记录在一段磁带上,磁带正通过头部。

      现在,让我们在数字计算机上考虑同样的情况。音乐进入麦克风,变成一个连续的电子信号。但是计算机不能直接记录那个信号,它必须首先把它变成一系列的数字。在正式的术语中,它对信号进行采样,以便能够以数字方式存储信号。所以我们的连续音色已经被一个高精确度的序列所取代,当我们把这些数字转换成声音时,它听起来就像原始的音乐

      事实证明,这些“足够多的样本”和“足够高的精度”的概念非常重要。在一个叫做信号处理的工程数学分支中,他们被详细地研究,计算机图形学从这个分支中借鉴了许多重要的结果。

      让我们通过类比来看看一个典型的抽样问题。想象你在一个县集市上,站在旋转木马旁。这个旋转木马有六匹马,编号从1到6,它在旋转,所以看起来马在向右飞奔。现在假设有人告诉你旋转木马每60秒做一次旋转,所以每10秒就有一匹新马经过。你决定确认这个所谓的旋转速度。

      就在你看着马3从你面前经过时,有人叫你的名字。你转身去找打电话的人,但你找不到人。你花了10秒钟环顾四周。当你回到旋转木马时,你会看到那匹新马在你面前。你可能会觉得旋转木马在你不在的时候向右旋转了一匹马.

      说这种事情一遍又一遍地发生;你把目光移开10秒钟,然后再回来。每次回头,你都能看到前面的那匹马。你可以得出这样的结论:旋转木马每隔10秒就有1/6的旋转弧度,所以完成一场旋转需要60秒。因此,这种说法似乎是正确的。

      我们从你的观察中知道,肯定比这要快,但你的朋友不可能知道她错了,如果她只70秒一看的话。事实上,有人在这种情况下的测量可能是武断的。当你不知道发生了什么,你只要定期看一下翻车机,看一看,回头看。

      计算机也容易出现同样的问题。如果它对一些信号的采样太频繁,记录的信息可能是错误的,就像我们对旋转器的速度的确定是错误的一样。问题是一个信号(每10秒转1/6),它们是不同的信号,但在取样后,我们不能告诉它们

      模糊化的问题渗透了计算机图形。它以无数的方式出现,而且几乎总是明显的糟糕。问题是,如果一个人不小心,混淆几乎总是发生在某个地方,仅仅是因为数字计算机的性质和光线追踪算法本身的性质。幸运的是,有一些技术可以避免混叠,被统称为反混叠技术。它们是我们用来解决或减少混叠问题的武器。

      我们先看一下混叠的症状,然后简单地观察一些避免这些问题的方法。

  • 相关阅读:
    java中的数组与集合的排序摘抄自:http://blog.csdn.net/jonathan_q_bo/archive/2005/11/29/539043.aspx
    JSF开发
    二维数组排序
    java properties
    HashMap按key排序
    Properties 类的使用
    鸟哥linux的简单sh程序设计http://blog.chinaunix.net/u/22249/showart.php?id=149846
    JSF中文教程
    JSF技术介绍
    关于Apache不能解析html内容
  • 原文地址:https://www.cnblogs.com/TooYoungTsukasa/p/9179253.html
Copyright © 2011-2022 走看看