Examples of Vector2d


Examples of org.rascalmpl.library.vis.util.vector.Vector2D

   */
  public Vector2D repulsiveForce(SpringGraphNode other) {
    double distance2 = distance2(other);

    if (distance2 > 0) {
      Vector2D thisVector = new Vector2D(getCenter());
      Vector2D otherVector = new Vector2D(other.getCenter());
      return thisVector.sub(otherVector).mul(G.EDGE_LENGTH_2).div(distance2).mul(G.REPEL);
    }
    return (new Vector2D(0, 0));
  }
View Full Code Here

Examples of org.rascalmpl.library.vis.util.vector.Vector2D

    }
    return (new Vector2D(0, 0));
  }
 
  public Vector2D repulsiveForceWall(Vector2D wallVector) {
    Vector2D thisVector = new Vector2D(getCenter());
    double distance2 = thisVector.distance2(wallVector);

    if (distance2 > 0) {
      return thisVector.sub(wallVector).mul(G.EDGE_LENGTH_2).div(distance2).mul(10 * G.REPEL);
    }
    return (new Vector2D(0, 0));
  }
View Full Code Here

Examples of org.rascalmpl.library.vis.util.vector.Vector2D

   * sum(n in adjacent, attract(n)) Returns norm(F)
   */
  public Vector2D computeNodeImpulse() {

    // Add a random force and the gravitational force
    Vector2D resultForce = gravitionalForce().add(randomForce());

    // Repulsive forces
    for (SpringGraphNode otherNode : G.nodes) {
      if (otherNode != this) {
        resultForce = resultForce.add(repulsiveForce(otherNode));
      }
    }

    // Attractive forces
    for (SpringGraphNode otherNode : in) {
      resultForce = resultForce.sub(this.attractiveForce(otherNode));
    }

    for (SpringGraphNode otherNode : out) {
      resultForce = resultForce.sub(attractiveForce(otherNode));
    }
   
    // Repulsion of left and right wall
   
    resultForce = resultForce.add(repulsiveForceWall(new Vector2D(0, y)));
    resultForce = resultForce.add(repulsiveForceWall(new Vector2D(G.minSize.getX(), y)));
   
    // Repulsion of top and bottom wall
   
    resultForce = resultForce.add(repulsiveForceWall(new Vector2D(x, 0)));
    resultForce = resultForce.add(repulsiveForceWall(new Vector2D(x, G.minSize.getY())));

    // we only need the impulse
    return resultForce.normalize();
  }
View Full Code Here

Examples of org.rascalmpl.library.vis.util.vector.Vector2D

   * Compute the random force.
   * We need a random impulse [-RAND_CONSTANT, ..., +RAND_CONSTANT]
   * Range should be approx. [-1/4 ... +1/4] of desired edge length.
   */
  public Vector2D randomForce() {
    return new Vector2D(FigureMath.random(-G.RAND_DISTURB, G.RAND_DISTURB),
                      FigureMath.random(-G.RAND_DISTURB, G.RAND_DISTURB));
  }
View Full Code Here

Examples of org.rascalmpl.library.vis.util.vector.Vector2D

   * This method computes the gravitational force between a node and the
   * barycenter of the drawing.
   * G = (barycenter - thisVector) * Mass * Gravity
   */
  public Vector2D gravitionalForce() {
    Vector2D barycenter = new Vector2D(G.getBaryCenter());
    Vector2D thisVector = new Vector2D(getCenter());
    return barycenter.sub(thisVector).mul(getMass()).mul(G.GRAVITY);
  }
View Full Code Here

Examples of physics.Vector2D

 
 
  public MovableEntity(int ID,int OwnerID ,int type,double mass) {
    super(ID,OwnerID, type);
    this.mass=mass;
    v=new Vector2D();
    a=new Vector2D();
    // TODO Auto-generated constructor stub
  }
View Full Code Here

Examples of se.llbit.math.Vector2d

    // facing south
    uvtriangles[0] = new UVTriangle(
        new Vector3d(8/16., 3/16., 9/16.),
        new Vector3d(24/16., 3/16., 9/16.),
        new Vector3d((4-12/10.)/16., 1, 9/16.),
        new Vector2d(0, 0),
        new Vector2d(1, 0),
        new Vector2d(0., 13/16.));
    uvtriangles[1] = new UVTriangle(
        new Vector3d((20-12/10.)/16., 1, 9/16.),
        new Vector3d((4-12/10.)/16., 1, 9/16.),
        new Vector3d(24/16., 3/16., 9/16.),
        new Vector2d(1, 13/16.),
        new Vector2d(0, 13/16.),
        new Vector2d(1, 0));

    // facing north
    uvtriangles[2] = new UVTriangle(
        new Vector3d(24/16., 3/16., 7/16.),
        new Vector3d(8/16., 3/16., 7/16.),
        new Vector3d((4-12/10.)/16., 1, 7/16.),
        new Vector2d(1, 0),
        new Vector2d(0, 0),
        new Vector2d(0, 13/16.));
    uvtriangles[3] = new UVTriangle(
        new Vector3d((4-12/10.)/16., 1, 7/16.),
        new Vector3d((20-12/10.)/16., 1, 7/16.),
        new Vector3d(24/16., 3/16., 7/16.),
        new Vector2d(0, 13/16.),
        new Vector2d(1, 13/16.),
        new Vector2d(1, 0));

    light = new Vector3d(.1, 1, -.1);
    light.normalize();
  }
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.