簡體   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