⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector2d.java

📁 MASON代表多主体邻里或网络仿真(Multi-Agent Simulator of Neighborhoods or Networks)。它是乔治梅森大学用Java开发的离散事件多主体仿真核心库
💻 JAVA
字号:
package sim.app.keepaway;import java.io.Serializable;import sim.util.Double2D;public /*strictfp*/ class Vector2D implements Serializable    {    public double x;    public double y;    public Vector2D( double x, double y )        {        this.x = x;        this.y = y;        }    public Vector2D( final Double2D d )        {        this.x = d.x;        this.y = d.y;        }    public final Vector2D add( final Vector2D b )        {        return new Vector2D( x + b.x, y + b.y );        }    public final Vector2D add( final Double2D b )        {        return new Vector2D( x + b.x, y + b.y );        }    public final Vector2D subtract( final Vector2D b )        {        return new Vector2D( x - b.x, y - b.y );        }    public final Vector2D subtract( final Double2D b )        {        return new Vector2D( x - b.x, y - b.y );        }    public final Vector2D amplify( double alpha )        {        return new Vector2D( x * alpha, y * alpha );        }    public final Vector2D normalize()        {        if( x != 0 || y != 0 )            {            double temp = /*Strict*/Math.sqrt( x*x+y*y );            return new Vector2D( x/temp, y/temp );            }        else            return new Vector2D( 0, 0 );        }    public final double length()        {        return /*Strict*/Math.sqrt( x*x+y*y );        }        public final double angle()        {        double a = /*Strict*/Math.atan(y/x);        if(x < 0)            a += /*Strict*/Math.PI;        return a;        }    public final Vector2D setLength( double dist )        {        if( dist == 0 )            return new Vector2D( 0, 0 );        if( x == 0 && y == 0 )            return new Vector2D( 0, 0 );        double temp = /*Strict*/Math.sqrt( x*x+y*y );        return new Vector2D( x * dist / temp, y * dist / temp );        }        public final double getDistTo( Vector2D a )        {        double dx = x-a.x;        double dy = y-a.y;        return /*Strict*/Math.sqrt( dx*dx + dy*dy );        }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -