From 42107f9a01652cb2f47228d20c1148a2a22f6a63 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Tue, 22 May 2018 19:33:31 -0400
Subject: [PATCH] new torus code and VR

---
 Torus.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/Torus.java b/Torus.java
index 8f85353..af74364 100644
--- a/Torus.java
+++ b/Torus.java
@@ -61,16 +61,25 @@
         if (v == 1)
             v = 0;
         
-        double uAng = LA.toRadians((1-u) * 360);
-        double vAng = LA.toRadians(v * 360);
-        double x = (double)Math.cos(uAng) * (major + (double)Math.cos(vAng) * minor);
-        double y = (double)Math.sin(vAng) * minor;
+        double uAng = u * 2 * Math.PI;
+        double vAng = v * 2 * Math.PI;
+        double cosua = Math.cos(uAng);
+        double sinua = Math.sin(uAng);
+        double cosva = Math.cos(vAng);
+        double sinva = Math.sin(vAng);
+        
+        double radius = (major + cosva * minor);
+        double x = cosua * radius;
+        double y = sinva * minor;
         if (Math.abs(y) < 1E-10)
             y = 0; // hashtable issue
-        double z = (double)Math.sin(uAng) * (major + (double)Math.cos(vAng) * minor);
+        
+        double z = sinua * radius;
         cVector tPos = LA.newVector(x, y, z);
-        double xx = (double)(Math.cos(uAng) * Math.cos(vAng)) * minor;
-        double zz = (double)(Math.sin(uAng) * Math.cos(vAng)) * minor;
+        
+        double xx = cosua * cosva * minor;
+        double zz = sinua * cosva * minor;
+        
         cVector tNorm = LA.newVector(xx, y, zz);
         Vertex temp = new Vertex(tPos);
         //temp.pos = tPos; // useless new

--
Gitblit v1.6.2