在PictureBox下先畫兩條線構成一個夾角,再在其中畫一個圓,但圓總是不能包在夾角中,演算法理論上感覺沒問題呀,請大神給看看
uj5u.com熱心網友回復:
這不需要看啦,好好檢查一下你的計算吧......uj5u.com熱心網友回復:
計算正確的話差幾個像素還說得過去,這個可差遠了uj5u.com熱心網友回復:
提醒:三角函式中角度的單位是弧度而不是度。uj5u.com熱心網友回復:
感覺是初中決議幾何不過關的樣子.uj5u.com熱心網友回復:

代碼僅供參考
Option Explicit
'角的頂點
Const ox As Single = 200
Const oy As Single = 2400
'pi = 3.1415926......
Dim pi As Double
'角度
Dim angle As Double
'圓心
Dim cx As Single
Dim cy As Single
'半徑
Dim cr As Single
Private Sub Form_Load()
Randomize
pi = Atn(1) * 4
Do
angle = (pi / 2) * Rnd
Loop Until Tan(angle) > (oy - cy) / (cx - ox)
cx = 2400
cy = 1600
Dim tana As Double, tanb As Double, tanc As Double
tana = Tan(angle)
tanb = (oy - cy) / (cx - ox)
tanc = (tana - tanb) / (1 + tana * tanb)
Dim sinc As Double
sinc = Sqr(tanc ^ 2 / (tanc ^ 2 + 1))
Dim d As Single
d = sinc * (Sqr((cx - ox) ^ 2 + (cy - oy) ^ 2))
cr = IIf(d < oy - cy, d, oy - cy)
Me.Line (ox, oy)-(ox + Me.ScaleWidth, oy)
Me.Line (ox, oy)-(ox + Me.ScaleWidth * Cos(angle), oy - Me.ScaleWidth * Sin(angle))
Me.PSet (cx, cy)
Me.Circle (cx, cy), cr
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/85531.html
標籤:VB基礎類
上一篇:VB多頁面怎么建立?
