Пример #1
0
        //Проверяем на перпендикулярность. Возвращаем FALSE, если НЕ перпендикулярны, иначе вернём TRUE
        //Статический метод, для удобства использования.
        public static bool Perpendicularity(Straight L1, Straight L2)
        {
            if (L1.flag != true && L2.flag != true)//Проверим на вырожденность - сушествуют ли обе прямые?
            {
                //Для большего упрощения задачи проверим перпендикулярность относитель оси координат 0X.
                double uL1, uL2, u;//Углы для первой и второй прямой. И разница углов.
                //Найдём угол для L1
                uL1 = Math.Abs(Math.Atan((-1) * L1.a / L1.b) * 180 / Math.PI);
                //Найдём угол для L2
                uL2 = Math.Abs(Math.Atan((-1) * L2.a / L2.b) * 180 / Math.PI);
                //Вычтем углы и найдем общий угол

                if (Math.Abs(uL1 - uL2) == 90)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
        //Найдём угол между прямыми. Вернём его в градусах по тангенсу
        //Если прямые не перпендикулярны, то можно найти угол, иначе - в знаменателе формулы будет ноль. То есть угол = 90%
        //Статический метод, для удобства вызова и использования
        public static double AngleBetween(Straight L1, Straight L2)
        {
            if (L1.flag != true && L2.flag != true)
            {
                double uL1, uL2, u;//Углы для первой и второй прямой. И разница углов.
                uL1 = Math.Abs(Math.Atan((-1) * L1.a / L1.b) * 180 / Math.PI);
                uL2 = Math.Abs(Math.Atan((-1) * L2.a / L2.b) * 180 / Math.PI);

                return(u = Math.Abs(uL1 - uL2));
            }
            return(0);//Иначе угла нет - возвращаем ноль. Т.к. в этом случае прямые не существуют.
        }
Пример #3
0
        static void Main(string[] args)
        {
            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L1 = new Straight(-1, 2, -3);

            Console.WriteLine(L1);
            L1.IntersectionAxes();

            Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L2 = new Straight(5, -4, 6);

            Console.WriteLine(L2);
            L2.IntersectionAxes();

            Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L1, L2) == false)
            {
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            }
            else
            {
                Console.WriteLine("Прямые перпендикулярны. ");
            }

            Console.WriteLine();

            //Найдём угол между прямыми:
            double ugol;

            ugol = Straight.AngleBetween(L1, L2);
            Console.WriteLine("Угол между прямыми = " + ugol + " градусов");

            Console.WriteLine("_______________________");
            Console.WriteLine();
            Console.WriteLine();
            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L3 = new Straight(1, 2);

            Console.WriteLine(L3);
            L3.IntersectionAxes();

            Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L4 = new Straight(5, 0, 6);

            Console.WriteLine(L4);
            L4.IntersectionAxes();

            Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L3, L4) == false)
            {
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            }
            else
            {
                Console.WriteLine("Прямые перпендикулярны. ");
            }

            Console.WriteLine();

            //Найдём угол между прямыми:
            ugol = Straight.AngleBetween(L3, L4);
            Console.WriteLine("Угол между прямыми = " + ugol + " градусов");

            Console.WriteLine("_______________________");
            Console.WriteLine();
            Console.WriteLine();
            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L5 = new Straight(-1, -2);

            Console.WriteLine(L5);
            L5.IntersectionAxes();

            Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L6 = new Straight(0, 10, -6);

            Console.WriteLine(L6);
            L6.IntersectionAxes();

            Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L5, L6) == false)
            {
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            }
            else
            {
                Console.WriteLine("Прямые перпендикулярны. ");
            }

            Console.WriteLine();

            //Найдём угол между прямыми:
            ugol = Straight.AngleBetween(L5, L6);
            Console.WriteLine("Угол между прямыми = " + ugol + " градусов");


            Console.WriteLine("_______________________");
            Console.WriteLine();
            Console.WriteLine();

            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L7 = new Straight(-1, 0, 4);

            Console.WriteLine(L7);
            L7.IntersectionAxes();

            Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L8 = new Straight(0, 10, -6);

            Console.WriteLine(L8);
            L8.IntersectionAxes();

            Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L7, L8) == false)
            {
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            }
            else
            {
                Console.WriteLine("Прямые перпендикулярны. ");
            }

            Console.WriteLine();

            //Найдём угол между прямыми:
            ugol = Straight.AngleBetween(L7, L8);
            Console.WriteLine("Угол между прямыми = " + ugol + " градусов");



            Console.ReadKey();
        }
