Найти координаты точек - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Даны 3 точки(A B C) и 1 переменная(n)-отклонение. Найти координаты c1 c2(находятся на перпендикуляре и расстоянии n от С).

Решение задачи: «Найти координаты точек»

textual
Листинг программы
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication278
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
            var A = new PointF(1, 1);
            var B = new PointF(10, 10);
            var C = new PointF(5, 0);
            var n = 2f;
 
            //V = B - A
            var V = new PointF(B.X - A.X, B.Y - A.Y);
            //перпендикуляр к v
            var N = new PointF(V.Y, -V.X);
            //нормаль
            N = N.Mul(1f/N.Length());
            //умножаем на n
            N = N.Mul(n);
            //
            var C1 = new PointF(C.X + N.X, C.Y + N.Y);
            var C2 = new PointF(C.X - N.X, C.Y - N.Y);
            //
 
            Console.WriteLine(C1);
            Console.WriteLine(C2);
        }
    }
 
    static class PointExtensions
    {
        public static PointF Mul(this PointF p, float k)
        {
            return new PointF(p.X * k, p.Y * k);
        }
 
        public static float Length(this PointF p)
        {
            return (float)Math.Sqrt(p.X * p.X + p.Y * p.Y);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы