Показать сообщение отдельно
Старый 12.10.2012, 01:02
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 21  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Решение на пальцах:
1. Находим вектор (a) ширины прямоугольника и поворачиваем (на угол поворота прямоугольника)
2. Находим вектор (b) высоты прямоугольника и поворачиваем.
3. Делим каждый вектор на количество разбиений прмоугольника - получаем векторы сторон искомых прямоугольничков.
4. Теперь чтобы найти любую искомую точку:
p.x = start.x + a.x * колвоШаговПоШирине + b.x * колвоШаговПоВысоте;
p.y = start.y + a.y * колвоШаговПоШирине + b.y * колвоШаговПоВысоте;