Создать Класс "прямая", Поля Класса - Координаты Двух Точек

Тема в разделе ".NET", создана пользователем patrol, 13 дек 2011.

  1. patrol

    patrol Гость

    Помогите, пожалуйста!Завтра экзамен, а эта задача допуск к нему!
    Создать класс "прямая", поля класса - координаты двух точек (x1,y1) и (x2,y2). Методы класса: вывод уравнения прямой вида y=ax+b. В классе предусмотреть методы перегрузки операций: проверка параллельности двух прямых, определение угла между двумя прямыми.

    Понял, что в самом начале нужно найти коэффициенты этих уравнений a1 и a2. Находятся они так: a=(y2-y1)/(x2-x1)
    Затем нужно проверить их на параллельность, т. е. если коэффициенты a1 и a2 равны, то прямые параллельны. Угол тоже находится через эти же коэф.
    Но как это все собрать я не знаю.....
    Вот все,что у меня есть, но "это" столько раз переделывалось, что вряд ли там есть что то стоящее:

    class pryamaya
    {
    int x;
    int y;
    int z;
    int p;
    double a1;
    double a2;
    double tga;


    public pryamaya (int x, int y)
    {
    this.x = x;
    this.y = y;
    }


    public int X
    {
    get { return x; }
    set { x = value; }
    }
    public int Y
    {
    get { return y; }
    set { y = value; }
    }
    public int Z
    {
    get { return z; }
    set { z = value; }
    }
    public int P
    {
    get { return p; }
    set { p = value; }
    }


    public double a1()
    {
    return ;
    }
    //Вывод уравнения 1й прямой
    public string output1()
    {
    return "y=" + a1 + "x" + "b";
    }
    //вывод уравнения 2й прямой
    public string output2()
    {
    return "y=" + a2 + "x" + "b";
    }
    //проверка на параллельность
    public static bool operator /()
    {
    if a1==a2
    return true;
    else
    return false;

    }
    //нахождение угла
    public double Tga()
    {
    return tga = (a2-a1)/(1+a2*a1);
    }

    }


    и...

    class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine("Введите x для 1й точки первой прямой:");
    int x1 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine("Введите y для 1й точки первой прямой:");
    int y1 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine("Введите x для 2й точки первой прямой:");
    int x2 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine("Введите y для 2й точки первой прямой:");
    int y2 = Convert.ToInt16(Console.ReadLine());


    Console.WriteLine("Введите x для 1й точки второй прямой:");
    int z1 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine("Введите y для 1й точки второй прямой:");
    int p1 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine("Введите x для 2й точки второй прямой:");
    int z2 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine("Введите y для 2й точки второй прямой:");
    int p2 = Convert.ToInt16(Console.ReadLine());
    Console.WriteLine();


    }

    }
    Помогите, пожалуйста!!!
     
Загрузка...

Поделиться этой страницей