繁体   English   中英

有理贝塞尔曲线的透视投影

[英]Perspective projection of rational bezier

我需要一种将 3d 圆锥投影到 2d 的方法。 没有一篇文章说明如何使用理性贝塞尔曲线来做到这一点。 我需要一种方法的另一件事是将 3d 或 2d 圆锥分别移动到 4d 或 3d(如反向投影)。 我在某处读到,有理贝塞尔曲线可以通过将它们移动到更高维度并用 de Casteljau 分割得到的非有理曲线然后向后移动来分割。 我似乎记得圆锥贝塞尔曲线的透视投影可以用圆锥贝塞尔曲线精确表示,并且它可能涉及分割成几条曲线。 我不理解任何关于贝塞尔的网站上的任何文章。

由于没有更好的答案,这就是我可以提供的...

透视变换可以将抛物线变为椭圆或双曲线,反之亦然,因此即使可以直接映射 P0、P1 和 P2,权重也会发生变化。

然而,假设一个权重为 (1,w,1) 的圆锥曲线,沿着从 (P0+P2)/2 到 P1 的直线与曲线相交的距离与权重 w 简单相关,这可以让您找到新重量如下:

  1. 将 P0、P1 和 P2 映射到 P0'、P1'、P2'
  2. 计算中点 M' = (P1'+P2')/2
  3. 逆映射M'到M,计算M-P1线与原曲线的交点I。
  4. 将交点 I 映射到 I',以获得新曲线应与 M'-P1' 相交的点
  5. 从交点 I' 的位置计算新的权重 w'。 曲线在 t=0.5 时到达 I,因此 w' = (M'-I')/(P1'-I')。 请注意,这种划分是有意义的,因为被划分的向量是共线的。 您可以划分它们的长度或仅划分最大坐标。

如果您扩展所有步骤,我相信有一些方法可以简化此过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM