| // A very simple class point with public data representation.
// An incomplete sketch.
// This version uses polar representation.
// NOT RECOMMENDED because of public data representation.
using System;
public class Point {
public double radius, angle;
public Point(double x, double y){
radius = ...
angle = ...
}
public void Move(double dx, double dy){
radius = ...
angle = ...
}
public void Rotate(double angle){
this.angle += angle;
}
public override string ToString(){
...
}
private static double RadiusGivenXy(double x, double y){
return Math.Sqrt(x * x + y * y);
}
private static double AngleGivenXy(double x, double y){
return Math.Atan2(y,x);
}
private static double XGivenRadiusAngle(double r, double a){
return r * Math.Cos(a);
}
private static double YGivenRadiusAngle(double r, double a){
return r * Math.Sin(a);
}
} |