|
программное рисование во flash mx. управление кривыми. (часть ii)Ну, все преготовления закончились. Запускаем цикл рисования эллипса: for (var i = 1; i<=div; i++){ te = ARadius*cos(StartAngle+Dir*delta*i); Y1 = BRadius*sin(StartAngle+Dir*delta*i); X1 = CenterX+te*cos(ARadAngle)-Y1*sin(ARadAngle); Y1 = CenterY+te*sin(ARadAngle)+Y1*cos(ARadAngle); te = ABRadius*cos(StartAngle+Dir*delta*(i-0.5)); Y2 = BBRadius*sin(StartAngle+Dir*delta*(i-0.5)); X2 = CenterX+te*cos(ARadAngle)-Y2*sin(ARadAngle); Y2 = CenterY+te*sin(ARadAngle)+Y2*cos(ARadAngle); this.curveTo (X2, Y2, X1, Y1); }; }; } Цикл пройдёт div раз и создаст div дуг. Сначала находим координаты для якорных точки. Всё происходит по тому же принципу, что и для начальной точки . На каждом этапе работы цикла мы смещаемся на угол delta относительно предыдущего положения, в конце концов достигая конечного угла EndAngle = StartAngle+Dir*delta*div. Переменная Dir указывает, нужно прибавлять угол или вычитать, в завсимости от выбранного направления построения. Координаты контрольных точек находятся аналогично якорным, так как тоже находятся на эллипсе. Угол берётся на delta/2 меньше, чем для якорной точки (это следует из проведённых ранее вычислений). Опять же, если нужно другое направление отсчёта, Y1 = CenterY-te*sin(ARadAngle)-Y1*cos(ARadAngle) Y2 = CenterY-te*sin(ARadAngle)-Y2*cos(ARadAngle); И, наконец, вызов метода curveTo(), ради которого были все наши труды. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Другие статьи по теме: - программное рисование во flash mx. управление кривыми. (часть ii)- Flash баннер - использование flash, javascript и fscommand. - Flash. кривые безье — основа основ - создание элементов сайтов с использованием flash |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |