|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
Расставить объекты по контуру Sprit -a
Всем привет , помогите решить проблему
есть серый овал-спрайт, отрисованный с помощью drawPath по точкам и допустим есть комбо бокс, через который выбирается количество синих квадратов. Синие квадраты тоже рисуются через drawPath. синие квадраты в зависимости от количества должны расставиться по контуру овала(не в разброс, как через равные расстояния), причем должны повернуться не к центру, а таким образом: то есть к линии , проходящей через точки пересечения овала и квадрата. Может кто что подсказать, уже 2 день бьюсь. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
нет, объекты любой формы, даже может быть группа из двух объектов, "засунутых " в один спрайт
|
|
|||||
Регистрация: Jan 2009
Сообщений: 1,651
|
Ну, есть ,скажем, параметрическое уравнение эллипса.
а и b - радиусы, если что. t принадлежит промежутку [0,2PI]. Делим период [0,2PI] на количество квадратов, которые нам надо разместить и размещаем их в полученных промежутках. Так, теперь осталось только развернуть эти квадраты, чтобы они лежали на касательной. Уравнение касательной к эллипсу Подставляем имеющиеся a,b и приводим полученное к обычному виду уровнения прямой y = kx + b. Потому что, как известно в этом уравнении прямой k = tg (alfa), т.е. нужный нам угол равен arctg(k). Как то, примерно, так. --upd-- А если для объектов любой формы, то это довольно сложно. Это вам нужно уровнение сплайнов будет использовать, ну и касательная к ним, чтобы найти угол - это производная уровнения сплайна будет.
__________________
мой пустой блог |
|
|||||
Если обводить кривой Безье, то можно использовать готовую библиотеку.
Добавлено через 25 минут Немного теории.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
тоесть в любом случае придется считать периметр , делить его на отрезки, и по длинам этих отрезков высчитывать на какую кривую(или прямую) попадает точка?
а можете какую нибудь ссылочку дать хорошую по уравнению сплайнов? Последний раз редактировалось Isfet; 06.02.2013 в 17:35. |
|
|||||
Регистрация: Jan 2009
Сообщений: 1,651
|
Цитата:
Цитата:
__________________
мой пустой блог |
|
|||||
Почитайте о B-Spline и NURBS.
Добавлено через 8 минут Цитата:
Добавлено через 9 минут http://en.wikipedia.org/wiki/File:Bezier_4_big.gif
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
Цитата:
|
Часовой пояс GMT +4, время: 20:04. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|