![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
попробуй еще совсем по-простому
public class Main extends Sprite { private var _points:Array/*Point*/ = []; public function Main():void { stage.addEventListener(MouseEvent.MOUSE_DOWN, onPress); stage.addEventListener(MouseEvent.MOUSE_UP, onRelease); } private function onRelease(e:MouseEvent):void { removeEventListener(Event.ENTER_FRAME, render); } private function onPress(e:MouseEvent):void { addEventListener(Event.ENTER_FRAME, render); } private function render(e:Event):void { _points.push(new Point(mouseX, mouseY)); graphics.clear(); graphics.lineStyle(12, 0x0); graphics.moveTo(_points[0].x, _points[0].y); for (var i:int = 1; i < _points.length; i++) { graphics.curveTo(_points[i - 1].x, _points[i - 1].y, (_points[i].x + _points[i - 1].x) / 2, (_points[i].y + _points[i - 1].y) / 2); } } } |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 140
|
silin
Спасибо за помощь. Будем пробовать. |
|
|||||
|
Цитата:
1) находим уравнение серединного перпендикуляра между i-1 и i точками 2) между i-2 и i-1 тоже серед перпендикуляр 3) находим точку пересечения (центр окружности) 4) находим расстояния от точки пересечения до i точки (любой из наших точек) = R 5) делим угол между между точками : i-1, центром окружности, i точкой пополам 6) откладываем от центра по найденному в 5 пункте направлению расстояние R - получим точку опорную. чет мне влом самому это делать)) Либо просто делать опорной i-1 а проводить от i-2 до i Последний раз редактировалось HotIceCream; 12.05.2010 в 01:00. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:31. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| curveTo , moveTo , z-13 , линии , сглаживание |
|
|