2016-05-12 94 views
0

我正在研究基於cgm文件輸入繪製形狀的程序。我試圖繪製橢圓弧,並以圓弧中心的開始和結束矢量爲開頭部分。我需要幫助計算角度的矢量,所以我可以繪製。計算給定兩個向量的橢圓弧開始和結束角度

我一直在嘗試使用標準atan2(y/x),但後來我發現它對於圓形而不是橢圓有效。

這張圖片給出了我想要做的一個例子。我正在尋找角度A和B.

編輯:這與我的其他問題here有關。 (另外請注意,這個問題是基於我的問題背後的數學問題,而另一個問題是用qt編程幫助。)

ellipses上的維基頁顯示數學爲什麼不起作用,但我不是確定如何實施它。

Elliptical Angle Example

+0

A和B的期望值是多少?橢圓的大小是給定的嗎? – kennytm

+0

@kennytm我不確定具體值是什麼。是的,給出了橢圓的大小。我更新了原始問題,並鏈接到我的另一個問題上,這個問題就是建立在這個問題上的。 – Gene

回答

0

角度A和B你在你的照片其實畫什麼都沒有做的橢圓形。

只需計算x軸與從原點到點(75,50)的直線之間的角度即可。這由arctan(50/75) = 33.69°給出。並且通過對稱性,它與角度(75,-50)相同。

然後,通過簡單的三角函數,對角AA = 360° - 33.69°,而對於BB= 180° + 33.69°

考慮到A,這與atan2(-50, 75)獲得的信息相同。但是,atan2的結果在(i)中以弧度表示,(ii)在[-pi, pi]的範圍內。您可以添加2*pi並以角度表示,並獲得與上述相同的結果。

+0

這就是我最初嘗試過的,但我使用結果在qt中使用drawArc函數[qpainter](https://doc.qt.io/qt-4.8/qpainter.html)類繪製角度。如果我使用這些答案,弧​​線繪製不正確。 – Gene