Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   [MX] Западло curveTo() (http://www.flasher.ru/forum/showthread.php?t=29384)

Nox Noctis 09.04.2002 14:47

вот схемка :) задача по геометрии, седьмой класс :p

формула не такая как у Дениски, но вариантов может быть очень много :)

Nox Noctis 09.04.2002 15:09

алгоритм:
-- даны углы:
strt - начальный угол дуги
end - конечный угол дуги
-- дан радиус 'r '
-- дано положение центра окружности (cx, cy)

ставим начальное положение:
moveTo(cx+r*Math.cos(strt*rad), cy+r*Math.sin(strt*rad));
где rad = Math.PI/180; (перевод в радианы)

конечное положение аналогично:
{x:cx+r*Math.cos(end*rad), y:cy+r*Math.sin(end*rad))}

положение управляющей точки:
l = r/Math.cos((end-strt)/2*rad);
длина отрезка между центром окружности и контрольной точкой

controlPoint.x = cx + l*cos((strt+end)/2*rad);
controlPoint.y = cy + l*sin((strt+end)/2*rad);

все :)
поставили moveTo в начальное положение
и сделали curveTo(controlPoint.x, controlPoint.y, конечное.x, конечное.y)

Entropy 09.04.2002 21:43

Угу, только алгоритм Aib работает процентов на 40 быстрее.

Nox Noctis 09.04.2002 23:23

2Entropy
просили объяснить Денискин способ #2 рисования окружности...
...и причем тут алгоритм рисования эллипса Aib'а ? :)

Aib 10.04.2002 17:41

Разбор эллипса во второй части урока по кривым будет, вместе с другими примитивами.


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

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