Просмотр полной версии : [mx] Безье не дает покоя.
[subway]design
29.04.2002, 19:18
Нет, не он сам, а его чудо кривая. Поскольку в МХ можно пользоваться только кривой с одной контрол. точкой. (вроде называется "безье первого порядка", если вру - поправьте), то я решил сделать и с двумя точками - http://www.subwaydesign.by.ru/bezier/
Можно таскать букву "S" за все четыре конца. Комментарии принимаются :)
Примечание 1: То же можно и в пятерке сделать.
Примечание 2: Исходник в зипе.
Nox Noctis
29.04.2002, 23:17
мм... симпатично :)
хотя слегка угловато, конечно... 8)
...только нельзя ли сделать то же самое используя деформацию сдвига с двумя "половинками" кривой... то есть нарисовать один раз кривые в каждом из мувиков, а потом их плющить...
2[subway]design
Не понял!!!
А как такое на пятёрке сделать??!! :confused:
[subway]design
29.04.2002, 23:47
2 metton: в исходник посмотри. Там нет ни одной незаменимой функции :)
А lineTo() можно на клипах-палках построить.
2 Nox Noctis: за угловатость на стыках скажи спасибо lineTo() :(
2[subway]design
А нечем смотреть
пятёрка стоит...
перекомпили его в 5-ку, пжлст, если не влом..
спасибо...
Весело. И достаточно быстро, кстати. Отсюда делаю вывод - тормозят цвета, а не формы
Nox Noctis
30.04.2002, 01:01
2Aib
отсюда эпохальное философское умозаключение:
тормозит не форма - тормозит содержание
:D :D :D
2Nox Noctis :p :p :p :p :p
[subway]design
30.04.2002, 09:30
2 Aib & Nox Noctis: :)
Тормоза из-за lineTo(), и причем здесь цвета?
Кстати, в клипах-палках это еще больше тормозить будет.
зы: сейчас перекомпилю :)
2 [subway]design: - весело, остается реализовать рекурсивный алгоритм и с Безье будет покончено ;)
2 Nox Noctis: к сожалению "плющить" кривые не получится (зы если интересно могу нарисовать почему)
Как не странно меня тоже интересует эта проблема (кривые и все что с ними связано) - Я пытался сделать кривую третьего порядка двумя кривыми - чего-то у меня не вышло - получилось, что надо расчитывать точку пересечения двух прямых...(слишком много рассчетов).
Кстати тормоза в варианте [subway]design-a из-за того, что кривая отрисовывается каждый кадр. У меня пень-800 время одной отрисовки ~15мс - что вполне приемлемо для простой кривой.
Остается самая интерсная штука - это составная кривая
пример (http://www.rukin.ru/flashmx/ver01.html) - это составная кривая второго продка, до 100 точек вполне нормально.
А вот с третьим порядком хуже - подобным способом 20 точек уже пребор 15*20мс...
Так что если кто придумает способ как отрисовывать кривую быстрее буду очень признателен...
Nox Noctis
30.04.2002, 17:26
Оригинал написал(а) RDA
к сожалению "плющить" кривые не получитсяда я и сам так подумал... а потом еще подумал, что может это просто я где-то торможу... :D
(а рисунок все равно давай :) может пригодится :) )
2all
ну, что соорудим может что-нибудь подобное (http://www.sodaplay.com/), а ? ;) :p :p только с кривыми фигурами...
[subway]design
30.04.2002, 19:54
2 RDA: симпатичная прога, но кривую "третьего порядка" из кривых "второго" никак не соорудишь. Ибо формула такая: http://astronomy.swin.edu.au/~pbourke/curves/bezier/
2 Nox Noctis: Яву я из принципа не качал :( и не собираюсь :)
Nox Noctis
30.04.2002, 20:04
2[subway]design
:p
да пааажаалста... не очень-то и хотелось :D
...а прикольный конструктор там на самом деле ;)
Кривой третьего порядка нужно 12 параметров для построения (ну 11, если с точность до коэффициэнта). И где их взятьв нашей курве? Я пробовал с приближениями повозиться, но всё равно - слишком медленно.
[subway]design
01.05.2002, 19:56
Вот еще: http://www.subwaydesign.by.ru/math/interpolation_1.swf
Косинус рулит :) Только окошко уменьшите - тормозит.
зы: можно таскать за концы и вершины - там еще ограничения на перетаскивание: "нижнюю" вершину выше двух соседних "верхних" запрещается таскать :)
Nox Noctis
01.05.2002, 23:44
Оригинал написал(а) [subway]design
http://www.subwaydesign.by.ru/math/interpolation_1.swf403 :)
2 RDA: симпатичная прога, но кривую "третьего порядка" из кривых "второго" никак не соорудишь. Ибо формула такая: http://astronomy.swin.edu.au/~pbourke/curves/bezier/
Согласен, что математической точности добиться не получится, но приблизительно то можно!
то, что у меня получилось (http://www.rukin.ru/flashmx/ver02.html)
Красная - двумя кривыми
Зеленая - 4 (~ 2 ms)
Черная - "правильная" кривая
ps исходники там же
2 Nox Noctis: (по поводу рисунка) - рисовать не буду, лучше обьясню на пальцах. Представь точки в виде трапеции, а потом две верхние поменяй местами..... - не завидую я тому человеку, который решиться "плющить" этот случай :) :) :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.