Плавное перемещение одного объекта к другому - VB

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

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

Здравствуйте, есть у меня две точки, которые находятся на неком расстоянии друг от друга по диагонали. Кратчайшее расстояние нахожу по формуле:
Листинг программы
  1. Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
Вопрос: как переместить одну точку к другой, но плавно по этой гипотенузе? Спасибо

Решение задачи: «Плавное перемещение одного объекта к другому»

textual
Листинг программы
  1. Option Explicit
  2. Dim X1 As Single, X2 As Single, Y1 As Single, Y2 As Single, X3 As Single, Y3 As Single
  3. Dim S As Single, dS As Single, rS As Single
  4. Dim sinA As Single, cosA As Single
  5. Private Sub Command1_Click()
  6.     Timer1.Enabled = True
  7. End Sub
  8. Private Sub Form_Load()
  9.     Timer1.Enabled = False
  10.     Scale (-10, 10)-(10, -10)
  11.     DrawWidth = 4
  12.     X1 = 1: Y1 = 2
  13.     X2 = 7: Y2 = 9
  14.     S = Sqr((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)
  15.     dS = S / 100
  16.     sinA = (Y2 - Y1) / S
  17.     cosA = (X2 - X1) / S
  18. End Sub
  19. Private Sub Timer1_Timer()
  20.     If rS >= S Then Timer1.Enabled = False
  21.     rS = rS + dS
  22.     Y3 = sinA * rS + Y1
  23.     X3 = cosA * rS + X1
  24.     Cls
  25.     PSet (X1, Y1)
  26.     PSet (X2, Y2)
  27.     PSet (X3, Y3)
  28. End Sub

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


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

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

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы