32 using System.Globalization;
63 private double radian;
87 get {
return radian; }
90 radian =
AdvanceMath.MathHelper.ClampAngle( (
float)value );
101 if ( radian >= -Math.PI / 4 && radian <= Math.PI / 4 )
return Direction.
Right;
102 if ( radian > Math.PI / 4 && radian < 3 * Math.PI / 4 )
return Direction.
Up;
103 if ( radian < -Math.PI / 4 && radian > -3 * Math.PI / 4 )
return Direction.
Down;
113 get {
return Math.Sin( this.
Radians ); }
121 get {
return Math.Cos( this.
Radians ); }
129 get {
return Math.Tan( this.
Radians ); }
133 private Angle(
double radians )
135 this.radian =
AdvanceMath.MathHelper.ClampAngle( (
float)radians );
318 return new Angle( radian );
337 return AdvanceMath.MathHelper.ClampAngle( (
float)(degree * (
System.Math.PI / 180 )) );
347 double a =
AdvanceMath.MathHelper.ClampAngle( (
float)radian );
348 return a * ( 180 /
System.Math.PI );
389 return Convert.ToInt32(
Degrees );
397 public override bool Equals(
object obj )
409 return radian.ToString(
System.Globalization.NumberFormatInfo.InvariantInfo );
412 public string ToString( IFormatProvider formatProvider )
414 return radian.ToString( formatProvider );
417 public static Angle Parse(
string angleStr, IFormatProvider formatProvider )
419 return new Angle(
double.
Parse( angleStr, formatProvider ) );
424 return new Angle(
double.
Parse( angleStr, NumberFormatInfo.InvariantInfo ) );
452 #region Arcusfunktiot 461 return new Angle( Math.Asin( d ) );
471 return new Angle( Math.Acos( d ) );
481 return new Angle( Math.Atan( d ) );
static Angle operator+(Angle a, Angle b)
Laskee kaksi kulmaa yhteen.
static Direction Down
Suunta alas.
override int GetHashCode()
Palauttaa kulmaa yksilöivän luvun, tässä tapauksessa kulman asteluvun.
static Angle operator/(Angle a, double b)
Jakaa kulman reaaliluvulla.
static Vector FromAngle(Angle angle)
Luo vektorin kulman perusteella yksikköpituudella.
override string ToString()
static Angle Sum(UnlimitedAngle a, Angle b)
Laskee yhteen rajoittamattoman ja rajoitetun kulman, palauttaen rajoitetun kulman.
static bool operator==(Angle a, Angle b)
Vertaa kahden kulman yhtäsuuruutta.
static double DegreeToRadian(double degree)
Muuttaa asteet radiaaneiksi.
static Angle ArcCos(double d)
Palauttaa kulman joka vastaa d:n arcuskosini.
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
double GetPositiveRadians()
Palauttaa kulman radiaaneina siten, että se on aina positiivinen. Hyödyllinen esimerkiksi ympyrän kaa...
static Direction Left
Suunta vasemmalle.
static Angle Parse(string angleStr)
static Angle Sum(Angle a, UnlimitedAngle b)
Laskee yhteen rajoitetun ja rajoittamattoman kulman, palauttaen rajoitetun kulman.
static Angle operator*(double a, Angle b)
Kertoo kulman reaaliluvulla.
override bool Equals(object obj)
Tarkistaa kahden kulman yhtäsuuruuden. Jos parametrinä annetaan jotain muuta kuin kulma...
static bool operator<(Angle a, Angle b)
Vertaa ensimmäisen kulman suuremmuutta toiseen.
static readonly Angle RightAngle
Suora kulma (90 astetta).
static bool operator>=(Angle a, Angle b)
Vertaa ensimmäisen kulman pienemmyyttä/yhtäsuuruutta toiseen.
static readonly Angle StraightAngle
Oikokulma (180 astetta).
static Angle Parse(string angleStr, IFormatProvider formatProvider)
static Angle ArcSin(double d)
Palauttaa kulman joka vastaa d:n arcus-sini.
static Angle FromRadians(double radian)
Luo kulman annettujen radiaanien mukaan.
double Degrees
Palauttaa tai asettaa kulman asteina.
static Angle operator-(Angle a, Angle b)
Vähentää jälkimmäisen kulman ensimmäisestä.
static readonly Angle Zero
Nollakulma.
static Angle Explement(Angle a)
Laskee eksplementtikulman (360 asteen kulman toinen puoli)
static Angle Complement(Angle a)
Laskee komplementtikulman (90 asteen kulman toinen puoli)
double GetPositiveDegrees()
Palauttaa kulman asteina siten, että se on aina positiivinen. Hyödyllinen esimerkiksi ympyrän kaarien...
double Radians
Palauttaa tai asettaa kulman radiaaneina.
Direction MainDirection
Kulmaa vastaava pääilmansuunta.
static bool operator>(Angle a, Angle b)
Vertaa ensimmäisen kulman pienemmyyttä toiseen.
static readonly Angle FullAngle
Täysikulma (360 astetta).
string ToString(IFormatProvider formatProvider)
static Angle Supplement(Angle a)
Laskee suplementtikulman (180 asteen kulman toinen puoli)
static Angle ArcTan(double d)
Palauttaa kulman joka vastaa d:n arcus-tangentti.
static Direction Right
Suunta oikealle.
static bool operator!=(Angle a, Angle b)
Vertaa kahden kulman erisuuruutta.
static bool operator<=(Angle a, Angle b)
Vertaa ensimmäisen kulman suuremmuutta/yhtäsuuruutta toiseen.
static double RadianToDegree(double radian)
Muuttaa radiaanit asteiksi.
Rajoittamaton kulma (asteina ja radiaaneina). Tietoja kulmasta: http://en.wikipedia.org/wiki/File:Degree-Radian_Conversion.svg
static Direction Up
Suunta ylös.
double Tan
Kulman tangentti.
static UnlimitedAngle FromRadians(double radian)
Luo kulman annettujen radiaanien mukaan.
UnlimitedAngle Unlimit()
Palauttaa vastaavan rajoittamattoman kulman.
double Radians
Palauttaa tai asettaa kulman radiaaneina.
static Angle FromDegrees(double degree)
Luo kulman annettujen asteiden mukaan.