我想,学过Win32的同学必然知道贝塞尔样条,然而并没有卵用,因为只是知道,但是还是不知道贝塞尔样条到底是哪样的,更不知道贝塞尔样条有什么用,甚至说,什么是样条都不知道。
    所以,在此我将详细的从初学者的角度来分析解释一下,一起解除心中的疑惑。
    在学习的时候,也因为不知道它有什么用,所以想着,以后自己应该用不到,就囫囵吞枣混过去了。然而,再次学习时发现,贝塞尔样条作用可大了。所以,有必要给大家分析一番,填补一下内心的空虚。
    那么什么是样条呢?这个和生成制造业有关。以前在不能用电脑建模时,都是人工手动制作模型的。现在的CAD就普遍使用样条来处理模型设计。这样也加速了模型设计,可以设计出更加精美的汽车飞机等。
    那么人工手动设计模型,要建立一个模型,不能凭空想象吧。所以要用一些工具来形成弧面,这样就可以制作出一些曲面比较好的物体。然而这个在现在都可以用电脑设计出来,得力于贝塞尔样条。好了,我们先来用一个简单的例子来说明。

   下面是一个枫叶的图:

枫叶图,枫叶的简笔画图

枫叶图,枫叶的简笔画图
    在生产中要制造这样的形状的塑料叶子,所以我们要确定一个叶子的形状。然而,枫叶的边缘是没有规则的曲线组成。而且不同的地方曲线都不一样,是有很多曲线组成的。那么要人工手动在做,就是制作模型了,然后就可以用模型来倒出很多的塑料叶子(叶子需要1cm厚)。所以制作叶子的模板很重要,然而要做这样的曲线的边缘如何实现呢?
    因为是曲线,而且不规则的曲线,我们用现有的工具画都是画常规的曲线,如椭圆、正圆或者数学的那种普通曲线。所以,聪明的人就想到了用一个韧性很好的长条弯曲,将一端固定在一个点上,然后改变另一端的点的位置和使用的力的方向,让长条自然弯曲,形成自然的曲线,并且通过不断的控制另一端,可以让长条呈现不同的曲线形状,因此就可以满足这样的多样化的曲线边缘要求。那么这个长条就是样条啦。
    后来伟大的Bezier找到了一个数学公式,可以描述这样的曲线,分段控制,就可以形成这样的枫叶的线条。那么这个公式可以很好的解决这类问题,因为有了数学公式,就可以很好的被计算机使用,所以,因此计算机就开始可以处理这类问题了。所以用此人的名字Bezier(贝塞尔)命名了这个样条曲线函数,叫做贝塞尔样条。
    我想介绍到这里,你应该就很清楚样条是什么,贝塞尔又是什么,贝塞尔样条又是什么了吧。这个比书中详细多了,这个发展的细节是我调查理解推导出来的,所以除了C++技术网,就找不到这个解释了。

    那么贝塞尔样条的特点就是前面说的特征的提炼,从而来定义了贝塞尔样条。贝塞尔样条有两个端点,曲线会经过两个端点,两个端点上会有两个对应的控制点。两个控制点会改变曲线的形状,但无论如何,曲线都会和两个端点和对应的控制点的连线相切。下面就是贝塞尔样条的样子:

贝塞尔样条的样子

贝塞尔样条的样子


    那么实际应用中你要知道贝塞尔曲线有什么用,你可以看看cad软件。至于具体如何使用,你自己去玩玩。贝塞尔样条应用很普遍,我们这里就先了解了贝塞尔样条是什么以及有什么用,就是先如入门哈。