Priedas1
From Kulki
http://media.vda.lt/st/bare/p5/kampas/
float vx,vy,x,y;
float x1,x2,y1,y2,r,h,t;
void setup(){
size(200,400); vx=0; vy=0.9; x1=50; y1=300; x2=150; y2=250; r=10; x=100; y=50; framerate(60);
}
void draw(){
background(200); line(x1,y1,x2,y2); fall();
}
void mouseReleased(){
x=mouseX; y=mouseY; vy=0.9; vx=0;
}
void fall(){
ellipse(x,y,r,r);
x=x+vx;
y=y+vy;
if (y>height){
y=50;
}
t = atan((y2-y1)/(x2-x1));
float m = tan(t);
float b = y2 - x2*m;
float k = t/abs(t);
if (x>=x1&&x<=x2){
if ( abs(y+vy - m*(x+vx) - b) < 5 ){
{
float md = atan(-1/m);
float t0 = atan2(-vy,-vx);
float t1 = md + (md-t0);
float v = sqrt(pow(vx,2)+pow(vy,2));
vy = v*sin(t1);
vx = v*cos(t1);
}
}
}
}
