Просмотр полной версии : Построение графиков по точкам
greenhill
23.11.2009, 13:27
Здравствуйте!
Как правильно рисовать графики по точкам?
Есть массив игриков :
var py:Array = new Array(10,11,16,9,18);
Шаг икса ровняется 10.
Как сделать чтоб строилась плавная линия соеденябщая эти точки?
вот простой пример с плавной линией по диагонали, но в моем случае я знаю координаты наперед и изменяю координаты пропорционально на одну и ту-же длину.
this.createEmptyMovieClip("triangle_mc", 1);
a=200;
b=200;
done=0;
var px:Array = new Array(300,200,100);
var py:Array = new Array(300,400,200);
triangle_mc.lineStyle(5, 0xFF00FF, 100);//описываю тип линии
triangle_mc.moveTo(200, 200);//ставлю точку в начальную координату
onEnterFrame=function(){
if(py[0]>=b){ //проверка на то, дошла ли линия до конца по осе Y
b+=1;
a+=1;
done=1;//говорю что дошла
}
if(py[1]>=b and done==1){//проверяю дошла ли до конца, если да, то рисую линию к второй точке
b+=1;
a-=1;
}
triangle_mc.lineTo(a, b); //провожу линию с начальной координаты до конечной.
}
вообщем что бы плавно рисовать незная координат наперед нужно прописывать кучу проверок.
greenhill
23.11.2009, 15:01
Хороший пример, но я наверное не так объяснила.
Мне необязательно плавно рисовать график.
http://orion-studio.com.ua/studio/pic/analitik_1.gif должно получится что-то вроде этого
Координаты известны заранее в массиве.
var py:Array = new Array(10,11,16,9,18);
это игрики, а иксы, так как шаг = 10 получаются, 0, 10, 20, 30, 40
вот, только отсчет начинается с 100.100
this.createEmptyMovieClip("triangle_mc", 1);
var begX:Number=100;
var begY:Number=100;
var px:Array = new Array(0,10,20,30,40);
var py:Array = new Array(10,11,16,9,18);
triangle_mc.lineStyle(5, 0xFF00FF, 100);
triangle_mc.moveTo(begX,begY);
for(i=0;i<py.length; i++){
triangle_mc.lineTo(begX+px[i], begY-py[i]);
}
greenhill
23.11.2009, 15:13
ага, спасибо, а углы можно как-то сглаживать? чтоб получались графики по типу синусоиды?
как лучше сделать это?
может третий as это умеет :) я не знаю. С этим помочь не могу...
greenhill
23.11.2009, 15:23
ага, все равно спасибо!
может кто-то знает?
Например тут (http://www.silin.su/#AS2/fit) посмотрите.
Вообще-то на форуме и в инете немеряное количество тем о построении гладких кривых по точкам, о тех же построениях Безье, например.
greenhill
23.11.2009, 16:28
спасибо!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.