Смотрите, где парабола и гипербола пересекаются в C#

В этом примере показано, как пересекаться парабола и гипербола. Предыдущий пример из четырех частей
здесь , здесь < / a>, здесь , и здесь объясняет, как найти точки пересечений между двумя коническими сечениями. Хотя должности сосредоточены на поиске точек пересечений между двумя эллипсами, их уравнения и методы, которые они обсуждают, работают для любого конического сечения.

В этом примере используются методы, продемонстрированные в предыдущем примере, чтобы найти точки пересечений между параболой и гиперболой. Этот пример похож на предыдущий, поэтому см. Их для получения дополнительной информации. Большая разница в этом примере заключается в том, что вы не можете щелкнуть и перетащить, чтобы выбрать эллипсы. Вместо этого обработчик события Load программы использует следующий код для инициализации переменных A1, B1, C1, D1, E1 и F1 для определения параболы и A2, B2, C2, D2, E2 и F2 для определения гиперболы.

private void Form1_Load(object sender, EventArgs e)
{
    this.DoubleBuffered = true;
    TangentX = 88;

    // Парабола.
    float dx = 50;
    float dy = 100;
    float sx = 10;
    float sy = 1;

    A1 = 0;
    B1 = 0;
    C1 = -sy * sy;
    D1 = sx;
    E1 = 2 * sy * dy;
    F1 = -sx * dx - dy * dy;

    // Гипербола.
    dx = HyperbolaXmid;
    dy = 70;
    float a2 = 50;
    float b2 = 150;
    A2 = 1 / a2;
    B2 = 0;
    C2 = -1 / b2;
    D2 = -2 * dx / a2;
    E2 = 2 * dy / b2;
    F2 = (dx * dx / a2) - (dy * dy / b2) - 1;

    // Выполните вычисления.
    PerformCalculations();
}

Источник: http://csharphelper.com/blog/2014/11/see-where-a-parabola-and-hyperbola-intersect-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector