Как узнать, что две линии на графике пересекаются или нет в C# [дублировать]

На этот вопрос уже есть ответ здесь:

Я хочу знать пересечение буксирных линий на одном графике в C#.
код приведен ниже.
Это нормально ?

DataPoint dp=new DataPoint(); 
Bool TF;

TF=dp.Equals(Chart1.Serise["Curve1"].Points.Intersect(chart1.Series["Curve2"].Point));

// TF решит, что линия пересекается или нет

Но это не сработало для меня.
Помогите пожалуйста я новичок на этом форуме .
Пожалуйста простите меня если я написал что-то не так.

1 ответ

  1. Метод Intersect определяется в MSDN как

    Пересечение двух множеств A и B определяется как множество, содержащее все элементы A, которые также появляются в B, но не другие элементы.

    Если, например, у Curve1 есть точки 1,1 и 2,2, а у Curve2 есть 1,2 и 2,1, то линия между этими координатами в каждой кривой/серии будет пересекаться визуально, но коллекции не будут пересекаться, поскольку ни одна из коллекций не имеет одинаковых координат.

    Чтобы вычислить пересечение линий, вам нужно сделать некоторую математику и ответить на другой вопрос SO.