www.pudn.com > CSharp_OpenGL_Material.rar > Vector.cs, change:2009-06-17,size:2346b


using System; 
 
namespace CSharp_OpenGL_Material 
{ 
	/// <summary> 
	/// Summary description for Vector. 
	/// </summary> 
	public class Vector 
	{ 
		private double x; 
		private double y; 
		private double z; 
 
		public Vector() 
		{ 
			// 
			// TODO: Add constructor logic here 
			// 
			this.x = 0.0;
			this.y = 0.0;
			this.z = 0.0; 
		} 
 
		public Vector(double _x,double _y, double _z) 
		{ 
			this.x = _x; 
			this.y = _y; 
			this.z = _z; 
		} 
 
		public double GetX() 
		{ 
			return x; 
		} 
 
		public void SetX(double _x) 
		{ 
			this.x = _x; 
		} 
 
		public double GetY() 
		{ 
			return y; 
		} 
 
		public void SetY(double _y) 
		{ 
			this.y = _y; 
		} 
 
		public double GetZ() 
		{ 
			return z; 
		} 
 
		public void SetZ(double _z) 
		{ 
			this.z = _z; 
		} 
 
		public void Normalize() 
		{ 
			double power = Math.Sqrt(x*x + y*y + z*z);
			x = x / power;
			y = y / power;
			z = z / power; 
		} 
 
		public Vector Kali(Vector Rhs) 
		{ 
			Vector resultVector = new Vector();

			resultVector.x = y*Rhs.z - z*Rhs.y;
			resultVector.y = -1.0*(x*Rhs.z - z*Rhs.x);
			resultVector.z = x*Rhs.y - y*Rhs.x;

			return resultVector; 
		} 
 
		public double Persen(Vector Rhs) 
		{ 
			double tempAnswer = 0.0;

			tempAnswer = (x * Rhs.x) + (y * Rhs.y) + (z * Rhs.z);

			return tempAnswer; 
		} 
 
		public Vector KaliNilai(double Rhs) 
		{ 
			Vector resultVector = new Vector();

			resultVector.x = x * Rhs;
			resultVector.y = y * Rhs;
			resultVector.z = z * Rhs;

			return resultVector; 
		} 
 
		public Vector Minus(Vector Rhs) 
		{ 
			Vector resultVector = new Vector();

			resultVector.x = x - Rhs.x;
			resultVector.y = y - Rhs.y;
			resultVector.z = z - Rhs.z;

			return resultVector; 
		} 
 
		public Vector Plus(Vector Rhs) 
		{ 
			Vector resultVector = new Vector();

			resultVector.x = x + Rhs.x;
			resultVector.y = y + Rhs.y;
			resultVector.z = z + Rhs.z;

			return resultVector; 
		} 
 
		public Vector PlusNilai(double Rhs) 
		{ 
			Vector resultVector = new Vector();

			resultVector.x = x + Rhs;
			resultVector.y = y + Rhs;
			resultVector.z = z + Rhs;

			return resultVector; 
		} 
 
		public Vector Sama(Vector Rhs) 
		{ 
			Vector resultVector = new Vector();

			resultVector.x = Rhs.x;
			resultVector.y = Rhs.y;
			resultVector.z = Rhs.z;

			return resultVector; 
		} 
	} 
}