Как сделать сдвиг вправо на координатной плоскости - C#

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

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

Здравствуйте еще раз, дней 5 назад вы помогли описать класс треугольник (программа работает) пасибо большое, но мне она не очень понравилось преподу так вообще. Я попытался сделать сам посмотрите что получилось (вы ток продумайте что совсем нечего незнаю на Дальней Востоке с программирование сложновато, да ещенам ввели его 2 месяца назад этот язык шарм, учимся на ваших примеров) ну так вот собственно перед к тому что я сделал с учебником геометрии за 10 класс:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("_-==//************************************\\==-_");
            Console.WriteLine("-------------Нахождение треугольника------------");
            Console.WriteLine("_-==//************************************\\==-_");
            Console.WriteLine(" ");
            Console.WriteLine("Введи координаты точки A");
            Console.Write("Ax = ");
            double Ax = Double.Parse(Console.ReadLine());
            Console.Write("Ay = ");
            double Ay = Double.Parse(Console.ReadLine());
            Console.WriteLine("Введи координаты точки B");
            Console.Write("Bx = ");
            double Bx = Double.Parse(Console.ReadLine());
            Console.Write("By = ");
            double By = Double.Parse(Console.ReadLine());
            Console.WriteLine("Введи координаты точки С");
            Console.Write("Сx = ");
            double Cx = Double.Parse(Console.ReadLine());
            Console.Write("Сy = ");
            double Cy = Double.Parse(Console.ReadLine());
            double ABx = Ax - Bx;
            double ABy = Ay - By;
            double BCx = Cx - Bx;
            double BCy = Cy - By;
            double ACx = Ax - Cx;
            double ACy = Ay - Cy;
            double dlinAB = Math.Sqrt(ABx * ABx + ABy * ABy);
            double dlinBC = Math.Sqrt(BCx * BCx + BCy * BCy);
            double dlinAC = Math.Sqrt(ACx * ACx + ACy * ACy);
            Console.WriteLine("Cтороны треугольника равны: AB = " + dlinAB + ", BC = " + dlinBC + ", AC = " + dlinAC);
            double P = dlinAB + dlinAC + dlinBC;
            double kBC = (Cy - By) / (Cx - Bx);
            double bBC = Cy - kBC * Cx;
            double kCR = (Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAC) * (P / 2 - dlinBC)) / (dlinAC * dlinBC)))) + kBC) / (1 - Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAC) * (P / 2 - dlinBC)) / (dlinAC * dlinBC)))) * kBC);
            double bCR = Cy - kCR * Cx;
            double kAC = (Cy - Ay) / (Cx - Ax);
            double kAD = (Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAB) * (P / 2 - dlinAC)) / (dlinAB * dlinAC)))) + kAC) / (1 - Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAB) * (P / 2 - dlinAC)) / (dlinAB * dlinAC)))) * kAC);
            double bAD = Ay - kAD * Ax;
            double x1 = (bAD - bCR) / (kCR - kAD);
            double y1 = kAD * x1 + bAD;
            Console.WriteLine(" Треугольник постороен по трем точкам!");
            Console.WriteLine("Press any key....");
            Console.ReadKey();
        }
    }
}
вот собственно и оно мое детище за 2 дня) а теперь как сделать сдвиг вправо на координатной плоскости? есть некоторые задумки, черновик вот собственно и он: берем треугольник который был и смещаем его вправо на координантной плоскости то есть был треугольник Ax, Bx, Cx а нужно получить Ax1, Ax2, Ax3 игрики остаются теже(у1, у2, у3) я шас попробую наглядно изобразить(попытаюсь): У(ось У) 1 1 в в1 1 1 1 а с а1 с1 1 1111111111111111111111111--Х(ось Х) (тут немного все съехала когда отправляешь)(((( то есть что я тут хотел сказать координаты "х" смещают, а координаты "у" остаются так как мы двигаем вправо... тут небольшой набросочек:
public void sdvigThreengle (double Ax, double Bx, double Cx, double Ax1, double Bx1, double Cx1, double Ay, double By, double Cy)
            {
                Ax+ =Ax1. y1
                Bx+ =Bx1.  y2 
                Cx+ =Cx1. y3
                Console.Write("смешенный треугольник");
                GetLength();
              }
или еще один Ах+(дельта)Х=Ах1 Вх+(дельта)Х=Вх1 Сх+(дельта)Х=Сх1 подскажите как его сделать(С# Sharp).....

Решение задачи: «Как сделать сдвиг вправо на координатной плоскости»

textual
Листинг программы
class Program
    {
        static double Ax, Bx, Cx;
        static double Ay, By, Cy;
        // double Ax1, Bx1, Cx1;
        static void Main(string[] args)
        {
            Console.WriteLine("_-==//************************************\\==-_");
            Console.WriteLine("-------------Нахождение треугольника------------");
            Console.WriteLine("_-==//************************************\\==-_");
            Console.WriteLine(" ");
            Console.WriteLine("Введи координаты точки A");
            Console.Write("Ax = ");
            Ax = Double.Parse(Console.ReadLine());
            Console.Write("Ay = ");
            Ay = Double.Parse(Console.ReadLine());
            Console.WriteLine("Введи координаты точки B");
            Console.Write("Bx = ");
            Bx = Double.Parse(Console.ReadLine());
            Console.Write("By = ");
            By = Double.Parse(Console.ReadLine());
            Console.WriteLine("Введи координаты точки С");
            Console.Write("Сx = ");
            Cx = Double.Parse(Console.ReadLine());
            Console.Write("Сy = ");
            Cy = Double.Parse(Console.ReadLine());
            GetThreeAngle();// расчет показателей
            sdvigThreeAngle(5.0);// сдвиг
            Console.ReadKey();
        }
 
        public static void sdvigThreeAngle(double delta_x)
        {
            Ax += delta_x;
            Bx += delta_x;
            Cx += delta_x;
            GetThreeAngle();
        }
 
        private static void GetThreeAngle() 
        {
            double ABx = Ax - Bx;
            double ABy = Ay - By;
            double BCx = Cx - Bx;
            double BCy = Cy - By;
            double ACx = Ax - Cx;
            double ACy = Ay - Cy;
            double dlinAB = Math.Sqrt(ABx * ABx + ABy * ABy);
            double dlinBC = Math.Sqrt(BCx * BCx + BCy * BCy);
            double dlinAC = Math.Sqrt(ACx * ACx + ACy * ACy);
            Console.WriteLine("Cтороны треугольника равны: AB = " + dlinAB + ", BC = " + dlinBC + ", AC = " + dlinAC);
            double P = dlinAB + dlinAC + dlinBC;
            double kBC = (Cy - By) / (Cx - Bx);
            double bBC = Cy - kBC * Cx;
            double kCR = (Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAC) * (P / 2 - dlinBC)) / (dlinAC * dlinBC)))) + kBC) / (1 - Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAC) * (P / 2 - dlinBC)) / (dlinAC * dlinBC)))) * kBC);
            double bCR = Cy - kCR * Cx;
            double kAC = (Cy - Ay) / (Cx - Ax);
            double kAD = (Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAB) * (P / 2 - dlinAC)) / (dlinAB * dlinAC)))) + kAC) / (1 - Math.Tan(Math.Asin(Math.Sqrt(((P / 2 - dlinAB) * (P / 2 - dlinAC)) / (dlinAB * dlinAC)))) * kAC);
            double bAD = Ay - kAD * Ax;
            double x1 = (bAD - bCR) / (kCR - kAD);
            double y1 = kAD * x1 + bAD;
            Console.WriteLine(" Треугольник постороен по трем точкам!");
            Console.WriteLine("Press any key....");
        }
    }

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


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

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

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