Форум 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)
-   -   метод "curveTo()" (http://www.flasher.ru/forum/showthread.php?t=79457)

firsoff 08.05.2006 20:10

метод "curveTo()"
 
Кто объяснит, по каким формулам рисуются эти кривые, я знаю что это "сплайны", кривые 3го порядка и т.д.... в общем совершенно не конкретные вещи. Для чего мне это надо? Хочется сделать почти что как у Дембицкого свой класс "Path", но вот в математике не могу разобраться (как и у Дембицкого нужно контролировать касательную в произвольной точке кривой и любую координату кривой). Смотрел его исходники - капец, не одолеть... Кто знает, объясните попроще, вот есть координаты 3х точек (X1,Y1;X2,Y2;X3,Y3), вот коэфф.(A,B,C,D) которые зависят от координта и их нужно вставить в формулу A*Х^3+B*X^2+C*X+D=Y. С интегралами, производными и лимитой знаком =)

iNils 08.05.2006 20:14

Что именно интересует? Формула кривой Безье 3-го порядка?

firsoff 08.05.2006 20:20

Ну хотя бы формулы... и как приложить к Flashу все это добро...

iNils 08.05.2006 20:24

Вложений: 1
Наглядный пример

K.A.T.A.F.A.L.K.E.R 08.05.2006 20:28

читай:
http://ru.wikipedia.org/wiki/Кривые_Безье
это - все что надо знать по этому поводу :yahoo:

iNils 08.05.2006 20:30

Цитата:

Сообщение от K.A.T.A.F.A.L.K.E.R
читай:
http://ru.wikipedia.org/wiki/Кривые_Безье
это - все что надо знать по этому поводу :yahoo:

Не все, там нет формулы длины кривой.

Nirth 08.05.2006 20:33

Если переключить на Английский столько интересного можно увидеть=)

K.A.T.A.F.A.L.K.E.R 08.05.2006 20:42

Цитата:

Сообщение от iNils
Не все, там нет формулы длины кривой.

как всегда - интеграл... :rolleyes:

iNils 08.05.2006 20:43

И где там про длину?
Я знаю что длина это это интеграл (от 0 до 1) корня из суммы квадратов дифференциала параметрических уровней по dt. Кто понял что я сказал? :) Но я интегралы считал 10 лет назад. Пробывал воспользоваться wolfram.com и еще одним сайтом, но каждый из них выдавал разные результаты. У Ива тоже формула не идеальная. Если задать координаты начальной точки (0,0), а для конечной (4,3) и для контрольной любую координату на прямой между этими двумя точками то длина кривой должна быть 5, а не выходит.

iNils 08.05.2006 20:44

Цитата:

Сообщение от K.A.T.A.F.A.L.K.E.R
как всегда - интеграл... :rolleyes:

Знаем. Но должна быть конечная формула. Я так ее и не нашел :(

K.A.T.A.F.A.L.K.E.R 08.05.2006 20:49

l=S(sqrt(1+fp)*dx), где S - интеграл, fp - производная по x. Но для того чтобы это работало в этом случае - надо найти вид функции y=f(x) :)

iNils 08.05.2006 21:01

Цитата:

Сообщение от K.A.T.A.F.A.L.K.E.R
l=S(sqrt(1+fp)*dx), где S - интеграл, fp - производная по x. Но для того чтобы это работало в этом случае - надо найти вид функции y=f(x) :)

Я тебе тоже самое только для параметрического уровнения кривой написал.
И попробуй подсчитай этот интеграл :)

Dracula_DIS 08.05.2006 23:45

ты что не можешь сделать то?? найти касательнуюв произвольной точке??

iNils 09.05.2006 00:45

Цитата:

Сообщение от Dracula_DIS
ты что не можешь сделать то?? найти касательнуюв произвольной точке??

О чем это вы?

Dracula_DIS 09.05.2006 01:17

я просто не пойму суть вопроса ))
как я понял есть кривая. что с ней надо сделать то??

iNils 09.05.2006 01:46

Цитата:

Сообщение от Dracula_DIS
я просто не пойму суть вопроса ))
как я понял есть кривая. что с ней надо сделать то??

По скольку автор топика больше не пишет, то вроде все уже ему ясно.

firsoff 09.05.2006 20:41

все ясно... спасибо... спасение утопающих... уже стало немного понятнее.


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

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