我正在處理一個自定義的pyQt SVG渲染器,需要幫助。這純粹是數學的,所以你不需要API。使用SVG elipitical弧計算?
要計算SVG橢圓弧,您需要兩個半徑rx
和ry
;橢圓的旋轉角度爲x-axis-rotation
;確定是否通過大於或小於180度畫圓弧並圍繞圓的圓弧方向的large-arc-sweep-flag
(1或0); sweep-flag
(1或0)確定弧線是以負方向還是負方向拉出;並且最終的x
和y
值確定弧的結束。
但是,QPainterPath.arcTo(self, float x, float y, float w, float h, float startAngle, float arcLenght)
使用邊界矩形x, y, w, h
;起始角度startAngle
;和arcLength/sweepLength弧的長度本身。如何將SVG命令翻譯爲arcTo()
方法可以使用的東西?
來源: W3C SVG, QPainterPath
感謝您的鏈接,我使它超過了基本代數和三角函數,但這有點難以理解。邊界矩陣x = w-rx,y = h-ry,w = rx * 2,h = ry * 2。接下來希望搞清楚'startAngle'和'arcLength'。 – Christopher 2012-01-01 03:02:17
感謝您的幫助。我只想問問某人如何將這些方程式轉換成python,但非常感謝你指引我朝着正確的方向發展。 – Christopher 2012-01-02 19:32:48