Normand Briere
2019-06-17 26b49d8e26625491f4a407a05e9bc9d72037f938
Torus.java
....@@ -61,16 +61,25 @@
6161 if (v == 1)
6262 v = 0;
6363
64
- double uAng = LA.toRadians((1-u) * 360);
65
- double vAng = LA.toRadians(v * 360);
66
- double x = (double)Math.cos(uAng) * (major + (double)Math.cos(vAng) * minor);
67
- double y = (double)Math.sin(vAng) * minor;
64
+ double uAng = u * 2 * Math.PI;
65
+ double vAng = v * 2 * Math.PI;
66
+ double cosua = Math.cos(uAng);
67
+ double sinua = Math.sin(uAng);
68
+ double cosva = Math.cos(vAng);
69
+ double sinva = Math.sin(vAng);
70
+
71
+ double radius = (major + cosva * minor);
72
+ double x = cosua * radius;
73
+ double y = sinva * minor;
6874 if (Math.abs(y) < 1E-10)
6975 y = 0; // hashtable issue
70
- double z = (double)Math.sin(uAng) * (major + (double)Math.cos(vAng) * minor);
76
+
77
+ double z = sinua * radius;
7178 cVector tPos = LA.newVector(x, y, z);
72
- double xx = (double)(Math.cos(uAng) * Math.cos(vAng)) * minor;
73
- double zz = (double)(Math.sin(uAng) * Math.cos(vAng)) * minor;
79
+
80
+ double xx = cosua * cosva * minor;
81
+ double zz = sinua * cosva * minor;
82
+
7483 cVector tNorm = LA.newVector(xx, y, zz);
7584 Vertex temp = new Vertex(tPos);
7685 //temp.pos = tPos; // useless new
....@@ -167,13 +176,13 @@
167176 return true;
168177 }
169178
170
- void doEditDrag(ClickInfo info)
179
+ void doEditDrag(ClickInfo info, boolean opposite)
171180 {
172181 if (hitSomething == 0)
173182 return;
174183 if (hitSomething == 1)
175184 {
176
- super.doEditDrag(info);
185
+ super.doEditDrag(info, opposite);
177186 return;
178187 }
179188 double deltaR = info.x - startX;