2010-05-01 88 views
1

我需要繪製一個形狀,其邊界是使用iText的拋物線(即二次貝塞爾曲線)的一部分。我在PdfContentByte類中僅找到method for drawing cubic bezier curves如何使用iText繪製拋物線的一部分?或者我如何從三次貝塞爾曲線創建二次貝塞爾曲線?

那麼如何使用iText繪製二次貝塞爾曲線?一種方法是使用三次貝塞爾曲線的方法。是否可以將二次貝塞爾曲線繪製爲三次貝塞爾曲線(具有2個控制點)。我相信是這樣,但我無法制定公式。如果有人指出公式tu將「三次貝塞爾曲線」翻譯成二次方程來解決問題。 在iText中繪製二次貝塞爾曲線(部分拋物線)曲線(以及由它們構成的填充形狀)也是解決方案。

由於

回答

1

對於那些有興趣的答案爲控制點C1和三次Bezier曲線的C2式即等於與控制點C二次貝塞爾曲線是:

C1 = 2/3*C + 1/3*P1 
C2 = 2/3*C + 1/3*P2 

其中,P1,P2是原始二次曲線和相應三次曲線的起點和終點。有關該主題的更多信息是here(標題下:在三次Bezier中變換二次貝塞爾曲線)。

還有一種直接的方法可以使用iText使用this方法繪製二次貝塞爾曲線。我剛開始沒有看到它...