私はカスタムpyQt SVGレンダラに取り組んでおり、助けが必要です。純粋に数学的なので、APIは必要ありません。SVG elipitical arcによる計算?
SVG楕円弧を計算するには、2つの半径rx
とry
が必要です。度での楕円の回転x-axis-rotation
;弧が180度より大きくまたは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
ご協力いただきありがとうございます。私はちょうどそれらの方程式をPythonに翻訳する方法を誰かに尋ねるつもりですが、正しい方向に私を指してくれてありがとう。 – Christopher