Нарисовать дугу через 3 точки - VB

Узнай цену своей работы

Формулировка задачи:

Как нарисовать дугу через 3 точки? К примеру у меня на форме 3 спрайта которые перетягиваются мышкой и надо между ними постоянно отрисовывать дугу вершина которой зависит от расположения 2 спрайта. Пример: В интернете нашёл ток Pic.Circle (100, 200), 50, 10000, 45 * 3.14 / 180, 135 * 3.14 / 180 Вот ток что здесь отвечает за середину так и не понял......

Решение задачи: «Нарисовать дугу через 3 точки»

textual
Листинг программы
Option Explicit
Private Type typePoint
    X As Double
    Y As Double
End Type
Dim P(0 To 2) As typePoint
 
Private Sub Form_Load()
    Scale (-100, 100)-(100, -100)
    P(0).X = -50: P(0).Y = 0
    P(2).X = 50: P(2).Y = 0
    DrawWidth = 3
End Sub
 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim t As Single
    Cls
    P(1).X = X: P(1).Y = Y
    For t = 0 To 10 Step 0.01
   
         X = (1 - t) ^ 2 * P(0).X + 2 * (1 - t) * t * P(1).X + t ^ 2 * P(2).X
         Y = (1 - t) ^ 2 * P(0).Y + 2 * (1 - t) * t * P(1).Y + t ^ 2 * P(2).Y
         'X = (1 - t) ^ 3 * P(0).X + 3 * (1 - t) ^ 2 * t * P(1).X + 3 * (1 - t) * t ^ 2 * P(2).X + t ^ 3 * P(3).X
         'Y = (1 - t) ^ 3 * P(0).Y + 3 * (1 - t) ^ 2 * t * P(1).Y + 3 * (1 - t) * t ^ 2 * P(2).Y + t ^ 3 * P(3).Y
      
        PSet (X, Y)
    Next t
End Sub

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


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

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

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