Построение треугольника по трем точкам - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы