![]() |
Веревка
Народ как делать веревку понятно(у Дембицкого в уроках хорошо написано).Вопрос в следующем: как сделать веревку фиксированого размера?У него там просто не веревка скорее резинка!
|
Хороший вопрос%)
размер вревки это длина кривой. Для этого нам хотябы нужно ее научиться находить. длина кривой вычисялется по фрмуле http://ru.wikipedia.org/wiki/%D0%94%...B2%D0%BE%D0%B9 далее смотрим по какой формуле мы строим кривую если это бикубический сплайн(кривая безье) то есть топик http://algolist.manual.ru/forum/show...036/page//vc/1 во флеше используется для пострениея кривых http://people.nnov.ru/fractal/Splines/Bezier.htm вот код для флеша Код:
далее все зависит от того по каким параметрам ты хочешь построить кривую заданной длины. если анпример по трем точкам и длине так ее можно просто не дориосвывать. т.е. нкжно знать какие параметры функции построения ты быдешь передать кроме длины. |
Ну для того что бы веревка была более менее реалистична необходимо как минимум точек пять имеющих вес!что бы она реалистично прогибалась!Кста спасибо за ответ ща буду смотреть че ты мне скинул!
|
будем говорить так. Веревка это кривая второго порядка
ее нужно разбить на сегменты которые строятся из 3-х точек как во флеше. или из 2-х точек + 2х точек касательных. Так вот общая длоина будет сложена из суммы длин этих сегменов. для начала тебе нужно уметь просчитать длину одного сегмента. описал выше как это возможно. далее поведение веревки а)ты можешь сделать функцию стоб один конец у тебя был фиксированным. второй конец двигался за мышкой. тогда она у тебя будет прогинаться за счет длины(меняться будет точка касательных). б) у тебя один конец фиксированный второй конец болтается на ветру тогда будет менять положение второй точки, а точка касательных будет задавать направление колебаний. в жэтом случае ты можешь ее просто нарисовать нужной длины по формулам quadratic bezier т.е. недорисовать или продлить на нужный кусок. В любом случае ты должна определиться что у тябы будет постоянным а что нужэно достроить до той длины что необходима. |
я далеко не уверен, что стоит лезть в такие дебри.
есть простые принципы инверсной кинематики, которые здесь наверняка подойдут лучше, по причине своей простоты относительно кривых. вот код, как-то опубликованный Антоном Волковым (но я тоже чего то там наэкскрементировал) : Код:
this.createEmptyMovieClip("line", 1); |
Упрощённый вариант (+гравитация и "ветер" (горизонтальная гравитация)):
Код:
this.createEmptyMovieClip("line", 1); |
Хороший вариант решения.
|
Оличный вариант!
|
Все смотрел на ету веревочку и не понимал вроде все класно, но чето не хватает.Не хватает энерции. Веревка четка возвращается в исходное положения без затухающих колебаний.Но это не проблемно переделать. А так еще раз повторюсь-круто!
|
Ну это уже вы сами сообразите
|
| Часовой пояс GMT +4, время: 09:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.