59 lines
1.0 KiB
HTML
59 lines
1.0 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3c.org/1999/xhtml">
|
|
<head>
|
|
<title>Vortex of canvas circles</title>
|
|
<style type='text/css'>
|
|
* {
|
|
margin:0;
|
|
padding:0;
|
|
}
|
|
|
|
canvas {
|
|
position:absolute;
|
|
top:50%;
|
|
left:50%;
|
|
margin-top:-200px;
|
|
margin-left:-320px;
|
|
border:1px solid #000;
|
|
}
|
|
</style>
|
|
<script type='text/javascript'>
|
|
function ani() {
|
|
var ctx=document.getElementById('canvas').getContext('2d')
|
|
c++
|
|
cd=Math.round((t-c)/d)
|
|
ctx.strokeStyle="rgb("+cd+","+cd+","+cd+")"
|
|
ctx.beginPath()
|
|
ctx.arc(x,y,rr,0,Math.PI*2,true)
|
|
ctx.stroke()
|
|
|
|
rr+=p
|
|
do {
|
|
nx=x+(Math.floor(Math.random()*11)-5)
|
|
ny=y+(Math.floor(Math.random()*11)-5)
|
|
} while (nx-rr<2 || nx+rr>637 || ny-rr<2 || ny+rr>397)
|
|
x=nx
|
|
y=ny
|
|
|
|
if (rr<r) setTimeout("ani()",40)
|
|
}
|
|
|
|
function load() {
|
|
x=320
|
|
y=200
|
|
r=180
|
|
rr=0
|
|
p=.5
|
|
t=r/p
|
|
d=t/255
|
|
c=0
|
|
ani()
|
|
}
|
|
|
|
window.onload=load
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<canvas id='canvas' width='640' height='400'></canvas>
|
|
</body>
|
|
</html> |