PDA

Просмотр полной версии : Построение сплайна


alexei_z
02.02.2004, 01:05
Проблема такая: нужно по траектории движения мышки построить гладенький сплайн. Т.е. нельзя взять и просто через все точки провести его, нужен какойто механизм, который уберет все лишние точки.
В общем-то это точ в точ повторяет инструмент Pencil когда выбираешь Smooth во Flash-e.
Только это должно быть в swf :)

Есть какие-нибудь алгоритмы?

Подскажите пожалуйста.

Штрек
02.02.2004, 02:58
Рисовалка известная:
this.onMouseDown = function() {
x = this._xmouse;
y = this._ymouse;
this.lineStyle(1, 0xff0000, 100);
this.moveTo(x, y);
this.onEnterFrame = function() {
xx = this._xmouse;
yy = this._ymouse;
this.lineTo(xx, yy);
};
};
this.onMouseUp = function() {
delete this.onEnterFrame;
};
Ну и fps настроить.

alexei_z
02.02.2004, 04:09
Спасибо! Это понятно! Я примерно также сделал.
Но оно все ломаными линиями рисуется! А у меня основная задача сгладить все это!!!

Именно не рисовалка, а алгоритм сглаживания нужен.

Допустим я все точки, через которые проходит мышь, сохраню в массив. Наверняка есть алгоритм, с помощью которого можно по этому массиву построить сплайн БЕЗ УГЛОВ.

Если есть - подкиньте.

Fisher
02.02.2004, 12:08
И мне :)
Кста фпс менять и не обязательно
this.onEnterFrame = function() {
if (++f == 5) {
xx = _xmouse;
yy = _ymouse;
lineTo(xx, yy);
f = 0;
}
};