Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   [mx] Безье не дает покоя. (http://www.flasher.ru/forum/showthread.php?t=30929)

[subway]design 29.04.2002 19:18

[mx] Безье не дает покоя.
 
Вложений: 1
Нет, не он сам, а его чудо кривая. Поскольку в МХ можно пользоваться только кривой с одной контрол. точкой. (вроде называется "безье первого порядка", если вру - поправьте), то я решил сделать и с двумя точками - http://www.subwaydesign.by.ru/bezier/
Можно таскать букву "S" за все четыре конца. Комментарии принимаются :)

Примечание 1: То же можно и в пятерке сделать.
Примечание 2: Исходник в зипе.

Nox Noctis 29.04.2002 23:17

мм... симпатично :)
хотя слегка угловато, конечно... 8)

...только нельзя ли сделать то же самое используя деформацию сдвига с двумя "половинками" кривой... то есть нарисовать один раз кривые в каждом из мувиков, а потом их плющить...

metton 29.04.2002 23:40

???????????????????
 
2[subway]design
Не понял!!!
А как такое на пятёрке сделать??!! :confused:

[subway]design 29.04.2002 23:47

2 metton: в исходник посмотри. Там нет ни одной незаменимой функции :)
А lineTo() можно на клипах-палках построить.

2 Nox Noctis: за угловатость на стыках скажи спасибо lineTo() :(

metton 30.04.2002 00:02

2[subway]design
А нечем смотреть
пятёрка стоит...
перекомпили его в 5-ку, пжлст, если не влом..
спасибо...

Aib 30.04.2002 00:38

Весело. И достаточно быстро, кстати. Отсюда делаю вывод - тормозят цвета, а не формы

Nox Noctis 30.04.2002 01:01

2Aib
отсюда эпохальное философское умозаключение:
тормозит не форма - тормозит содержание
:D :D :D

Aib 30.04.2002 01:05

2Nox Noctis :p :p :p :p :p

[subway]design 30.04.2002 09:30

2 Aib & Nox Noctis: :)
Тормоза из-за lineTo(), и причем здесь цвета?
Кстати, в клипах-палках это еще больше тормозить будет.

зы: сейчас перекомпилю :)

RDA 30.04.2002 17:14

2 [subway]design: - весело, остается реализовать рекурсивный алгоритм и с Безье будет покончено ;)

2 Nox Noctis: к сожалению "плющить" кривые не получится (зы если интересно могу нарисовать почему)

Как не странно меня тоже интересует эта проблема (кривые и все что с ними связано) - Я пытался сделать кривую третьего порядка двумя кривыми - чего-то у меня не вышло - получилось, что надо расчитывать точку пересечения двух прямых...(слишком много рассчетов).

Кстати тормоза в варианте [subway]design-a из-за того, что кривая отрисовывается каждый кадр. У меня пень-800 время одной отрисовки ~15мс - что вполне приемлемо для простой кривой.

Остается самая интерсная штука - это составная кривая
пример - это составная кривая второго продка, до 100 точек вполне нормально.
А вот с третьим порядком хуже - подобным способом 20 точек уже пребор 15*20мс...

RDA 30.04.2002 17:16

Так что если кто придумает способ как отрисовывать кривую быстрее буду очень признателен...

Nox Noctis 30.04.2002 17:26

Цитата:

Оригинал написал(а) RDA
к сожалению "плющить" кривые не получится
да я и сам так подумал... а потом еще подумал, что может это просто я где-то торможу... :D
(а рисунок все равно давай :) может пригодится :) )

2all
ну, что соорудим может что-нибудь подобное, а ? ;) :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
...а прикольный конструктор там на самом деле ;)

Aib 01.05.2002 01:05

Кривой третьего порядка нужно 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.swf
403 :)

RDA 03.05.2002 18:05

Цитата:

2 RDA: симпатичная прога, но кривую "третьего порядка" из кривых "второго" никак не соорудишь. Ибо формула такая: http://astronomy.swin.edu.au/~pbourke/curves/bezier/
Согласен, что математической точности добиться не получится, но приблизительно то можно!
то, что у меня получилось
Красная - двумя кривыми
Зеленая - 4 (~ 2 ms)
Черная - "правильная" кривая

ps исходники там же

2 Nox Noctis: (по поводу рисунка) - рисовать не буду, лучше обьясню на пальцах. Представь точки в виде трапеции, а потом две верхние поменяй местами..... - не завидую я тому человеку, который решиться "плющить" этот случай :) :) :)


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

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