Нарисовать треугольник зная длины его сторон - VB
Формулировка задачи:
Задача:
Нарисовать треугольник зная его длины сторон.
Т.е. Дано три числа A,B,C - которые являются сторонами треугольника.
Как по ним можно нарисовать треугольник?
Были б координаты вершин - это легче легкого.
А как из длины стороны получить координаты вершин? Или есть еще варианты?
Решение задачи: «Нарисовать треугольник зная длины его сторон»
textual
Листинг программы
Dim ab As Single, bc As Single, ac As Single
Dim cugla As Single, sugla As Single, Xc As Single, Yc As Single
ab = Val(Text1.Text)
bc = Val(Text2.Text)
ac = Val(Text3.Text)
cugla = (-bc ^ 2 + ac ^ 2 + ab ^ 2) / (2 * ab * ac)
sugla = Sqr(1 - cugla ^ 2)
Xc = ab * cugla
Yc = ac * sugla
FillStyle = 0
Picture1.Cls
Picture1.CurrentX = 8
Picture1.CurrentY = 90
Picture1.Print "A"
Picture1.CurrentX = 10 + ab
Picture1.CurrentY = 90
Picture1.Print "B"
Picture1.CurrentX = 8
Picture1.CurrentY = 90
Picture1.Print "A"
Picture1.CurrentX = Xc + 10
Picture1.CurrentY = 85 - Yc
Picture1.Print "C"
If (ab >= bc + ac) Or (bc >= ab + ac) Or (ac >= ab + bc) Then
MsgBox ("Нельзя построить треугольник с такими длинами сторон")
Else
Picture1.Line (10, 90)-(10 + ab, 90), vbBlack
Picture1.Line (10, 90)-(10 + Xc, 90 - Yc), vbBlack
Picture1.Line (10 + Xc, 90 - Yc)-(10 + ab, 90), vbBlack
End If