一、空间中两条直线的最短距离
空间中任意一条直线L,可以由L上一个定点p,以及一个定方向d确定。则直线的向量参数方程可表示为:
空间中任意一条直线L,可以由L上一个定点p,以及一个定方向d确定。则直线的向量参数方程可表示为:
贝塞尔曲线是一种借助若干个控制点定义的参数曲线,由n+1个控制点定义的贝塞尔曲线称为n次贝塞尔曲线。一条n次贝塞尔曲线能否转换成n+1次贝塞尔曲线,并且两条曲线能够精确重合。这就需要对贝塞尔曲线进行升阶。
贝塞尔曲线(The Bézier Curves)是一种参数多项式曲线,由于它采用了一组独特的多项式基函数,使得它具有许多优良的性质,在诸多形式的参数多项式曲线中独树一帜,一经问世,就受到了工业界和CAGD学术界的广泛重视,人们对它情有独钟。贝塞尔方法在实践中表现出了强大的生命力。
已知点P0(x0, y0),P1(x1, y1),P2(x2, y2)是三维空间中不共线的三点,且按照顺时针或者逆时针排序。求过三点的圆弧。
在处理矢量曲线数据时,记录中往往会有很多重复数据,对进一步数据处理带来诸多不便。多余的数据一方面浪费了较多的存储空间,另一方面造成所要表达的图形不光滑或不符合标准。因此要通过某种规则,在保证矢量曲线形状不变的情况下, 最大限度地减少数据点个数,这个过程称为抽稀。
通俗的讲就是对曲线进行采样简化,即在曲线上取有限个点,将其变为折线,并且能够在一定程度保持原有形状。比较常用的两种抽稀算法是:道格拉斯-普克(Douglas-Peuker)算法和垂距限值法。
一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做”三百年重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。” F.S.Hill,JR 。
(1)对于一个向量V以及基o
求线段交点,是计算几何中一种非常基础的计算几何算法。但是发现网上的好几种算法,性能都不是特别好。下面提供一种在国外论坛上发现的,效率比较高的算法。
如下图所示,已知线段A(P1,P2) 和线段B(P3,P4),求两条线段的交点P。
点到线段的最短距离与点到直线的最短距离,二者在概念上是存在一定差异的。求点到线段最短距离时,需要考虑点在沿线段方向的投影点是否在线段上。若在线段上,点到线段的最短距离才等于点到直线的距离;否则,点到线段的最短距离则是点到线段某一端点的距离。如图所示:
如下图所示,已知面的法向量为N=(A,B,C),且M是面上确定的一点,求直线P1P2与平面的交点P。
射线在3D图形学中有很多重要的应用,如子弹射线的碰撞检测,游戏中物品的拾取等。在游戏中,一个模型是由很多的三角面构成,如果要对物体的所有三角面进行摄像的碰撞检测,那么效率是极其底下的,就是以现在的计算机运算能力,也是无法高效完成。因此,在真正的开发过程中,一般都退而求次,使用射线与模型的包围盒进行碰撞检测。