JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/93/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stats.js/r16/Stats.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://threejs.org/examples/js/curves/NURBSSurface.js"></script>
<script src="https://threejs.org/examples/js/curves/NURBSUtils.js"></script>
<script src="https://threejs.org/examples/js/libs/dat.gui.min.js"></script>

JavaScript

var gui = new dat.GUI();
var params = {
  v0_1_0: -200, 
  v0_1_1: -200, 
  v0_1_2: 100,
  v0_2_0: -200, 
  v0_2_1: -100, 
  v0_2_2: -200,
  v0_3_0: -200, 
  v0_3_1: 100, 
  v0_3_2: 250,
  v0_4_0: -200, 
  v0_4_1: 200, 
  v0_4_2: 250,

  v1_1_0: 0,
  v1_1_1: -200,
  v1_1_2: 0,
  v1_2_0: 0, 
  v1_2_1: -100, 
  v1_2_2: -100,
  v1_3_0: 0, 
  v1_3_1: 100, 
  v1_3_2: 150,
  v1_4_0: 0, 
  v1_4_1: 200, 
  v1_4_2: 0,			

  v2_1_0: 200, 
  v2_1_1: -200, 
  v2_1_2: -100,
  v2_2_0: 200, 
  v2_2_1: -100, 
  v2_2_2: 200,
  v2_3_0: 200, 
  v2_3_1: 100, 
  v2_3_2: -250,
  v2_4_0: 200, 
  v2_4_1: 200, 
  v2_4_2: 100
};
gui.add(params, 'v0_1_0').min(-250).max(250).step(10);
gui.add(params, 'v0_1_1').min(-250).max(250).step(10);
gui.add(params, 'v0_1_2').min(-250).max(250).step(10);
gui.add(params, 'v0_2_0').min(-250).max(250).step(10);
gui.add(params, 'v0_2_1').min(-250).max(250).step(10);
gui.add(params, 'v0_2_2').min(-250).max(250).step(10);
gui.add(params, 'v0_3_0').min(-250).max(250).step(10);
gui.add(params, 'v0_3_1').min(-250).max(250).step(10);
gui.add(params, 'v0_3_2').min(-250).max(250).step(10);
gui.add(params, 'v0_4_0').min(-250).max(250).step(10);
gui.add(params, 'v0_4_1').min(-250).max(250).step(10);
gui.add(params, 'v0_4_2').min(-250).max(250).step(10);

gui.add(params, 'v1_1_0').min(-250).max(250).step(10);
gui.add(params, 'v1_1_1').min(-250).max(250).step(10);
gui.add(params, 'v1_1_2').min(-250).max(250).step(10);
gui.add(params, 'v1_2_0').min(-250).max(250).step(10);
gui.add(params, 'v1_2_1').min(-250).max(250).step(10);
gui.add(params, 'v1_2_2').min(-250).max(250).step(10);
gui.add(params, 'v1_3_0').min(-250).max(250).step(10);
gui.add(params, 'v1_3_1').min(-250).max(250).step(10);
gui.add(params, 'v1_3_2').min(-250).max(250).step(10);
gui.add(params, 'v1_4_0').min(-250).max(250).step(10);
gui.add(params, 'v1_4_1').min(-250).max(250).step(10);
gui.add(params, 'v1_4_2').min(-250).max(250).step(10);

gui.add(params,...