Esto te puede dar una idea de cómo traducir el movimiento del mouse alrededor de un punto a grados:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style>
*{ margin:0; padding:0}
#centro,#punto{background:red; width:10px; height:10px; position:absolute; left:100px; top:100px;}
#log{ position:absolute; width:100px; height:30px; line-height:30px; font-size:10px; font-family:Verdana, Geneva, sans-serif; text-align:center; background:#F93; left:10px; top:210px;}
</style>
<script type="text/javascript">
function getAbsolutePosMouse(e){
var ev=e || window.event;
var xScroll=self.pageXOffset || (document.documentElement.scrollLeft+document.body.scrollLeft) || 0;
var yScroll=self.pageYOffset || (document.documentElement.scrollTop+document.body.scrollTop) || 0;
var posX=ev.clientX+xScroll;
var posY=ev.clientY+yScroll;
return {x:posX,y:posY}
}
function mover(e){
var pos=getAbsolutePosMouse(e),el=document.getElementById('punto'),x,y,distX,distY,angle;
x=(pos.x+10);
y=(pos.y-10);
el.style.left=x+'px';
el.style.top=y+'px';
distX=100-x;
distY=100-y;
angle=Math.atan2(distX,distY);
if(angle<0)angle+=Math.PI*2;
document.getElementById('log').innerHTML=angle*180/Math.PI;
}
document.onmousemove=mover;
</script>
</head>
<body>
<div id="centro"></div>
<div id="punto"></div>
<div id="log"></div>
</body>
</html>
Ya el resto depende de vos ;)