Описать процедуру, преобразующую координаты точки на плоскости из декартовых в полярные - C#
Формулировка задачи:
Помогите с кодом.
Описать процедуру ДП(d, p), преобразующую координаты точки на плоскости из декартовых d в полярные p, и ПД(p,d), выполняющую обратное преобразование.
Заранее спасибо
type
декарт = record
x, y : real
end;
поляр = record
r, fi : real { r п‚і 0, -пЃ° < fi п‚Ј пЃ° }
end;Решение задачи: «Описать процедуру, преобразующую координаты точки на плоскости из декартовых в полярные»
textual
Листинг программы
public class Program
{
public static void Main(string[] args)
{
Decart d = new Decart(10,6);
Polar p = d;
Decart dd = p;
Console.WriteLine(p);
Console.WriteLine(dd);
}
}
public class Decart
{
public double X { get; set; }
public double Y { get; set; }
public Decart(double x, double y)
{
X = x;
Y = y;
}
public static implicit operator Polar(Decart decart)
{
double r = Math.Sqrt(decart.X * decart.X + decart.Y * decart.Y);
double phi = Math.Acos(decart.X / r);
return new Polar(r, phi);
}
public override string ToString()
{
return string.Format("X: {0}, Y: {1}", X, Y);
}
}
public class Polar
{
public double R { get; set; }
public double Phi { get; set; }
public Polar(double r, double phi)
{
R = r;
Phi = phi;
}
public static implicit operator Decart(Polar polar)
{
double x = polar.R * Math.Cos(polar.Phi);
double y = polar.R * Math.Sin(polar.Phi);
return new Decart(x, y);
}
public override string ToString()
{
return string.Format("R: {0}, Phi: {1}", R, Phi);
}
}