Я пытаюсь придумать функцию, которая принимает две точки, используемые для формирования линии, контрольной точки и точки, и выводит True, если точка находится на сформированной линии или
точка, которая, как известно, находится на внешней части линии, и точка, для которой необходимо определить, находится ли она снаружи или внутри половины площади, разделенной образованной линией. В этом случае на линии считается снаружи.
Это похоже на этот вопрос, но желаемый сторона может иметь положительное или отрицательное перекрестное произведение, поэтому требуется несколько иной подход. Я уже несколько раз пытался заставить его работать с перекрестными произведениями, и на данный момент я просто ищу что-то, что точно сработает.
Редактировать: внутри/снаружи используется просто из-за характера проблемы, кажется лучше, чем «сторона а» и «сторона б» или «левая сторона» и «правая сторона». При этом «внутренние» точки будут игнорироваться, а «внешние» останутся.
Вот пример использования обеих сторон линии:
Хотя они квадраты, каждый представляет собой «точку». Красные квадраты - это два, которые составляют линию. Затем есть зеленая и синяя точки. Зеленая точка находится внутри синей точки, а синяя точка находится внутри точки. Они представляют собой внешние точки. Синие кружки обозначают точки, которые считаются внешними. Точки, обведенные синим, считаются внешними точками по отношению к синей точке, а точки, обведенные зеленым, считаются внешними точками по отношению к зеленой точке.