Карусель и Лагранж

6 views
Skip to first unread message

Aleksey Matveev

unread,
Oct 2, 2009, 1:56:08 PM10/2/09
to ruFlash
Всем привет.
Помогите найти исходники "карусели" описанной, Александром Сергеевым,
в докладе "Чем математики могут помочь флэшерам".
Узнал из поста "Роста": http://flash-ripper.com/content/rafpug-12-sergeyev-video,
но файлов не нашел.

Alexander Sergeyev

unread,
Oct 2, 2009, 7:01:55 PM10/2/09
to ruFlash
http://sergeyev.ru/files/LagrangeApproximatorSample.rar

Оформил в виде AS3-класса, более-менее удобного для применения.
Принцип такой: вы знаете параметры объекта в некоторых точках, и нужно
аппроксимировать параметры в промежуточных точках.
Например, дизайнер дал вам раскадровку, где объект в нескольких
положениях находится, вы просто нумеруете положения, выписываете на
бумажку x, y, alpha, xscale, yscale, ..., запихиваете известные
значения в объект LagrangeApproximator, и запрашиваете в произвольной
точке.
Пример использования тоже в архиве. Там видно, что в некоторых
ситуациях полином Лагранжа дает нежелательные значения. Приходится
увеличивать количество опорных точек, додумывая их значения за
пределами известных значений.
Чтобы удобнее было проверять, какие же значения будут выдаваться, есть
метод построения простого графика.

Rost

unread,
Oct 3, 2009, 3:02:29 PM10/3/09
to ruFlash
> Оформил в виде AS3-класса, более-менее удобного для применения.

Ай молодчага, не поленился, причесал, выложил... боярин!

Рост

http://flash-ripper.com/

Alexey Taran

unread,
Oct 3, 2009, 5:01:43 PM10/3/09
to ruf...@googlegroups.com
Спасибо! К сожалению в упомянутом посте, упоминаний где это будет выложено не было.

Ruslan Shestopal

unread,
Oct 3, 2009, 6:24:24 PM10/3/09
to ruf...@googlegroups.com
как раз недавно исполнял подобную юрунду.
посмотрел видео. есть полезные весчи!
а вот еще математики могут помочь следующим на пример вот http://issuu.com/subbacultcha/docs/subbacultcha_magazine-september
там снизу док привьюх. Волна, амплитуда, разрядка.
делал. понравилось, но сейчас смотрю и как то не испытываю счастья от результата :(
Может есть какие формуы о которых ботаники не знают?
Зарание спасибо за подсказку.

Aleksey Matveev

unread,
Oct 3, 2009, 6:34:56 PM10/3/09
to ruFlash

> Оформил в виде AS3-класса, более-менее удобного для применения.
Благодарю.

Alexander Sergeyev

unread,
Oct 4, 2009, 4:27:30 AM10/4/09
to ruFlash

> а вот еще математики могут помочь следующим на пример вотhttp://issuu.com/subbacultcha/docs/subbacultcha_magazine-september

> там снизу док привьюх. Волна, амплитуда, разрядка.

Здесь можно такой же подход применить.
"вспучивание" плитки задается несколькими точками. из координаты
курсора и текущего состояния ряда плиток определяется ее "координата"
в ряду плиток (нецелочисленная). По ней вычисляются новые значения
масштаба плиточек, они масштабируются, и выкладываются слева направо с
соблюдением равного интервала.

Ruslan Shestopal

unread,
Oct 4, 2009, 9:14:50 AM10/4/09
to ruf...@googlegroups.com

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

для каждой плитки свой набор точек? или как? не совсем уловил принцип :(
 

Андрей Скорик

unread,
Oct 4, 2009, 9:17:48 AM10/4/09
to ruf...@googlegroups.com
а посмотрите на демки flair вкладка - distortions

http://flare.prefuse.org/demo

--
С уважением, Скорик Андрей. andrew...@gmail.com

Ruslan Shestopal

unread,
Oct 4, 2009, 9:42:38 AM10/4/09
to ruf...@googlegroups.com
 О нет, спасибо но  Flare - это через край круто. Вопрос тут в том, можно ли сделать такое распределение коверов какой то ну уж совсем простой мат. функцией.
Кстати CHM документация по Flare если кому надо http://ruslanshestopal.com/docs/Flare_API_Documention.rar

Alex Davydov

unread,
Oct 4, 2009, 9:55:28 AM10/4/09
to ruf...@googlegroups.com
Демки охренительные!
Респект.

Romano

unread,
Oct 4, 2009, 9:58:23 AM10/4/09
to ruf...@googlegroups.com
Демки - тема

Советую к прочтению книгу FriendsofED Foundation Actionscript 3.0 Animation
Там есть что посмотреть.


Андрей Скорик

unread,
Oct 5, 2009, 3:09:29 AM10/5/09
to ruf...@googlegroups.com
>  О нет, спасибо но  Flare - это через край круто.

:) ну я имел ввиду поглядеть на алгоритм и может что-то наведет на
мысль. если отбросить все лейауты, визуализации и тд..смотреть только
на то, что действительно отвечает за сам дисторшн. а именно класс
FisheyeDistortion там меньше 100 строк кода.

/** @inheritDoc */
protected override function xDistort(x:Number):Number
{
return fisheye(x, layoutAnchor.x, _dx, _b.left, _b.right);
}

private function fisheye(x:Number, a:Number, d:Number, min:Number,
max:Number) : Number
{
if (d == 0) return x;

var left:Boolean = x<a;
var v:Number, m:Number = (left ? a-min : max-a);
if ( m == 0 ) m = max-min;
v = Math.abs(x - a) / m;
v = (d+1)/(d+(1/v));
return (left?-1:1)*m*v + a;

Alexander Sergeyev

unread,
Oct 5, 2009, 3:45:52 AM10/5/09
to ruFlash
Непонятно объяснил, я вечером лучше демку реализую, и запощу сюда.

Ruslan Shestopal

unread,
Oct 6, 2009, 11:54:03 AM10/6/09
to ruf...@googlegroups.com
Спасибо! Очень бы хотелось глянуть, если не затруднит.

Непонятно объяснил, я вечером лучше демку реализую, и запощу сюда.
--
http://ruslanshestopal.com | -  freelance flash developer and a DJ
Reply all
Reply to author
Forward
0 new messages