Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Точки, проведенные по линии (http://www.flasher.ru/forum/showthread.php?t=119830)

flazher 02.01.2009 15:00

Точки, проведенные по линии
 
Есть две точки. Между ними проведена линия. На этой линии надо поставить 20 точек с одинаковым расстоянием между собой. Вопрос: как зная только начальные две точки проложить по линии остальные 20?

Division 02.01.2009 15:05

Векторную алгебру проходили? Тогда в чём дело?
Имеем две точки p1,p2. Имеем вектор v = p2-p1. Делим его на 20 частей. v = v/20.
Потом в цикле делаем так:
Псевдокод:
Код:

for (i=0; i<20; i++) {
  SetPoint(p1+v*i)
}


flazher 02.01.2009 15:07

Ага, здорово, получили длинну куска отрезка. А как узнать x и y очередной точки?

Division 02.01.2009 15:10

В функцию из моего псевдокода SetPoint передаются последовательно координаты всех двадцати точек.

flazher 02.01.2009 15:22

То есть:
Код:

point._x = x0+ ((p2._x - p1._x)/20)*i;
point._y = y0+ ((p2._y - p1._y)/20)*i;

Я правильно понял?

Добавлено через 2 часа 33 минуты
Проблему сам решил.
Код:

for (i=0; i<20; i++) {
  (p1 - h)/20 * i;
  (p2 - h)/20 * i;
}

http://www.flazher.narod.ru/primer.jpg


Часовой пояс GMT +4, время: 04:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.