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

📄 vector.java

📁 无限传感器网络的模拟结果的图形查看环境
💻 JAVA
字号:
package math;import math.Matrix;/**Vector implements a mathematical vector and functions to manipulate it. Forspeed reasons, the coordinates are made public.@author Christian Nentwich@author Steven Vischer@version 0.1 2/12/1998*/public class Vector {    /**       The array of 3 doubles that holds the coordinates    */    public double m_value[];    /**       Default constructor, initialise vector to (0,0), using clear()       @see #clear    */    public Vector() {        m_value=new double[3];        this.clear();    }    public Vector(Vector other) {	m_value=new double[3];	for (int i=0;i<3;i++)	m_value[i]=other.m_value[i];    }    /**       Constructor to directly initialise the vector with two coordinates.       @param x The x coordinate to be assigned to the vector       @param y The y coordinate to be assigned to the vector    */    public Vector(double x,double y) {        m_value[0] = x;        m_value[1] = y;        m_value[2] = 1;    }    /**       Calculate the lenght of the vector.       @return length of the vector    */    public double getLength() {        return (Math.sqrt(m_value[0]*m_value[0] + m_value[1]*m_value[1]));    }    /**       Normalise the vectors length to one.    */    public void normalise() {        double size;        size = this.getLength();        if(size!=0) {            m_value[0]=(m_value[0])/size;            m_value[1]=(m_value[1])/size;        }        else m_value[0]=m_value[1]=0;     }    /**       Add another vector to this one.       @param other The vector to be added    */    public void add(Vector other) {        m_value[0]=m_value[0]+(other.m_value[0]);        m_value[1]=m_value[1]+(other.m_value[1]);    }    /**       Set the vector to (0,0)    */    public void clear() {        for(int i=0; i<3; i++) {            m_value[i] = 0;        }    }    /**	Translate thte vector by a given amount.        @param dx amount to move in x direction	@param dy amount to move in y direction    */    public void translate(double dx,double dy) {	m_value[0]+=dx;	m_value[1]+=dy;    }    /**       Multiply by a matrix and store the result in here.       @param m the matrix to multiply by    */    public void mulMatrix(Matrix m) {      // TODO: Check for correctness, this is from the top of my mind (chris)       double newvalues[]=new double[3];      for (int i=0;i<3;i++) {	newvalues[i]=0;	for (int j=0;j<3;j++) 	newvalues[i]+=m.m_values[i][j]*m_value[j];      }	      // Assign new values      m_value=newvalues;    }    public Vector copy() {      Vector n=new Vector();      for (int i=0;i<3;i++) n.m_value[i]=m_value[i];      return n;    }    /**       For debugging, support conversion to a string    */    public String toString() {              return "("+m_value[0]+" "+m_value[1]+" "+m_value[2]+")";    }}

⌨️ 快捷键说明

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