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;
}
}
}