2010-02-02 91 views
0

所以我一直在與http://processingjs.org/搞混。從圓圈突出的畫線

我想繪製一個圓圈,其中有一束從中突出的線條。每條線都應該垂直於圓的切線。

我不一定需要知道如何在processing.js中執行此操作,但我並不真正記得我的三角函數,因此對繪製此線所需數學的更多解釋會有所幫助,但如果你知道如何在processing.js中做到這一點,這也很酷。

謝謝。

回答

2

如果直線與圓的切線垂直,則延伸後它會穿過圓的中心。如果你的圓的圓心位於半徑爲r的(a,b),並且你希望它以角度t出來,那麼起點爲x1 = a + r cos t,y1 = b + r sin t(I假設你想讓這條線從圓周開始,這就是你的問題似乎暗示的),如果你想要這條線的長度爲z,你的端點是x2 = x1 + z cos t,y2 = y1 + Z罪噸和可以使用的處理命令

line(x1,y1,x2,y2) 

編輯:請注意,我的t從x軸順時針測量的。如果你想讓它逆時針方向(這在數學中是正常的),你可以用上面兩個地方的sin來代替sin t,因爲處理越來越多。

+0

這真棒謝謝。只是爲了驗證,t是線將突出的圓周角度? – icco 2010-02-02 19:59:39

+0

沒問題。回答你的評論:不。從圓周的角度始終是一個直角(根據您的要求)。角度t是線條與x軸的角度。所以,如果你想直接下降,你會使用pi/2(即90度:處理使用弧度),如原來寫的(t是順時針)。 – Ramashalanka 2010-02-02 20:24:25

+0

對不起,我誤解了我的評論,我實施了這個,你的回答正是我想要的。謝謝! – icco 2010-02-02 22:09:22

0

對於一個圓,一條垂直於切線的圓將穿過該圓的中心。任何通過圓的中心的線垂直於與圓相交的點處的切線。

0

理想情況下,可以有一個圓的無限切線,因此你可以有一個圓出來的無限線。

如果我確實瞭解你的問題,那麼以下可能會有所幫助。

您可以pick random points lying on a circle然後將它們連接到圓的中心。要使線條實際從圓中出來,請圍繞一個半徑略大於原圓的圓,但具有相同的中心座標。然後在這個外圈的圓周上隨機選取點並將它們連接到它的中心。

歡呼

1

我建議你忘了切線和從你想從伸出行方向上的圓心畫一條線。您可以將線偏移半徑距離,以便從圓的邊緣開始。