2016-01-24 107 views
0

所以我需要一個寫入方法來創建兩點之間的曲線,每個點都有一個歸一化矢量指向任意方向。我一直在設法設計出這樣一種方法,但一直未能把我的頭圍繞在數學上。在兩個點之間創建一條具有歸一化矢量的曲線

這裏,因爲一張圖片勝過千言萬語,這是我所需要的:

enter image description here

在圖片中,向量垂直的紅線。我相信矢量需要加權相同的重量相當於點之間的距離。它必須是這樣的,當兩個點在彼此頂部指向相反方向時,它仍然看起來像一條平滑的曲線(圖中的頂部曲線)。另外,我需要整合曲線來找出它們的長度。我不知道爲什麼我沒有想到如何計算所有這些,但我沒有。

另外我使用csharp語言並不重要。

+0

一個正切圖嗎? –

+0

特別是哪種語言? – Will

+1

您可能需要一個三次貝塞爾曲線。 IIRC,它沒有(一般)封閉形式的弧長的解決方案 - 但數值方法應該足夠了。 –

回答

1

立方貝塞爾確實會達到要求的效果。每個曲線段需要四個控制點。兩個端點定義了端點,另外兩個端點定義了端點的切線方向。剩下兩個自由度,告訴控制點沿切線的距離。

弧長不能分析計算,你需要數值方法。這other question爲您提供有用的信息。

enter image description here

相關問題