MCPLive > 杂志文章 > 电脑画画也取巧?曲面细分来助阵!

电脑画画也取巧?曲面细分来助阵!

2010-08-06阿三《微型计算机》2010年6月下

从鹅卵石说起—电脑画质的困扰

有关DirectX 11的内容我们已经说了很多,其中重要也是显眼的功能就是曲面细分。但对不少新手来说,它仍然是一个艰深的技术。今天我们将通过大量形象的比喻让大家进一步理解什么是曲面细分。要了解曲面细分,我们就要先了解计算机是如何处理、建立曲面模型的,下面我们先来看一个例子。


在电脑眼中,图形就是由顶点坐标组成的框线,顶点越多,画面越精细。

自然界的很多东西都拥有复杂的表面,比如河边的石头、人的脸或者你手中的鼠标。当然,类似于鼠标这种工业化产品,科学家们能够用标准的数学方程式来描述它,因此它可以很精确地在电脑中显示出来。不过,随处可见的石头、岩壁甚至人的脸,都是“奇形怪状”甚至“楞刺嶙峋”的,那么怎样在电脑中体现它们特殊的表面呢?

首先我们思考一下,如果电脑打算复制一个一模一样的鹅卵石应该怎么做?第一,电脑会先把鹅卵石放到一个3D坐标中,然后测量鹅卵石的基本信息,比如在鹅卵石表面每隔一定距离确定一些顶点。在测量出了足够多的顶点后,电脑会把这些顶点用直线连接起来。

电脑为什么用直线连接顶点呢?这样不会产生很多棱角吗?没错,这就是问题所在。我们要让电脑画任何线条或给出任何操作,都必须用数学方程精确地描述它。对于鹅卵石这种表面很难用规整的数学方程描述的物体,电脑无法推算它表面上的定位数据。因此简单的方法就是在鹅卵石上取一些顶点然后用线段连接,后形成立体网格来代表鹅卵石。

 

取样的点越多,越精细,越接近想要的结果。在CD动画中,一些精细建模会使用千万级别的顶点,后得到的图形效果令人震撼。

取顶点的方法会影响后的模型效果。比如鹅卵石长宽高都是10cm,每隔1mm量取一个顶点,后得到的电脑模型图肯定非常接近原始状态。但如果每隔1cm取一个顶点,后得到的鹅卵石模型肯定非常粗糙。如果顶点取越多,越精细,就会获得越接近鹅卵石的电脑模型。但每隔1mm量取顶点需要大约一百万个顶点,每隔1cm量取顶点需要大约一千个顶点,两者相差一千倍。换句话说,我们得耗费大量的资源才能得到更精确的模型。

本文导航

分享到:

用户评论

用户名:

密码: