docs: public static void drawCube(Se3_F64 targetToCamera, CameraPinholeBrown intrinsic, double width,
  								double heightScale, int lineThickness, Graphics2D g2, double scale)
  	{
  		g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
  		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  
  		double r = width/2.0;
  		double h = width*heightScale;
  
  		Point3D_F64 corners[] = new Point3D_F64[8];
  		corners[0] = new Point3D_F64(-r,-r,0);
  		corners[1] = new Point3D_F64( r,-r,0);
  		corners[2] = new Point3D_F64( r, r,0);
  		corners[3] = new Point3D_F64(-r, r,0);
  		corners[4] = new Point3D_F64(-r,-r,h);
  		corners[5] = new Point3D_F64( r,-r,h);
  		corners[6] = new Point3D_F64( r, r,h);
  		corners[7] = new Point3D_F64(-r, r,h);
  
  		Point2D_F64 pixel[] = new Point2D_F64[8];
  		Point2D_F64 p = new Point2D_F64();
  		WorldToCameraToPixel transform = PerspectiveOps.createWorldToPixel(intrinsic,targetToCamera);
  		for (int i = 0; i < 8; i++) {
  			if( !transform.transform(corners[i],p) )
  				throw new RuntimeException("Crap");
  			pixel[i] = p.copy();
  		}
  
  		Line2D.Double l = new Line2D.Double();
  		g2.setStroke(new BasicStroke(lineThickness));
  		g2.setColor(Color.RED);
  
  		drawLine(g2,l,pixel[0].x, pixel[0].y, pixel[1].x, pixel[1].y,scale);
  		drawLine(g2,l,pixel[1].x, pixel[1].y, pixel[2].x, pixel[2].y,scale);
  		drawLine(g2,l,pixel[2].x, pixel[2].y, pixel[3].x, pixel[3].y,scale);
  		drawLine(g2,l,pixel[3].x, pixel[3].y, pixel[0].x, pixel[0].y,scale);
  
  		g2.setColor(Color.BLACK);
  		drawLine(g2,l,pixel[0].x,pixel[0].y,pixel[4].x,pixel[4].y,scale);
  		drawLine(g2,l,pixel[1].x,pixel[1].y,pixel[5].x,pixel[5].y,scale);
  		drawLine(g2,l,pixel[2].x,pixel[2].y,pixel[6].x,pixel[6].y,scale);
  		drawLine(g2,l,pixel[3].x,pixel[3].y,pixel[7].x,pixel[7].y,scale);
  
  		g2.setColor(new Color(0x00,0xFF,0x00,255));
  		drawLine(g2,l,pixel[4].x,pixel[4].y,pixel[5].x,pixel[5].y,scale);
  		g2.setColor(new Color(0xC0,0x10,0xC0,255));
  		drawLine(g2,l,pixel[5].x,pixel[5].y,pixel[6].x,pixel[6].y,scale);
  		g2.setColor(new Color(0x00,0xA0,0xC0,255));
  		drawLine(g2,l,pixel[6].x,pixel[6].y,pixel[7].x,pixel[7].y,scale);
  		g2.setColor(Color.BLUE);
  		drawLine(g2,l,pixel[7].x,pixel[7].y,pixel[4].x,pixel[4].y,scale);
  	}