Построение треугольника по трем точкам - VB
Формулировка задачи:
Нужно построить треугольник по трем точкам,условия существования я сделал,есть проблема,никак не могу разобраться с прямыми,как собственно построить три линии если треугольник возможен ?
Вот мой код
Решение задачи: «Построение треугольника по трем точкам»
textual
Листинг программы
Option Explicit
Const g = 900
Dim WithEvents pb As PictureBox
Private Sub Form_Load()
Set pb = Controls.Add("vb.PictureBox", "pb"): pb.Visible = 1: pb.ZOrder 1
End Sub
Private Sub Form_Resize()
pb.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Sub pb_Click()
Dim ab!, bc!, ac!, cu!, su!, Xc!, Yc!, gg&, s$, a$()
Do
s = InputBox("Введите длины сторон треугольника через запятую: AB, BC, CA", , "990, 990, 990")
If s = "" Then Exit Sub
a = Split(s): If UBound(a) > 1 Then Exit Do
Loop
ab = Val(a(0))
bc = Val(a(1))
ac = Val(a(2))
If (ab >= bc + ac) Or (bc >= ab + ac) Or (ac >= ab + bc) Then
MsgBox ("Нельзя построить треугольник с такими длинами сторон")
Else
gg = ac + g
gg = ac + g
cu = (-bc ^ 2 + ac ^ 2 + ab ^ 2) / (2 * ab * ac)
su = Sqr(1 - cu ^ 2)
Xc = ab * cu
Yc = ac * su
pb.Cls
pb.Line (g, gg)-(g + ab, gg), vbBlack
pb.Line (g, gg)-(g + Xc, gg - Yc), vbBlack
pb.Line (g + Xc, gg - Yc)-(g + ab, gg), vbBlack
End If
End Sub