Android Open Source - DiceInDark Vector2






From Project

Back to project page DiceInDark.

License

The source code is released under:

GNU General Public License

If you think the Android project DiceInDark listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*    Dice in the dark. D & D app for the blind and seeing impaired,
*    Copyright (C) <2013r>  <Lovisa Irpa Helgadottir>
*//  w  w w. ja  v a 2 s.c  o  m
*    This program is free software: you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation, either version 3 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package com.plovergames.framework.math;

import android.util.FloatMath;

public class Vector2 {
    public static float TO_RADIANS = (1 / 180.0f) * (float) Math.PI;
    public static float TO_DEGREES = (1 / (float) Math.PI) * 180;
    public float x, y;

    public Vector2() {
    }

    public Vector2(float x, float y) {
        this.x = x;
        this.y = y;
    }

    public Vector2(Vector2 other) {
        this.x = other.x;
        this.y = other.y;
    }

    public Vector2 cpy() {
        return new Vector2(x, y);
    }

    public Vector2 set(float x, float y) {
        this.x = x;
        this.y = y;
        return this;
    }

    public Vector2 set(Vector2 other) {
        this.x = other.x;
        this.y = other.y;
        return this;
    }

    public Vector2 add(float x, float y) {
        this.x += x;
        this.y += y;
        return this;
    }

    public Vector2 add(Vector2 other) {
        this.x += other.x;
        this.y += other.y;
        return this;
    }

    public Vector2 sub(float x, float y) {
        this.x -= x;
        this.y -= y;
        return this;
    }

    public Vector2 sub(Vector2 other) {
        this.x -= other.x;
        this.y -= other.y;
        return this;
    }

    public Vector2 mul(float scalar) {
        this.x *= scalar;
        this.y *= scalar;
        return this;
    }

    public float len() {
        return FloatMath.sqrt(x * x + y * y);
    }

    public Vector2 nor() {
        float len = len();
        if (len != 0) {
            this.x /= len;
            this.y /= len;
        }
        return this;
    }

    public float angle() {
        float angle = (float) Math.atan2(y, x) * TO_DEGREES;
        if (angle < 0)
            angle += 360;
        return angle;
    }

    public Vector2 rotate(float angle) {
        float rad = angle * TO_RADIANS;
        float cos = FloatMath.cos(rad);
        float sin = FloatMath.sin(rad);

        float newX = this.x * cos - this.y * sin;
        float newY = this.x * sin + this.y * cos;

        this.x = newX;
        this.y = newY;

        return this;
    }

    public float dist(Vector2 other) {
        float distX = this.x - other.x;
        float distY = this.y - other.y;
        return FloatMath.sqrt(distX * distX + distY * distY);
    }

    public float dist(float x, float y) {
        float distX = this.x - x;
        float distY = this.y - y;
        return FloatMath.sqrt(distX * distX + distY * distY);
    }
    
    public float distSquared(Vector2 other) {
        float distX = this.x - other.x;
        float distY = this.y - other.y;        
        return distX*distX + distY*distY;
    }   
    
    public float distSquared(float x, float y) {
        float distX = this.x - x;
        float distY = this.y - y;        
        return distX*distX + distY*distY;
    }   

}




Java Source Code List

com.example.diceindark.Assets.java
com.example.diceindark.DiceInDark.java
com.example.diceindark.DiceRender.java
com.example.diceindark.DiceScreen.java
com.example.diceindark.Die.java
com.example.diceindark.MainMenuScreen.java
com.example.framework.AndroidFileIO.java
com.example.framework.Audio.java
com.example.framework.FileIO.java
com.example.framework.GameObject.java
com.example.framework.Game.java
com.example.framework.Graphics.java
com.example.framework.Input.java
com.example.framework.Pixmap.java
com.example.framework.Pool.java
com.example.framework.Screen.java
com.example.framework.Sound.java
com.example.framework.gl.Animation.java
com.example.framework.gl.BindableVertices.java
com.example.framework.gl.Camera2D.java
com.example.framework.gl.Font.java
com.example.framework.gl.SpriteBatcher.java
com.example.framework.gl.TextureRegion.java
com.example.framework.gl.Texture.java
com.example.framework.gl.Vertices.java
com.example.framework.impl.AccelerometerHandler.java
com.example.framework.impl.AndroidAudio.java
com.example.framework.impl.AndroidGraphics.java
com.example.framework.impl.AndroidInput.java
com.example.framework.impl.AndroidPixmap.java
com.example.framework.impl.AndroidSound.java
com.example.framework.impl.GLGame.java
com.example.framework.impl.GLGraphics.java
com.example.framework.impl.GLScreen.java
com.example.framework.impl.GestureHandler.java
com.example.framework.impl.KeyboardHandler.java
com.example.framework.impl.TouchHandler.java
com.example.framework.math.Circle.java
com.example.framework.math.OverlapTester.java
com.example.framework.math.Rectangle.java
com.example.framework.math.Vector2.java
com.plovergames.diceindark.Assets.java
com.plovergames.diceindark.DiceInDark.java
com.plovergames.diceindark.DiceRender.java
com.plovergames.diceindark.DiceScreen.java
com.plovergames.diceindark.Die.java
com.plovergames.diceindark.MainMenuScreen.java
com.plovergames.framework.AndroidFileIO.java
com.plovergames.framework.Audio.java
com.plovergames.framework.FileIO.java
com.plovergames.framework.GameObject.java
com.plovergames.framework.Game.java
com.plovergames.framework.Graphics.java
com.plovergames.framework.Input.java
com.plovergames.framework.Pixmap.java
com.plovergames.framework.Pool.java
com.plovergames.framework.Screen.java
com.plovergames.framework.Sound.java
com.plovergames.framework.gl.Animation.java
com.plovergames.framework.gl.BindableVertices.java
com.plovergames.framework.gl.Camera2D.java
com.plovergames.framework.gl.Font.java
com.plovergames.framework.gl.SpriteBatcher.java
com.plovergames.framework.gl.TextureRegion.java
com.plovergames.framework.gl.Texture.java
com.plovergames.framework.gl.Vertices.java
com.plovergames.framework.impl.AccelerometerHandler.java
com.plovergames.framework.impl.AndroidAudio.java
com.plovergames.framework.impl.AndroidGraphics.java
com.plovergames.framework.impl.AndroidInput.java
com.plovergames.framework.impl.AndroidPixmap.java
com.plovergames.framework.impl.AndroidSound.java
com.plovergames.framework.impl.GLGame.java
com.plovergames.framework.impl.GLGraphics.java
com.plovergames.framework.impl.GLScreen.java
com.plovergames.framework.impl.GestureHandler.java
com.plovergames.framework.impl.TouchHandler.java
com.plovergames.framework.math.Rectangle.java
com.plovergames.framework.math.Vector2.java