List of usage examples for org.apache.commons.math3.geometry.euclidean.twod Vector2D Vector2D
public Vector2D(double a, Vector2D u)
From source file:org.evors.rs.sim.core.worldio.JSONWorld.java
public Collection<Shape2D> getWorldObjects() { ArrayList<Shape2D> worldobjects = new ArrayList<>(); for (JSONWorldObject obj : objects) { worldobjects/* www. j a va 2s. co m*/ .add(Polygon.createRectangleFromCenter(new Vector2D(obj.getPosition()[0], obj.getPosition()[1]), new Vector2D(obj.getSize()[0], obj.getSize()[1]), 0)); } return worldobjects; }
From source file:org.evors.rs.sim.robot.SimulatedRobotBody.java
@Override public void step(double velocity, double angularVelocity) { if (!live) {//from www. j a v a2s .c o m return; } //Calculate movement vector double dist = velocity * timeStepLength; Vector2D changeV = new Vector2D(dist * LookupFunctions.cos(heading), dist * LookupFunctions.sin(heading)); shape.translate(changeV); position = position.add(changeV); //Calculate actual rotation double changeA = (angularVelocity * timeStepLength) % (2 * Math.PI); shape.rotate(changeA); heading += changeA; world.checkCollisions(this); }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
public SandPitCamera(Vector2D windowSize, Vector2D initCenterPos, double initScale) { scale = initScale;//from w ww .j a v a 2 s . c om currentPosWorldCoord = new Vector2D(1, initCenterPos); setWindowSize(windowSize); }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
/** * Get the value of transform/*from w w w .j a v a 2 s .c o m*/ * * @return the value of transform */ public AffineTransform getTransform() { AffineTransform returnTransform = new AffineTransform(); Vector2D currentPosScreenCoord = new Vector2D(getScale(), getCurrentPosWorldCoord()); Vector2D halfWindow = getHalfWindowSize(); returnTransform.translate(currentPosScreenCoord.getX() + halfWindow.getX(), currentPosScreenCoord.getY() + halfWindow.getY()); returnTransform.scale(getScale(), -getScale()); return returnTransform; }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
public final void setWindowSize(Vector2D windowSize) { this.windowSize = new Vector2D(1, windowSize); }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
public Vector2D convertWorldToScreenCoords(Vector2D worldCoords) { Vector2D halfWindow = getHalfWindowSize(); return (new Vector2D(getScale(), worldCoords)).add(halfWindow); }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
public Vector2D convertScreenToWorldCoords(Vector2D screen) { Vector2D halfWindow = getHalfWindowSize(); return new Vector2D(1 / getScale(), screen.subtract(halfWindow)).subtract(currentPosWorldCoord); }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
public Vector2D getHalfWindowSize() { return new Vector2D(0.5, getWindowSize()); }
From source file:org.evors.rs.ui.sandpit.SandPitCamera.java
public Rectangle2D getViewPortInWorldCoords() { Vector2D screenZeroZeroInWorldCoords = convertScreenToWorldCoords(Vector2D.ZERO); Vector2D screenWidthHeightInWorldCoords = convertScreenToWorldCoords(new Vector2D(2, getWindowSize())); Rectangle2D rect = new Rectangle2D.Double(); rect.setFrame(screenZeroZeroInWorldCoords.getX(), screenZeroZeroInWorldCoords.getY(), screenWidthHeightInWorldCoords.getX(), screenWidthHeightInWorldCoords.getY()); return rect;// w w w. j a va2s .co m }
From source file:org.evors.rs.ui.sandpit.SandPitCanvas.java
public SandPitCanvas() { camera = new SandPitCamera(Vector2D.ZERO, Vector2D.ZERO, 50); grid = new Grid(camera); MouseAdapter mouseAdapter = new MouseAdapter() { private Vector2D prevCoord = Vector2D.NaN; @Override/*from w ww . j av a 2 s.c om*/ public void mouseDragged(MouseEvent me) { Vector2D newCoord = getCamera().convertScreenToWorldCoords(new Vector2D(me.getX(), me.getY())); if (prevCoord == Vector2D.NaN) { prevCoord = newCoord; } else { Vector2D sub = newCoord.subtract(prevCoord); getCamera().move(sub); draw(); } } @Override public void mouseReleased(MouseEvent me) { prevCoord = Vector2D.NaN; } @Override public void mouseWheelMoved(MouseWheelEvent mwe) { getCamera().changeScale(-0.5 * mwe.getUnitsToScroll()); draw(); } }; addMouseListener(mouseAdapter); addMouseMotionListener(mouseAdapter); addMouseWheelListener(mouseAdapter); }