>  기사  >  백엔드 개발  >  세 좌표가 동일 선상에 있는지 확인하는 방법

세 좌표가 동일 선상에 있는지 확인하는 방법

PHPz
PHPz앞으로
2024-02-06 08:12:03396검색

세 좌표가 동일 선상에 있는지 확인하는 방법

질문 내용

내 질문은 매우 일반적인 질문이고 아마도 순수한 Java 질문일 것이라고 확신합니다. 그러나 동일한 논리를 사용하여 세 좌표가 동일 선상에 있는지 식별하는 방법을 찾으려고 노력했지만 "점"을 입력으로 사용하는 예제에서는 작동하지 않는 것 같습니다. 두 가지 방법을 사용할 수 있습니다 1. 세 개의 좌표/점을 구성하는 삼각형의 면적을 구합니다. 동일한 선에 있는 경우 면적 값은 0이어야 합니다. 2. 이 좌표를 연결하는 선을 두 부분으로 나누고 각각의 기울기를 찾습니다. 같은 선상에 있으면 경사도는 같습니다.

내가 시도하는 것은 다음과 같습니다.

으아악

두 경우 모두 좌표를 입력으로 사용하는 동안 비슷한 동일 선상에 있는 경우에도 4와 같은 영역 값을 얻게 됩니다. 분명히 동일선상에 있지 않은 경우에는 동일한 경사 값이 발생합니다.

모든 구성을 사용하여 공선성에 대한 명시적인 알림을 얻을 수 있는 방법이 있나요? 내가 제대로 하고 있는 걸까? 제가 메소드에 전달하는 좌표 샘플 값은 Coefficient endPointOne = -26.66666666666686, 32.38095238095238 ....etc 입니다

여러분의 의견을 기다립니다.

감사 인사


정답


지역번호를 확인하는 것이 아니라 세 점이 동일선상에 있는지 확인하고 있습니다. 그러면 공식은 다음과 같습니다:

포인트 (x1,y1), (x2,y2), (x3,y3).

다음과 같은 경우에만 동일선상에 있어야 합니다.

으아악

그래서 코드는 다음과 같아야 합니다.

으아악

위 내용은 세 좌표가 동일 선상에 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제