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

📄 vector.java

📁 坦克大战游戏源代码
💻 JAVA
字号:
import java.awt.*;

public class vector{
	public double a, b , c; //3D components,	private Point P = new Point(0, 0);  //position on 2D screen;
	public vector(double i, double j, double k){
		this.a = i;
		this.b = j;
		this.c = k;

		P.x = 320 + (int)i + (int)(j/2);
		P.y = 240 - (int)k - (int)(j/2);
	}

	public vector(double i, double j){
		this.a = i;
		this.b = j;
	}

	public void draw(Graphics g){
		g.drawRect((int)P.x, (int)P.y, 1, 1);
	}

	public int getX(){
		return P.x;
	}

	public int getY(){
		return P.y;
	}

	public double get_x(){
		return a;
	}

	public double get_y(){
		return b;
	}

	public double get_z(){
		return c;
	}

	public double length(){
		return Math.sqrt(a*a + b*b + c*c);
	}

	public vector subtract(vector v){
		return new vector(a - v.a, b - v.b, c - v.c);
	}

	public vector add(vector v){
		return new vector(a + v.a, b + v.b, c + v.c);
	}

	public vector scale(double s){
		return new vector(a*s, b*s, c*s);
	}

	public vector unit(){
		return new vector(a/(Math.sqrt(a*a + b*b + c*c)), b/(Math.sqrt(a*a + b*b + c*c)), c/(Math.sqrt(a*a + b*b + c*c)));
	}

	public double dot(vector v){
		return a*v.get_x() + b*v.get_y() + c*v.get_z();
	}

	public vector cross(vector v){
		return new vector(b*v.c - c*v.b, c*v.a - a*v.c, a*v.b - b*v.a);
	}

	public vector rotate2D(double angle){
		return new vector(Math.cos(angle)*a - Math.sin(angle)*b, Math.sin(angle)*a + Math.cos(angle)*b);
	}

	public String toString(){
		return "(" + a + ", " + b + ", " + c + ")";
	}

}

⌨️ 快捷键说明

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