JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://threejs.org/build/three.js"></script>
<script src="https://threejs.org/examples/js/renderers/Projector.js"></script>
<script src="https://threejs.org/examples/js/renderers/SVGRenderer.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>

CSS

body {
	  margin: 0;
}

JavaScript

var camera, scene, renderer;

init();
animate();

function init() {

	camera = new THREE.PerspectiveCamera( 33, window.innerWidth / window.innerHeight, 0.1, 100 );
	camera.position.z = 10;
	
	scene = new THREE.Scene();
	scene.background = new THREE.Color( 0x000000 );
	
	scene.add( new THREE.AxesHelper() );
	
	
	renderer = new THREE.SVGRenderer();
	renderer.setSize( window.innerWidth, window.innerHeight );
	document.body.appendChild( renderer.domElement );
	
	//
	var vertices = [];
	var divisions = 50;
	
	for ( var i = 0; i <= divisions; i ++ ) {
		var v = ( i / divisions ) * ( Math.PI * 2 );
		var x = Math.sin( v );
		var y = Math.cos( v );
		vertices.push( x, y, 0 );
		
	}
	
	var geometry = new THREE.BufferGeometry();
	geometry.addAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );

	var material = new THREE.LineDashedMaterial( {
		color: 'blue',
		linewidth: 1,
		dashSize: 10,
		gapSize: 10
	} );
	
	var line = new THREE.Line( geometry, material );
	line.position.z = - 20;
	scene.add( line );
	
	// difference
  
				var node = document.createElementNS( 'http://www.w3.org/2000/svg', 'circle' );
				node.setAttribute( 'stroke', 'black' );
				node.setAttribute( 'fill', 'blue' );
				node.setAttribute( 'r', '10' );
				var object = new THREE.SVGObject( node.cloneNode() );
				object.position.x = 0;
				object.position.y = 0;
				object.position.z = -20;
				scene.add( object );
	
	window.addEventListener( 'resize', onWindowResize, false );
	
	var controls = new THREE.OrbitControls( camera, renderer.domElement );
	
}

function onWindowResize() {

	camera.aspect = window.innerWidth / window.innerHeight;
	camera.updateProjectionMatrix();
	
	renderer.setSize( window.innerWidth, window.innerHeight );
	
}

function animate() {
	
	renderer.render( scene, camera );
	
	requestAnimationFrame( animate );
}