text: //Initialize canvas
  
  var width = window.innerWidth
  || document.documentElement.clientWidth
  || document.body.clientWidth;
  
  var height = window.innerHeight
  || document.documentElement.clientHeight
  || document.body.clientHeight;
  
  const canvas = document.getElementById("canvas");
  canvas.width = width;
  canvas.height = height;
  
  let ctx = canvas.getContext("2d");
  
  let renderer = new Renderer(canvas);
  
  //Create three points defining the cut plane
  let p1 = {x:0.4,y:0,z:0.1};
  let p2 = {x:-0.4,y:0,z:1.1};
  let p3 = {x:0,y:-0.4,z:0.1}
  let plan = new Plane(p1,p2,p3)
  
  //Cube rotation
  let rotation = 0.002
  
  var start = null;
  
  function render(time) {
      //Compute time since last frame
      let dt = start - time;
      start = time;
      //Clear canvas
      ctx.fillStyle = "white";
      ctx.fillRect(0,0,canvas.width,canvas.height);
      //Set the cube rotation
      let cube = new Cube({x:0,y:0,z:0.6}, 0.3, {x: rotation, y:rotation, z:rotation})
      //Draw the cube
      cube.render(renderer)
      //Get the intersection between the cube and the plane
      let intersection = cube.intersection(plan);
      //Draw the intersection's points and segmetns
      for(let i in intersection.points) {
          renderer.point(intersection.points[i], "red")
      }
      for(let i in intersection.segments) {
          renderer.segment(intersection.segments[i], "red")
      }
      //Change the cube rotation
      rotation+=0.0002*dt
      //Repeat
      requestAnimationFrame(render)
  }
  
  requestAnimationFrame(render)