Как сделать сдвиг вправо на координатной плоскости - C#
Формулировка задачи:
Здравствуйте еще раз, дней 5 назад вы помогли описать класс треугольник (программа работает) пасибо большое, но мне она не очень понравилось преподу так вообще. Я попытался сделать сам посмотрите что получилось (вы ток продумайте что совсем нечего незнаю на Дальней Востоке с программирование сложновато, да ещенам ввели его 2 месяца назад этот язык шарм, учимся на ваших примеров) ну так вот собственно перед к тому что я сделал с учебником геометрии за 10 класс:
вот собственно и оно мое детище за 2 дня)
а теперь как сделать сдвиг вправо на координатной плоскости? есть некоторые задумки, черновик вот собственно и он:
берем треугольник который был и смещаем его вправо на координантной плоскости то есть был треугольник Ax, Bx, Cx а нужно получить Ax1, Ax2, Ax3 игрики остаются теже(у1, у2, у3)
я шас попробую наглядно изобразить(попытаюсь):
У(ось У)
1
1 в в1
1
1
1 а с а1 с1
1
1111111111111111111111111--Х(ось Х) (тут немного все съехала когда отправляешь)((((
то есть что я тут хотел сказать координаты "х" смещают, а координаты "у" остаются так как мы двигаем вправо...
тут небольшой набросочек:
или еще один
Ах+(дельта)Х=Ах1
Вх+(дельта)Х=Вх1
Сх+(дельта)Х=Сх1
подскажите как его сделать(С# Sharp).....
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(); } } }
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(); }
Решение задачи: «Как сделать сдвиг вправо на координатной плоскости»
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...."); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д