Пример #4
0
        static void Main(string[] args)
        {
            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L1 = new Straight(-1, 2, -3);
            Console.WriteLine(L1);
            L1.IntersectionAxes();

Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L2 = new Straight(5,-4,6);
            Console.WriteLine(L2);
            L2.IntersectionAxes();

Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L1, L2) == false)
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            else
                Console.WriteLine("Прямые перпендикулярны. ");

Console.WriteLine();

            //Найдём угол между прямыми:
            double ugol;
            ugol = Straight.AngleBetween(L1, L2);
            Console.WriteLine("Угол между прямыми = "+ugol+" градусов");

Console.WriteLine("_______________________");
Console.WriteLine();
Console.WriteLine();
            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L3 = new Straight(1, 2);
            Console.WriteLine(L3);
            L3.IntersectionAxes();

Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L4 = new Straight(5,0,6);
            Console.WriteLine(L4);
            L4.IntersectionAxes();

Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L3, L4) == false)
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            else
                Console.WriteLine("Прямые перпендикулярны. ");

Console.WriteLine();

            //Найдём угол между прямыми:
            ugol = Straight.AngleBetween(L3, L4);
            Console.WriteLine("Угол между прямыми = "+ugol+" градусов");

Console.WriteLine("_______________________");
Console.WriteLine();
Console.WriteLine();
            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L5 = new Straight(-1, -2);
            Console.WriteLine(L5);
            L5.IntersectionAxes();

Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L6 = new Straight(0, 10, -6);
            Console.WriteLine(L6);
            L6.IntersectionAxes();

Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L5, L6) == false)
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            else
                Console.WriteLine("Прямые перпендикулярны. ");

Console.WriteLine();

            //Найдём угол между прямыми:
            ugol = Straight.AngleBetween(L5, L6);
            Console.WriteLine("Угол между прямыми = " + ugol + " градусов");


Console.WriteLine("_______________________");
Console.WriteLine();
Console.WriteLine();

            //Создаём первую прямую и выводим её в консоль - проверяем правильность
            Straight L7 = new Straight(-1, 0, 4);
            Console.WriteLine(L7);
            L7.IntersectionAxes();

Console.WriteLine();

            //Создаём вторую прямую и выводим её в консоль - проверяем правильность
            Straight L8 = new Straight(0, 10, -6);
            Console.WriteLine(L8);
            L8.IntersectionAxes();

Console.WriteLine();

            //Проверим на перпендикулярность
            if (Straight.Perpendicularity(L7, L8) == false)
                Console.WriteLine("Прямые НЕ перпендикулярны. ");
            else
                Console.WriteLine("Прямые перпендикулярны. ");

Console.WriteLine();

            //Найдём угол между прямыми:
            ugol = Straight.AngleBetween(L7, L8);
            Console.WriteLine("Угол между прямыми = " + ugol + " градусов");






            Console.ReadKey();
        }
Пример #5
0
        //Найдём угол между прямыми. Вернём его в градусах по тангенсу
        //Если прямые не перпендикулярны, то можно найти угол, иначе - в знаменателе формулы будет ноль. То есть угол = 90%
        //Статический метод, для удобства вызова и использования
        public static double AngleBetween(Straight L1, Straight L2)
        {
           if (L1.flag != true && L2.flag != true)
            {
                double uL1, uL2, u;//Углы для первой и второй прямой. И разница углов.
                uL1 = Math.Abs(Math.Atan((-1) * L1.a / L1.b) * 180 / Math.PI);
                uL2 = Math.Abs(Math.Atan((-1) * L2.a / L2.b) * 180 / Math.PI);

                return u = Math.Abs(uL1 - uL2);
            }
           return 0;//Иначе угла нет - возвращаем ноль. Т.к. в этом случае прямые не существуют.
         }
Пример #6
0
        //Проверяем на перпендикулярность. Возвращаем FALSE, если НЕ перпендикулярны, иначе вернём TRUE
        //Статический метод, для удобства использования.
        public static bool Perpendicularity(Straight L1, Straight L2)
        {
            if (L1.flag != true && L2.flag != true)//Проверим на вырожденность - сушествуют ли обе прямые?
            {
                //Для большего упрощения задачи проверим перпендикулярность относитель оси координат 0X.
                double uL1, uL2, u;//Углы для первой и второй прямой. И разница углов.
                //Найдём угол для L1
                uL1 = Math.Abs(Math.Atan((-1) * L1.a / L1.b) * 180 / Math.PI);
                //Найдём угол для L2
                uL2 = Math.Abs(Math.Atan((-1) * L2.a / L2.b) * 180 / Math.PI);
                //Вычтем углы и найдем общий угол

                if (Math.Abs(uL1 - uL2) == 90)
                    return true;
                else
                    return false;
            }
            else
                return false;
        }