VB我要使用 Line去畫線,知道角度了,但是要如何用角度去移轉他呢?
舉個例子好了,我以10,10為基準點,然後我從10,10 到 20,10 畫一條線,所以他的長度是「10」,然後我每條線段都要10的長度。
目前所知,10,10到20,10的角度是「0度」的話(此為數學座標),若10,10到10,20則為90度,那麼如果我要將10,10到20,10的角度是「0度」這條線的座標從基準點(10,10)提高30度在畫一條線,但是我要長度也是10,我該怎麼做。
然後要繞360度各畫12條線,每個的角度都是30度(自0度開始)我該怎麼做呢?
感恩。
2006-11-24 07:00:19 · 3 個解答 · 發問者 Hello 2 in 電腦與網際網路 ➔ 程式設計
Private Sub Form_Activate() Dim X&, Y&, R&, A%, X1&, Y1&, I% Const Pi = 3.14159265358979 ScaleMode = 3 A = -90 R = 10 '半徑 X1 = 10: Y1 = 10 '原點 For I = 1 To 12 X = X1 - Sin(A / 180 * Pi) * R Y = Y1 + Cos(A / 180 * Pi) * R A = A + 30 Line (X1, Y1)-(X, Y) NextEnd Sub
2006-11-24 07:54:12 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋
'逍遙兄你該不會也是選手吧 = =
Private Sub Form_Activate()
Dim PI%, i%, N%
Form1.ScaleMode = 3: N = 0: PI = 3.14159
For i = 1 To 12
Form1.Line (150, 100)-(150 + 100 * Cos(PI / 180 * N), 100 + 100 * Sin(PI / 180 * N)): N = N + 30
Next i
End Sub
2006-11-24 16:01:27 補充:
'遞迴解Private Sub Form_Activate()Call Draw(150, 100, 100, 0)End SubPrivate Sub Draw(X%, Y%, R%, A%)If A = 360 Then Exit SubForm1.Line (X, Y)-(X + R * Cos(3.14159 / 180 * A), Y + R * Sin(3.14159 / 180 * A))Call Draw(X, Y, R, A + 30)End Sub
2006-11-24 09:50:06 · answer #2 · answered by jj0900 1 · 0⤊ 0⤋
W.J.S兄實在太厲害了@@~
這個問題我想了很久,沒想到您輕易就解出來,如此的短,感激。
還沒四小時不給我選最佳..
2006-11-24 08:15:51 · answer #3 · answered by Hello 2 · 0⤊ 0⤋