Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   движение по формулам! (http://www.flasher.ru/forum/showthread.php?t=40689)

дымок 08.12.2002 13:49

движение по формулам!
 
у меня возник ворос можно ли нарисовать на экране дугу ?размножая мтариальную точку по формуле окружности! r2=x2+y2

DeliMIter 08.12.2002 14:02

MX: lineStyle, moveTo, lineTo, curveTo
5: attachMovie, duplicateMovieClip

Вопрос: нафига?

дымок 08.12.2002 14:28

Вложений: 1
видишь в чём дело! я рисую полукруг таким способом... получается немного не равномерно, во-первых, а, во-вторых, та часть которая движется она как бы это сказать не ровная (хотелось бы её видеть закруглённой), может быть есть какие неть другие способы рисования полу окружности?

DeliMIter 08.12.2002 15:20

Если MX, то почитай про curveTo, строишь правильный многоугольник, описанный вокруг требуемой окружности, контрольные точки - вершины, якорные - середины сторон. Чем он многоугольнее, тем точнее окружность.

Код:

_k = Math.PI / 180;
R = 100;

lineStyle(0, 0x00, 100);

_spotx = R;
_spoty = 0;

for (var i=0; i<361; i++) {
        getSpot(i);
        curveTo(_lastx, _lasty, (_lastx + _spotx) / 2, (_lasty + _spoty) / 2);
}

function getSpot(value) {
        _lastx = _spotx;
        _lasty = _spoty;
        _spotx = R * Math.cos(value * _k);
        _spoty = R * Math.sin(value * _k);
}


Pietrovich 08.12.2002 15:30

2DeliMIter
curveTo штука класная, но нифига не понятная :(
в Кореле и Иллюстраторе достаточно 4х кривых для построения идеальной окружности, а с помощью курвТу я сколько ни трахался, нифига не получилось :(

так что если мен кто-то толково объяснит как в МХе крывые безье интерпретируются, буду капец как благодарен :)

2дымок
или через кучу прямых :)

DeliMIter 08.12.2002 15:50

Понятная, понятная :)))

Во флэше тоже требуется только 4 кривые, чтобы постороить окружность.... но их нельзя задать программно, а только в т.н. design-time. Программные курвы имеют следующий недостаток: два вектора, определяющих кривую, сходятся в одной точке (controlX, controlY), соответственно длина одного зависит от другого... что и ограничивает возможности программного рисования. Сделано это для простоты, кривая задается двумя якорными точками и контрольной. И то ты говоришь, что это сложно и непонятно. Если бы кривая задавалась четырьмя точками, то это было бы сложнее.... зато описывало бы все возможные кривые.

Pietrovich 08.12.2002 20:12

Цитата:

Программные курвы имеют следующий недостаток: два вектора, определяющих кривую, сходятся в одной точке (controlX, controlY), соответственно длина одного зависит от другого... что и ограничивает возможности программного рисования. Сделано это для простоты, кривая задается двумя якорными точками и контрольной.
именно это и непонятно...
нафига через жопу делать, было бы как у людей. можно было бы нормально работать, а так получается от курвов пользы только дугу непонятную нарисовать :(
ибо если нельзя на 4х точках (==4х кривых) окружность построить, то это не курвы а какие-то прямые неправильные :)

блин. как 4 курвы некрутиполучается или ромашка или квадратик, но не окружность :(

[subway]design 08.12.2002 22:32

Цитата:

то это не курвы а какие-то прямые неправильные
Безье курвы никогда не обещали быть гармоническими :)

http://astronomy.swin.edu.au/~pbourke/curves/bezier/


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

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