public static PointPolar Div(PointPolar pt, double d) { if (d == 0.0d) { return(pt); } return(new PointPolar(pt.R / d, pt.Phi / d)); }
public static double Distance(PointPolar p1, PointPolar p2) { PointD decartPointD1 = new PointD(); decartPointD1.X = p1.R * Math.Cos(p1.Phi); decartPointD1.Y = p1.R * Math.Sin(p1.Phi); PointD decartPointD2 = new PointD(); decartPointD2.X = p2.R * Math.Cos(p2.Phi); decartPointD2.Y = p2.R * Math.Sin(p2.Phi); double dx = decartPointD2.X - decartPointD1.X; double dy = decartPointD2.Y - decartPointD1.Y; return(Math.Sqrt(dx * dx + dy * dy)); }
public static PointPolar Sum(IEnumerable <PointPolar> source) { PointPolar sum = new PointPolar(0.0d, 0.0d); if (source == null) { return(sum); } checked { foreach (PointPolar v in source) { sum += new SizeD(v.R, v.Phi); } } return(sum); }
/// <summary> /// Определяет, содержит или нет объект <see cref="T:System.Drawing.PointPolar"/> те же координаты, что и указанный объект <see cref="T:System.Object"/>. /// </summary> /// /// <returns> /// Метод возвращает значение true, если <paramref name="obj"/> является <see cref="T:System.Drawing.PointPolar"/> и имеет такие же координаты, как и <see cref="T:System.Drawing.Point"/>. /// </returns> /// <param name="obj">Политика <see cref="T:System.Object"/> для проверки.</param><filterpriority>1</filterpriority> public override bool Equals(object obj) { if (!(obj is PointPolar)) { return(false); } PointPolar PointPolar = (PointPolar)obj; if (PointPolar.R == (double)this.R && PointPolar.Phi == (double)this.Phi) { return(PointPolar.GetType().Equals(this.GetType())); } else { return(false); } }
public static PointPolar operator *(PointPolar pt, double d) { return(PointPolar.Mult(pt, d)); }
public static PointPolar operator /(PointPolar pt, double d) { return(PointPolar.Div(pt, d)); }
public static PointPolar Mult(PointPolar pt, double d) { return(new PointPolar(pt.R * d, pt.Phi * d)); }
public double Distance(PointPolar p2) { return(Distance(this, p2)); }
/// <summary> /// Смещает <see cref="T:System.Drawing.PointPolar"/> на отрицательную величину заданного размера. /// </summary> /// /// <returns> /// Смещенная точка <see cref="T:System.Drawing.PointPolar"/>. /// </returns> /// <param name="pt">Класс <see cref="T:System.Drawing.PointPolar"/> для преобразования.</param><param name="sz">Размер <see cref="T:System.Drawing.SizeD"/>, указывающий числа для вычитания из координат <paramref name="pt"/>.</param> public static PointPolar Subtract(PointPolar pt, SizeD sz) { return(new PointPolar(pt.R - sz.Width, pt.Phi - sz.Height)); }
/// <summary> /// Смещает указанную точку <see cref="T:System.Drawing.PointPolar"/> на заданное значение <see cref="T:System.Drawing.SizeD"/>. /// </summary> /// /// <returns> /// Смещенная точка <see cref="T:System.Drawing.PointPolar"/>. /// </returns> /// <param name="pt">Класс <see cref="T:System.Drawing.PointPolar"/> для преобразования.</param><param name="sz">Объект <see cref="T:System.Drawing.SizeD"/>, определяющий числа, которые нужно добавить к значениям координат <paramref name="pt"/>.</param> public static PointPolar Add(PointPolar pt, SizeD sz) { return(new PointPolar(pt.R + sz.Width, pt.Phi + sz.Height)); }
public static PointPolar operator -(PointPolar pt, SizeD sz) { return(PointPolar.Subtract(pt, sz)); }
public static PointPolar operator +(PointPolar pt, SizeD sz) { return(PointPolar.Add(pt, sz)); }