var lon=new Array();
var lat=new Array();
var x=new Array();
var y=new Array();
var px=new Array();
var py=new Array();
var point=new Array();
function sample(){
lon[ 1 ]= 43.06417 ;
lon[ 2 ]= 40.82444 ;
lon[ 3 ]= 39.70361 ;
lon[ 4 ]= 38.26889 ;
lon[ 5 ]= 39.71861 ;
lon[ 6 ]= 38.24056 ;
lon[ 7 ]= 37.75 ;
lon[ 8 ]= 36.34139 ;
lon[ 9 ]= 36.56583 ;
lon[ 10 ]= 36.39111 ;
lon[ 11 ]= 35.85694 ;
lon[ 12 ]= 35.60472 ;
lon[ 13 ]= 35.68944 ;
lon[ 14 ]= 35.44778 ;
lon[ 15 ]= 37.90222 ;
lon[ 16 ]= 36.69528 ;
lon[ 17 ]= 36.59444 ;
lon[ 18 ]= 36.06528 ;
lon[ 19 ]= 35.66389 ;
lon[ 20 ]= 36.65139 ;
lon[ 21 ]= 35.39111 ;
lon[ 22 ]= 34.97694 ;
lon[ 23 ]= 35.18028 ;
lon[ 24 ]= 34.73028 ;
lon[ 25 ]= 35.00444 ;
lon[ 26 ]= 35.02139 ;
lon[ 27 ]= 34.68639 ;
lon[ 28 ]= 34.69139 ;
lon[ 29 ]= 34.68528 ;
lon[ 30 ]= 34.22611 ;
lon[ 31 ]= 35.50361 ;
lon[ 32 ]= 35.47222 ;
lon[ 33 ]= 34.66167 ;
lon[ 34 ]= 34.39639 ;
lon[ 35 ]= 34.18583 ;
lon[ 36 ]= 34.06583 ;
lon[ 37 ]= 34.34028 ;
lon[ 38 ]= 33.84167 ;
lon[ 39 ]= 33.55972 ;
lon[ 40 ]= 33.60639 ;
lon[ 41 ]= 33.24944 ;
lon[ 42 ]= 32.74472 ;
lon[ 43 ]= 32.78972 ;
lon[ 44 ]= 33.23806 ;
lon[ 45 ]= 31.91111 ;
lon[ 46 ]= 31.56028 ;
lon[ 47 ]= 26.2125 ;
lat[ 1 ]= 141.34694 ;
lat[ 2 ]= 140.74 ;
lat[ 3 ]= 141.1525 ;
lat[ 4 ]= 140.87194 ;
lat[ 5 ]= 140.1025 ;
lat[ 6 ]= 140.36333 ;
lat[ 7 ]= 140.46778 ;
lat[ 8 ]= 140.44667 ;
lat[ 9 ]= 139.88361 ;
lat[ 10 ]= 139.06083 ;
lat[ 11 ]= 139.64889 ;
lat[ 12 ]= 140.12333 ;
lat[ 13 ]= 139.69167 ;
lat[ 14 ]= 139.6425 ;
lat[ 15 ]= 139.02361 ;
lat[ 16 ]= 137.21139 ;
lat[ 17 ]= 136.62556 ;
lat[ 18 ]= 136.22194 ;
lat[ 19 ]= 138.56833 ;
lat[ 20 ]= 138.18111 ;
lat[ 21 ]= 136.72222 ;
lat[ 22 ]= 138.38306 ;
lat[ 23 ]= 136.90667 ;
lat[ 24 ]= 136.50861 ;
lat[ 25 ]= 135.86833 ;
lat[ 26 ]= 135.75556 ;
lat[ 27 ]= 135.52 ;
lat[ 28 ]= 135.18306 ;
lat[ 29 ]= 135.83278 ;
lat[ 30 ]= 135.1675 ;
lat[ 31 ]= 134.23833 ;
lat[ 32 ]= 133.05056 ;
lat[ 33 ]= 133.935 ;
lat[ 34 ]= 132.45944 ;
lat[ 35 ]= 131.47139 ;
lat[ 36 ]= 134.55944 ;
lat[ 37 ]= 134.04333 ;
lat[ 38 ]= 132.76611 ;
lat[ 39 ]= 133.53111 ;
lat[ 40 ]= 130.41806 ;
lat[ 41 ]= 130.29889 ;
lat[ 42 ]= 129.87361 ;
lat[ 43 ]= 130.74167 ;
lat[ 44 ]= 131.6125 ;
lat[ 45 ]= 131.42389 ;
lat[ 46 ]= 130.55806 ;
lat[ 47 ]= 127.68111 ;
miny=44;
maxy=26;
minx=127;
maxx=142;
for(s=1;s<48;s++){
point[s]=25*Math.random();
}
for(s=1;s<48;s++){
y[s]=500*(lon[s]-miny)/(maxy-miny);
x[s]=500*(lat[s]-minx)/(maxx-minx);
px[s]=x[s];
py[s]=y[s];
}
var timer;
var delay = 100;
var t=0;
var loop = function () {
for(s=1;s<48;s++){
x2=px[s];
y2=py[s];
z2=dis(s,x2,y2);
x3=px[s]+1;
y3=py[s];
z3=dis(s,x3,y3);
if(z3>z2)x2=x3;
if(z3>z2)y2=y3;
if(z3>z2)z2=z3;
x3=px[s]-1;
y3=py[s];
z3=dis(s,x3,y3);
if(z3>z2)x2=x3;
if(z3>z2)y2=y3;
if(z3>z2)z2=z3;
x3=px[s];
y3=py[s]+1;
z3=dis(s,x3,y3);
if(z3>z2)x2=x3;
if(z3>z2)y2=y3;
if(z3>z2)z2=z3;
x3=px[s];
y3=py[s]-1;
z3=dis(s,x3,y3);
if(z3>z2)x2=x3;
if(z3>z2)y2=y3;
if(z3>z2)z2=z3;
px[s]=x2;
py[s]=y2;
}
t=t+1;
if(t>10)t=1;
if(t>9){
for(s=1;s<48;s++){
x2=px[s];
y2=py[s];
z2=disx(s,x2,y2);
x3=px[s]+1;
y3=py[s];
z3=disx(s,x3,y3);
if(z3<z2)x2=x3;
if(z3<z2)y2=y3;
if(z3<z2)z2=z3;
x3=px[s]-1;
y3=py[s];
z3=disx(s,x3,y3);
if(z3<z2)x2=x3;
if(z3<z2)y2=y3;
if(z3<z2)z2=z3;
x3=px[s];
y3=py[s]+1;
z3=disx(s,x3,y3);
if(z3<z2)x2=x3;
if(z3<z2)y2=y3;
if(z3<z2)z2=z3;
x3=px[s];
y3=py[s]-1;
z3=disx(s,x3,y3);
if(z3<z2)x2=x3;
if(z3<z2)y2=y3;
if(z3<z2)z2=z3;
px[s]=x2;
py[s]=y2;
}
}
var sub=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
for(s=1;s<48;s++){
str=str+sub.circle(px[s],py[s],point[s],"blue");
}
str=str+"</svg>";
$("#memo").html(str);
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function dis(s,x1,y1){
e3=0;
for(sx=1;sx<48;sx++){
e1=(x1-px[sx])*(x1-px[sx])+(y1-py[sx])*(y1-py[sx])
e2=(point[s]+point[sx])*(point[s]+point[sx]);
if(s==sx)e1=e2;
if(e2>e1)e3=e3+e1;
}
if(e3<1)e3=5000;
return e3;
}
function disx(s,x1,y1){
e1=(x1-x[s])*(x1-x[s])+(y1-y[s])*(y1-y[s]);
return e1;
}
最終更新:2017年02月28日 03:01