2011-12-26 116 views
-1

正如標題所描述的,我想製作一個在另一個大圓的扇形邊緣循環的小圓。我已經實施了該部門的圈子,現在唯一的問題是如何讓這個部門的邊緣小圈子流通。我嘗試了各種方法,但是,其中沒有一個被證明是成功的,所以我請求你給我一些如何實現它的提示。在圓的邊緣移動的圓形

在此先感謝。

+0

給出了一些你實施的細節。你怎麼定了一個圈子。什麼意思是「流通界」 – 2011-12-26 23:05:08

+0

你想畫兩個圓?看到一個轉動...可能是你需要使用一個Ihm庫。 – 2011-12-26 23:08:39

+0

您是否滿足「滾動無滑動」條件(並且圖像中有足夠的結構來顯示結果),還是足夠使移動的圓定位正確? – dmckee 2011-12-27 00:44:09

回答

0

你必須要考慮的是,對於集中在原點,半徑爲1的圓,圓上的每個點都可以被描述爲:

P = [sin(alpha); cos(alpha)] 

隨着​​

現在,如果你改變半徑和中心,你將有:

P = [(radius * sin(alpha))+x_center; (radius*cos(alpha))+y_center] 

所以,只要有alpha循環會從0到2 * PI(或任何你需要的圓圈部分)和美國e上述公式來計算小圓的中心位置。

0

我認爲你有一個函數可以在笛卡爾座標和半徑的給定位置繪製一個圓。

使用極座標(角度/半徑),將半徑設置爲大圓的半徑減去小圓。將角度設置到您想要開始圓的任何位置。然後設置一個循環,使角度增加一個給定量。每增加一次,清理屏幕,畫出大圓圈。然後將極座標轉換爲笛卡爾座標,在大圓的中心點上畫小圓。堅持只要你想。