How do you determine if a point is to the left or right of a curve?

조회 수: 21 (최근 30일)
With reference to the images below, what I need is to establish whether the generic red point is to the right or left of the blue curve, according to the direction of travel specified by the arrow.
I have the geographic coordinates of those points available, so the first thing I tried was to calculate the distance between the generic red point and the two black lines with the Haversine formula and establish the sign based on which of these two distances is the largest, but since the circuit is not perfectly symmetrical this method does not work.
I then tried with if loops, imposing a change of sign there where there was a minimum of the distance of the red point from the blue line, but even this is not accurate.
I tried the cross product, but I think it works well only with the metric coordinates.
Do you have any suggestions?

채택된 답변

MJFcoNaN
MJFcoNaN 2022년 6월 22일
Hello,
Is "to the right" meaning that a red point is in the polygon of blue track? The function of inpolygon may help:
[in, on] = inpolygon(x_red, y_red, x_blue, y_blue);

추가 답변 (0개)

태그

제품


릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by