Package javax.vecmath

Examples of javax.vecmath.Vector3d.dot()


  Vector3d segdir = new Vector3d();
  segdir.sub(segend, segstart);

  double A = raydir.dot(raydir);// Dot(ray.m,ray.m);
  double B = -raydir.dot(segdir);// -Dot(ray.m,seg.m);
  double C = segdir.dot(segdir);// Dot(seg.m,seg.m);
  double D = raydir.dot(diff);// Dot(ray.m,diff);
  double E; // -Dot(seg.m,diff), defer until needed
  double F = diff.dot(diff);// Dot(diff,diff);
  double det = Math.abs(A * C - B * B); // A*C-B*B = |Cross(M0,M1)|^2 >= 0

View Full Code Here


  double tmp;

  if (det >= ZERO_TOL) {
    // ray and segment are not parallel
    E = -segdir.dot(diff);// -Dot(seg.m,diff);
    s = B * E - C * D;
    t = B * D - A * E;

    if (s >= 0) {
      if (t >= 0) {
View Full Code Here

        return Math.abs(D * s + F);
      }
    }
    else {
      // same direction vectors
      E = segdir.dot(diff);// -Dot(seg.m,diff);
      t = 1;
      tmp = B + D;
      if (tmp >= 0) {
        s = 0;
        if (rayint != null) rayint.set(rayorig);
View Full Code Here

  Vector3d seg1dir = new Vector3d();
  seg1dir.sub(s1end, s1start);

  double A = seg0dir.dot(seg0dir); // Dot(seg0dir,seg0dir);
  double B = -seg0dir.dot(seg1dir); // -Dot(seg0dir,seg1dir);
  double C = seg1dir.dot(seg1dir); // Dot(seg1dir,seg1dir);
  double D = seg0dir.dot(diff); // Dot(seg0dir,diff);
  double E; // -Dot(seg1dir,diff), defer until needed
  double F = diff.dot(diff); // Dot(diff,diff);
  double det = Math.abs(A * C - B * B); // A*C-B*B = |Cross(M0,M1)|^2 >= 0

View Full Code Here

  double tmp;

  if (det >= ZERO_TOL) {
    // line segments are not parallel
    E = -seg1dir.dot(diff); // -Dot(seg1dir,diff);
    s = B * E - C * D;
    t = B * D - A * E;

    if (s >= 0) {
      if (s <= det) {
View Full Code Here

        if (s1int != null) s1int.set(s1start);
        if (param != null) { param[0] = s; param[1] = t; }
        return Math.abs(D * s + F);
      }
      else {
        E = -seg1dir.dot(diff); // -Dot(seg1dir,diff);
        s = 1;
        tmp = A + D;
        if (-tmp >= B) {
          t = 1;
          if (s0int != null) s0int.set(s0end);
View Full Code Here

        if (s1int != null) s1int.set(s1start);
        if (param != null) { param[0] = s; param[1] = t; }
        return Math.abs(D * s + F);
      }
      else {
        E = -seg1dir.dot(diff); // -Dot(seg1dir,diff);
        s = 0;
        if (D >= -B) {
          t = 1;
          if (s0int != null) s0int.set(s0start);
          if (s1int != null) s1int.set(s1end);
View Full Code Here

    // equ. 5.2c ?
    n.cross(R, S);
    LOG.debug("n  is " + n);

    // equ. 5.28
    sinphi = n.dot(rkj);
    LOG.debug("sinphi is " + sinphi);

    //TODO hack to prevent signum returning zero
    phi = Math.acos(cosphi) * ((int) Math.signum(sinphi + 0.000000001) );
   
View Full Code Here

/*  86 */     Vector3d segdir = new Vector3d();
/*  87 */     segdir.sub(segend, segstart);
/*     */
/*  92 */     double A = raydir.dot(raydir);
/*  93 */     double B = -raydir.dot(segdir);
/*  94 */     double C = segdir.dot(segdir);
/*  95 */     double D = raydir.dot(diff);
/*     */
/*  97 */     double F = diff.dot(diff);
/*  98 */     double det = Math.abs(A * C - B * B);
/*     */
View Full Code Here

/*  97 */     double F = diff.dot(diff);
/*  98 */     double det = Math.abs(A * C - B * B);
/*     */
/* 102 */     if (det >= 1.E-005D)
/*     */     {
/* 104 */       double E = -segdir.dot(diff);
/* 105 */       double s = B * E - C * D;
/* 106 */       double t = B * D - A * E;
/*     */
/* 108 */       if (s >= 0.0D) {
/* 109 */         if (t >= 0.0D) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.