JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="background" width="500" height="500"></canvas>
<div id="output"></div> <br/>
<p> Click and drag to change angle</p>

CSS

#background {
    background: #000000;
    border:1px solid black;
}

JavaScript

var element 	= document.getElementById('background');
var debug 		= document.getElementById('output');
var ctx 		= element.getContext("2d");

var camera 		 = {};
    camera.x 	 = 0;
    camera.y 	 = 0;
	camera.angle = 0.5;

var scale 		= 1.0
var obj 		= [];
var mainAngle 	= 0.6;
var t 			= {};
    t.radius 	= 200;
    t.duration 	= 10000; //10 seconds per rotation
    t.rotSpeed 	= 2 * Math.PI / t.duration; // Rotational speed (in radian/ms)
    t.start 	= Date.now();
	t.x;
	t.y;
obj.push(t);

var originX 	= 0;
var originY 	= 0;

///////angle for camera////////////////////////
element.addEventListener('mousedown', function(e) { cameraAngle(e,this);}, false);
function cameraAngle(evt, el) {
    var y = evt.offsetY;

    function update(e) {
        var dify = y - e.offsetY;
        y = e.offsetY;
        camera.angle -= dify / 500;
        if (camera.angle < 0) {
            camera.angle = 0;
        } else if (camera.angle > 1) {
            camera.angle = 1;
        }
    }

    function clear() {
        el.removeEventListener('mousemove', update, false);
        this.removeEventListener('mouseup', clear, false);
    }
    el.addEventListener('mousemove', update, false);
    document.body.addEventListener('mouseup', clear, false);
}
//////////////////////////////////
///moving circle around origin////
function updateObj() {
    for (var i = 0; i < obj.length; i++) {
        var delta = Date.now() - obj[i].start;
        var angle = obj[i].rotSpeed * delta;

        obj[i].x = obj[i].radius * Math.cos(angle);
        obj[i].y = obj[i].radius * camera.angle * Math.sin(angle);

        var vectorX = obj[i].x - 0;
        var vectorY = obj[i].y - 0;
        obj[i].angle = Math.atan2(vectorY, vectorX);

        debug.innerHTML = 'Radians: ' + obj[i].angle;
        debug.innerHTML += '<br/>Camera Angle: ' + camera.angle;
    }
}
////////////////////////////////

function draw() {
    updateObj();
    ctx.clearRect(0, 0, element.width, element.height);




    for...