From 02e145cb923d601395acc7f15ae9e13f85ef2fbb Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Mon, 02 Jul 2018 21:38:58 -0400 Subject: [PATCH] Hip orientation. --- 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