Нарисовать дугу через 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д