Wiki source for PjsCampoMagnetico


Show raw source

<<ProcessingJs<<======APPLICAZIONI---Campo //magnetico//======

>>@@""<script src="http://www.valcon.it/pjs-/processing.js"></script>
<script src="http://www.valcon.it/pjs-/init.js"></script>
<script type="application/processing">final int numero=10;

float lato,
lato_2;
float x_pos[];
float y_pos[];
boolean tasto;

void setup()
{
size(360, 360);
smooth();
stroke(0);
fill(0,255,255);
strokeWeight(2);

lato=(float)width/(numero+1);
lato_2=lato/2.0;

x_pos=new float[numero];
y_pos=new float[numero];
for(int i=1; i <= numero; i++)
{
x_pos[i-1]=i*lato;
y_pos[i-1]=i*lato;
}
noLoop();
}
void mouseMoved() { tasto=true; redraw(); }
void mouseReleased() { tasto=true; redraw(); }
void mouseDragged() { tasto=false; redraw(); }
void mousePressed() { tasto=false; redraw(); }

float x_c, y_c,
x_m, y_m,
x_d, y_d,
angolo;

void draw()
{
background(255);

x_m=mouseX;
y_m=mouseY;
translate(x_m, y_m);

for(int i=0; i < numero; i++)
for(int j=0; j < numero; j++)
{
x_c=x_pos[i]-x_m;
y_c=y_pos[j]-y_m;
ellipse(x_c, y_c, 6, 6);

angolo=atan2(y_c, x_c);
if(tasto)
angolo += PI;
x_d = lato_2*cos(angolo);
y_d = lato_2*sin(angolo);

line(x_c, y_c, x_c+x_d, y_c+y_d);
}
}</script>
<canvas width="360" height="360"></canvas>""@@>>==Mouse==
**posizione**: direzione del //campo magnetico//
**tasto**: attrazione/repulsione
::c::==Codice==
%%(java;1)final int numero=10;

float lato,
lato_2;
float x_pos[];
float y_pos[];
boolean tasto;

void setup()
{
size(360, 360);
smooth();
stroke(0);
fill(0,255,255);
strokeWeight(2);

lato=(float)width/(numero+1);
lato_2=lato/2.0;

x_pos=new float[numero];
y_pos=new float[numero];
for(int i=1; i <= numero; i++)
{
x_pos[i-1]=i*lato;
y_pos[i-1]=i*lato;
}
noLoop();
}
void mouseMoved() { tasto=true; redraw(); }
void mouseReleased() { tasto=true; redraw(); }
void mouseDragged() { tasto=false; redraw(); }
void mousePressed() { tasto=false; redraw(); }

float x_c, y_c,
x_m, y_m,
x_d, y_d,
angolo;

void draw()
{
background(255);

x_m=mouseX;
y_m=mouseY;
translate(x_m, y_m);

for(int i=0; i < numero; i++)
for(int j=0; j < numero; j++)
{
x_c=x_pos[i]-x_m;
y_c=y_pos[j]-y_m;
ellipse(x_c, y_c, 6, 6);

angolo=atan2(y_c, x_c);
if(tasto)
angolo += PI;
x_d = lato_2*cos(angolo);
y_d = lato_2*sin(angolo);

line(x_c, y_c, x_c+x_d, y_c+y_d);
}
}%%'
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki