Processing atan2

atan2(y, x)

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.4.15/processing.js"></script>
<canvas></canvas>

CSS

body {
    overflow: hidden;
    margin: 0;
    padding: 0;
}
</style> <script type="text/javascript"> window.addEventListener('load', function() {
    var scripts=document.body.getElementsByTagName('script');
    var canvases=document.body.getElementsByTagName('canvas');
    new Processing(canvases[0], scripts[0].text);
}
, false);
 // Here prevent javascript in body from throwing error </script> <style>

JavaScript

/* 
 title: atan2(y, x)
 date: 2015-07-22
 */

float x;
float y;
float col;

void setup() {
    size(800, 600);
    smooth(4);
}

void draw() {
    fill(137, 115, 160, 40);
    rect(0, 0, width, height);
    fill(255);
    pushMatrix();
    translate(width / 2, height / 2);
    float a = atan2(mouseY - height / 2, mouseX - width / 2);
    text(a, 50, 20);
    rotate(a);
    stroke(200);
    line(10, -5, width / 2, 2);
    popMatrix();


}