![]() |
новая жизнь Motion Tween
я это публикнул и в AS2, и здесь, чтобы потом не говорили, что не видели.
Код:
import com.sharedfonts.Path |
ии.. и что?
я наверна чего-то не понял... |
везет
|
запостить кучу абсолютно нечитабельного кода не очень понятного назначения - это офигенно круто. ты это хотел сказать? :)
|
его нужно просто взять и тестануть.
читать - голову сломаешь. я это пол года делал. |
блин. да я потому и спрашиваю - я взял и тестанул. вижу непонятную хрень. но зная примерно уровень твоих экспериментов -
я предположил что не узрел чего-то архигениального :)) без иронии. может объяснишь чего ты добился делая это пол года? ладно я туповат, но думаю тут найдутся еще люди, которым интересно. или для кого ты это постил? |
о, у меня это таки заработало :))
я сначала видел красную точку в одном углу экрана и кривую колбасящуюся в другом углу :) заработало, прикольно. только нихрена не понятно. |
"What a waste of three years!" (c) Sanzo
Я понял твою идею. Создается путь и по нему движется маленькая красная точка. Попытка 1. Не пашет. Оказалось, надо скачать класс. Скачал. Попытка 2. Не пашет. Путь создается. Потрейсил результат гетПозишн - NaN. Кто-то забыл объявить какую-то переменную. Попытка 3. 6-й плейер, AS1. Не пашет. Ага, нужен класс. Попытка 4. 6-й плейер, AS2. Ура. Красная точка на пути. Едет. Гениально!!! Не побоюсь этого слова: ГЕНИАЛЬНО!!! Возникают есстественные вопросы: Что в этом коде героического, если основной героический бред сделал Иван Дембицкий, что там было делать полгода, и на что я потратил свои 15 минут? |
- да, соррри
- это программный MotionTween в примере можно узреть движение точччечки по изменяющемуся пути. путь задается точками безье (x,y,x,y,x,y), где последняя точка одной безье является первой точкой следующей безье. Если задана контрольная точка последней безье, но не задана последняя точка, то последней точкой становится первая точка пути. итак, зачем это: - снижение размеров анимации - не весит ничего и не зависит от количества кадров. - возможность произвольного изменения скорости объекта на этом пути, при этом никакой дискретности. - возможность динамического изменения самого пути. дальше, как фантазия ляжет, ведь умение получать точку на кривой может быть использовано для очень разных целей. Например можно нарисовать график скорости и в качестве скорости использовать получаемую _y координату. сорри еще раз. то что у меня пол года шилом сидело, наконец-то прорвало и мне ажно показалось, что все в курсе %) |
я и есть он :)
|
т.е. я пол года потратил на Path а не на пример его работы :)
|
Цитата:
Гыгыгыгы : )))) Смешно... : )))))) Ты сразу бы написал, что, для чего... А то тут был один, выложил какой-то архив, флэш-чат называется, что, для чего, зачем... Его спросили, а он в ответ: "поставь апач!" Тоже без пояснений. Как будто все знают начало и конец этой мысли. В тему: некоторое время назад разбираясь с фласмом я видел в ссылках первого уровня флассемблерный исходник моушн-твина с гайдом, где траектория менялась из круга в квадрат и наоборот. И сделано это было как-то так, что вроде это был реальный моушн твин, только организовывался он асмовыми командами. Если честно, то у меня не хватило терпения разобраться, как там было, но он был чуть ли не под пятерку (не уверен). |
не узнали дембицкого, блин)))
классная штука. теперь свф будут по 1 кб, а все перемацаются в программеров) чесно говоря сложный моушн твин лично я использую редко, а простенькие легче так замутить, но в принципе идея хороша))) |
Да, возможно.
Асмы там для ускорения бисекции были видать. Я тоже вынужден был бисекцию заюзать. но все остальное по-честному %) Вообще это продукт к которому я стремился, но по ходу пьесы так глубоко залез в безье, что собираюсь делать набор классов для расширения рисовательных возможностей. Например уже могу нарисовать анимированную пунктирную кривую. Причем пунктирные линии одинаковые, и движутся они по кривой, которую сами же и образуют. Объяснил, так объяснил :). 2KidsKilla: не заморачивайся ты на MotionTween. это то, что лежит на поверхности. Если включить фантазию, то ой много чего можно с помощью этой штуки делать. |
Я придумал проблему. В реальной жизни, когда аниматор творит моушн, он руководствуется не математическим выражением траектории, а визуальным восприятием происходящего на сцене, согласовываясь с остальным ее наполнением. Зачастую рядовой аниматор или баннермейкер даже не слышал такое словосочетание как "кривая Безье".
Ну да, программист, если он выделывается, может запустить объекты летать по разным траекториям. Это подходит, если траектория в целом - неважна. Подгонять же такой моушн, изменяя параметры пути, чтобы он проходил как хочется... мрачная перспектива. |
Цитата:
|
и не надо перемацываться в программеров. без работы останусь ибо конкурировать не смогу ибо же не наделен талантами к рисованию. :)
геометрический смысл Path: представим , что объект перемещается не на плоскости а по линии, т.е. в 1-мерном пространнстве. Вся математика упрощается до ужаса. Задача вычисления скорости, позиции объекта и т.п. сводится к простейшей математике. А метод getPointByPosition превращает твой путь из одномерного в двухмерный в зависимости от того, на какую кривую ты натягиваешь одномерное пространство. Круто сказал, надо записать :). Трехмерка очень рядом: можно добавить еще один путь и брать из него _y, в качестве _z. Только движение по пути должно быть связанным. Но это не трабл. Возможность программного задания изменения пути - еще одна полезная пассибилитя для разработчика. Например вычисляем путь в пространстве. Ходить углами - западло. Просто рисуем по найденному пути кривую и объект начинает двигаться естественно. и т.д. и т.п. и все это одной формулой. вот. |
2 DeliMIter:
Цитата:
|
Цитата:
и, BitSky, вот я понял что ты сделал, и в общих словах понял как. но пользоваться твоим кодом я могу только как черным ящиком. или же мне самому придется продумать всё то что ты продумал за пол года. (правда у меня будет хорошая подсказка в виде уже работающей программы) а понять каким образом пользоваться всем тем паровозом параметров, тем более без единого коментария в коде... скажи, вот ты сам много черных ящиков использовал в работах? я пока ни одного. вобщем реализовал - круто. можно нарисовать тебе на борту еще одну звездочку :)) но я бы хотел посмотреть кто этой работой воспользуется... |
Цитата:
Это все детали. |
Цитата:
|
ты постоянно пользуешься черными ящиками.
большинство встроенных методов начинку свою тебе не покажут. Функция на то она и функция, что тебе не обязательно понимать как она работает внутри. Достаточно знать что ей скормить и каков будет результат. А пользоваться будет вся студия. заставлю :). Насчет пол года: Это далеко не весь результат и даже не вершина айсберга. И тратил я свое личное время а не рабочее. И даром они точно не пройдут ибо научился я благодаря этим изысканиям многому... |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Кстати. Раз ты умеешь... есть шикарная статья, там имеется формула длины параболы. (искать по словам "The arc length of a parabola"). Эта формула будет попроще чем формула сегмента безье. Можешь ли сделать натуральную параметризацию, чтобы зная расстояние по длине на кривой можно было вычислить точку на этой кривой? А уж разбить безье на две параболы - не трабл. Тогда, удалось бы избежать бисекции. А это крайне важно для скорости работы алгоритма. |
Т.е. обратную формулу?
|
да
|
кстати, вершину всегда можно поместить в 0,0
а саму параболу развернуть как надо в результате достаточно будет вычислить x y всегда будет x^2 |
Цитата:
идея так же бредова и мало несет за собой пользы , вроде задумка "УХ" но безполезна ) это как народ квадратуру круга ищет ) толку никакого но идея тоже "УХ" )) P.S. думаю теперь тебе надо програмно Shape tween сделать ) лет за 12 думаю управишся ))) правдо с будущими скоростями инета народ врятле будет мелочится на пару килобайт , взамен получая долгие часы мороки подбивания кода под свой случай ) P.S.2. ну вот пришел и все испортил ( дискуссию ))) , работа такая ))) |
хехе, не испортил.
я делал и делаю то, что нужно МНЕ. иногда публикую результаты, если думаю, что кому-то они пригодятся. Если ты думаешь что ТЕБЕ они не пригодятся, то это никак не отменяет того, что это нужно мне. |
Цитата:
Код:
_root.clear(), _root.lineStyle(0, 0, 30);ЗЫ. Я же говорил, что такие люди, как BitSky меня бесят. :) |
рат старацца!
|
я бы наверное разбил параболу (а лучше сразу безье) на дуги окружностей
конечно, это зависит от точности, но я думаю в десяток можно уложится а дальше натуральноя параметризация - дело техники PS парабола очень хорошо приближается элипсом - но к сожалению это не выход PPS полинома со степенью выше 1 натурально параметризующего кривую построить нельзя |
то есть функцию обратную той, что на ссылке, сделать нельзя?
|
ладно убедили )))
раскажу об этой борьбе за килобайт внукам ))) если они меня не пошлют)))))) |
Микроскопом можно забивать микрогвозди!
Даже если взять простейшую параболу y=x^2, то длина кривой - некий интеграл, соответственно чтобы вычислить икс придется решить диф-уравнение. Если искомой обратной формулы нету в справочниках, то, возможно, уравнение нерешабельно. |
Цитата:
функция гладкая, должна хорошо приближаться по всей длине в явном виде скорее всего ответа не будет |
Цитата:
|
Штука интересная, и естесвенно для всевозможных превьюх очень нужная, но на мой взгляд не более.
Использовать в серьезном проекте не реально, примерно так же как и ASWDrawing. А патчей я видел уже много, у Sencular'a года два назад, с более дружественным API, у Ahab'a что-то было, ему правда в мат части не занимать :) Но увы на уровне эксперимента, можеть это случайно , а можеть и нет ;) |
- нельзя ли с линками?
ибо тема мне крайне интересна и хотелось бы глянуть на ссуществующие достижения в этой и смежных областях. Цитата:
спасибо. |
| Часовой пояс GMT +4, время: 02:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.