float y;
float x = 0;
float k=0.1;
int c1 = 19;
float xCur;
float yCur;
float zoom = -1;
boolean flag = true;
float cura;
float curb;
int crab;
float a = 0.0;
float inc = TWO_PI/25.0;
float k1 = 2;
float k2 = 1;
void setup() {
clear();
size(700, 700);
background(0, 30, 0);
x=0;
cura=0;
curb=0;
crab=0;
xCur=0;
yCur=0;
xCur=x;
yCur=y;
fill(255);
stroke(0, 255, 0);
line(0, 350, 700, 350);
line(350, 0, 350, 700);
frameRate(30); //скорость прорисовки к/сек
text("FuncCraft 4.1", 0 ,10);
text("Белая линия - основная линия графика", 0 ,20);
text("Красными и зелеными точками указаны пики дополнительных кривых построенных по смещению", 0 ,30);
}
void draw() {
k1=10; //коэфициент масштабирования по горизонтали
k2=0.1; //коэфициент масштабирования по вертикали
grid();
sinus();
if(x>=(700/k1)+10) {
clear();
c1=19;
setup();
}
}
void sinus() {
int mode = 4; //Выбор демонстрационной ячейки
if(x!=(700/k1)+10) {
x=x+k; //задающий счетчик НЕ ТРОГАТЬ! При нужде менять значение K!
if(mode == 1) {
y=(x*x)/5;
}
if(mode == 2) {
y=x-tan(x);
}
if(mode == 3) {
y=x-cos(x);
}
if(mode == 4) {
y=tan(x)/cos(x);
}
if(mode == 5) {
y=sin(x);
k1=150; //коэфициент масштабирования по горизонтали
k2=20; //коэфициент масштабирования по вертикали
}
if(mode == 0) { //настраиваемая ячейка
y=sin(x);
k1=150; //коэфициент масштабирования по горизонтали
k2=20; //коэфициент масштабирования по вертикали
}
//КОД НЕ РЕДАКТИРОВАТЬ!
stroke(255, 100, 100, 255);
point((x-10)*k1,y*k2+350);
stroke(0, 255, 0);
point(x*k1,y*k2+350);//10/150-sinus, 1-5 - x-tan(x)
stroke(255, 255, 255, 255);
line((cura-5)*k1, -curb*k2+350, (x-5)*k1, -y*k2+350);
cura=x;
curb=y;
}
}
void grid() { //работа с сеткой
while(c1< 720) {
stroke(255, 40);
line(0, c1, 700, c1);
line(c1, 0, c1, 700);
c1=c1+30;
}
}
Компилятор "processing"