gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] libvob/org/nongnu/libvob/impl OrthoCoorder.java


From: Janne V. Kujala
Subject: [Gzz-commits] libvob/org/nongnu/libvob/impl OrthoCoorder.java
Date: Mon, 07 Apr 2003 06:00:44 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Changes by:     Janne V. Kujala <address@hidden>        03/04/07 06:00:43

Modified files:
        org/nongnu/libvob/impl: OrthoCoorder.java 

Log message:
        buoyOnCircle solving for mudyc

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/org/nongnu/libvob/impl/OrthoCoorder.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: libvob/org/nongnu/libvob/impl/OrthoCoorder.java
diff -u libvob/org/nongnu/libvob/impl/OrthoCoorder.java:1.7 
libvob/org/nongnu/libvob/impl/OrthoCoorder.java:1.8
--- libvob/org/nongnu/libvob/impl/OrthoCoorder.java:1.7 Mon Apr  7 05:12:27 2003
+++ libvob/org/nongnu/libvob/impl/OrthoCoorder.java     Mon Apr  7 06:00:43 2003
@@ -35,7 +35,7 @@
  */
 
 public class OrthoCoorder extends VobCoorder {
-public static final String rcsid = "$Id: OrthoCoorder.java,v 1.7 2003/04/07 
09:12:27 mudyc Exp $";
+public static final String rcsid = "$Id: OrthoCoorder.java,v 1.8 2003/04/07 
10:00:43 jvk Exp $";
     public static boolean dbg = false;
     private static void p(String s) { if(dbg) pa(s); }
     private static void pa(String s) { System.out.println("OrthoCoorder::"+s); 
}
@@ -162,32 +162,17 @@
 
        // project and translate buoy
        if (len <= rad) { 
+           float ux = x - px;
+           float uy = y - py;
+           float vx = px - cx;
+           float vy = py - cy;
+           float A = ux * ux / rad + uy * uy / rad;
+           float B = ux * vx / rad + uy * vy / rad;
+           float C = vx * vx / rad + vy * vy / rad;
+           float t = (-B + Math.sqrt(B * B - A * C)) / A;
 
-           // angular coefficient
-           float ac = 1;
-           if (px-x != 0) // tan a = y/x
-               ac = (py-y)/(px-x);
-
-           float boxSize = max - (max-min)*(len/rad);
-           if (px <= x) {
-               if (ac < 1 && ac >= -1)
-                   cs = orthoBox(0, (len/rad)*99f, // most close go up - 
others down.
-                                 cx + (float)Math.cos(ac)*rad, // x
-                                 cy + (float)Math.sin(ac)*rad, 1,1, 
boxSize,boxSize ); 
-               else 
-                   cs = orthoBox(0, (len/rad)*99f, // most close go up - 
others down.
-                                 cx - (float)Math.cos(ac)*rad, // x
-                                 cy + (float)Math.sin(ac)*rad, 1,1, 
boxSize,boxSize ); 
-           } else {
-               if (ac < 1 && ac >= -1)
-                   cs = orthoBox(0, (len/rad)*99f, // most close go up - 
others down.
-                                 cx - (float)Math.cos(ac)*rad, // x
-                                 cy + (float)Math.sin(ac)*rad, 1,1, 
boxSize,boxSize ); 
-               else 
-                   cs = orthoBox(0, (len/rad)*99f, // most close go up - 
others down.
-                                 cx + (float)Math.cos(ac)*rad, // x
-                                 cy + (float)Math.sin(ac)*rad, 1,1, 
boxSize,boxSize ); 
-           }
+           x = px + t * ux;
+           y = py + t * uy;
        }
        return cs;
    }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]