>  기사  >  백엔드 개발  >  주어진 두 삼각형의 유사성을 확인하는 프로그램

주어진 두 삼각형의 유사성을 확인하는 프로그램

WBOY
WBOY앞으로
2023-08-25 17:33:03779검색

이 질문에서는 프로그래머의 관점에서 실제 사용 사례가 많은 주어진 두 삼각형의 유사성을 확인하는 방법을 배우게 됩니다.

사물의 2D 및 3D 모델을 구축하고 관리하려면 CAD 시스템을 사용해야 합니다. 주요 기능 중 하나는 두 개의 삼각형을 비교하는 기능입니다.

예를 들어 설계 및 건설 작업을 수행하는 엔지니어는 건물의 기초 치수를 청사진과 일치시켜야 할 수 있습니다. 엔지니어는 두 삼각형의 유사성을 확인하는 기능이 내장된 CAD 도구를 사용하여 기초의 각도와 측면이 레이아웃에 맞는지 신속하게 평가할 수 있습니다. 이는 건물의 구조적 안정성과 안전성을 보장하는 데 도움이 됩니다.

또한 3D 프린팅 기술을 통해 CAD 소프트웨어를 사용하여 물체의 3D 모델을 제작합니다. 이 경우 모델이 원하는 비율로 정확하게 인쇄되었는지 확인하려면 유사성 검사가 도움이 될 수 있습니다. 유사성을 수동으로 검증하는 것은 지루하고 오류가 발생하기 쉬우므로 이는 복잡한 모델에 매우 중요합니다.

로봇공학 분야의 프로그래머는 유사성 검사 도구를 사용하여 로봇 동작의 정확성을 보장할 수 있습니다. 두 삼각형의 유사성을 확인하면 로봇 팔(종종 여러 관절이 있는)의 복잡한 움직임이 정확하고 일정하다는 것을 확인하는 데 도움이 됩니다.

지침

이제 삼각형 유사성을 계산하는 데 관련된 수학의 일부를 이해해 보겠습니다.

두 삼각형은 다음과 같은 특성을 갖고 있으면 유사합니다. -

  • 두 삼각형의 내각은 같습니다.

  • 삼각형의 대응하는 변의 비율은 같습니다.

두 삼각형이 유사한지 확인하는 방법에는 SSS, SAS, AA 세 가지가 있습니다. 각 정리에 대해 간단히 논의해 보겠습니다.

SSS(측면-측면) 표준

주어진 두 삼각형에서 세 쌍의 변의 비율이 같으면 두 삼각형은 닮음입니다.

주어진 두 삼각형의 유사성을 확인하는 프로그램

위에 주어진 두 개의 삼각형을 고려해 보겠습니다. 세 대변의 비율이 같다면 위의 두 삼각형은 SSS 기준에 따라 닮을 수 있습니다. 즉, AC/PR = AB/PQ = CB/RQ

SAS(측면-각-측면) 표준

주어진 두 삼각형에서 두 쌍의 변의 비율이 같고 두 삼각형의 두 변이 이루는 각도가 같으면 두 삼각형은 닮음입니다.

주어진 두 삼각형의 유사성을 확인하는 프로그램

위의 삼각형을 예로 들면, AB/PQ = BC/QR이고

AA(앵글-앵글) 표준

주어진 두 삼각형에서 두 삼각형의 두 각도 중 어느 하나라도 같으면 두 삼각형은 닮음입니다.

주어진 두 삼각형의 유사성을 확인하는 프로그램

위의 삼각형을 예로 들면

일반적으로 삼각형의 세 점의 좌표를 구한 다음 유사성을 확인해야 합니다. 이 경우에는 이 공식을 사용하여 거리를 계산하겠습니다.

주어진 두 삼각형의 유사성을 확인하는 프로그램

좌표가 제공되면 주어진 두 삼각형의 유사성을 확인하는 프로그램입니다.

방법

전체 프로그램을 단계별 알고리즘으로 디코딩해보자

  • 두 삼각형의 세 점 좌표를 입력으로 사용합니다.

  • 위에서 설명한 공식(예: 거리 = 수학)을 사용하여 좌표 사이의 길이를 계산하세요. sqrt(Math.pow(y2-y1,2)+Math.pow(x2-x1,2))

  • 두 삼각형의 모든 변의 길이를 계산한 후 모든 쌍의 비율을 계산하세요.

  • 다음으로 세 가지 비율이 같은지 확인하고, 그렇다면 삼각형을 유사한 것으로 인쇄하고, 그렇지 않으면 삼각형을 서로 다른 것으로 인쇄합니다.

이제 위 알고리즘을 구현하는 코드를 작성해보겠습니다

좌표가 제공될 때 주어진 두 삼각형의 유사성을 확인하는 C++ 프로그램입니다.

으아악

출력

으아악

복잡성

Time Complexity: 이 코드는 입력 크기에 관계없이 고정된 수의 계산을 수행하므로 O(1)입니다.

Space Complexity: O(1) 코드는 입력 크기에 관계없이 입력 값과 결과를 저장하기 위해 고정된 개수의 변수를 사용하기 때문입니다.

좌표가 제공되면 주어진 두 삼각형의 유사성을 확인하는 프로그램입니다.

방법

전체 프로그램을 단계별 알고리즘으로 디코딩해보자

  • 삼각형의 각도를 입력으로 사용하세요.

  • 각도를 비교하고 삼각형의 두 각이 같은지 확인합니다. 여기서는 AA 기준을 사용합니다.

  • 두 각도가 동일하면 인쇄된 삼각형이 유사하고, 그렇지 않으면 인쇄된 삼각형이 유사하지 않습니다.

이제 위의 알고리즘을 구현하는 코드를 작성해 보겠습니다.

각도가 제공될 때 주어진 두 삼각형의 유사성을 확인하는 C++ 프로그램입니다.

#include <iostream>
using namespace std;

bool check_aa(int a1,int a2,int a3,int a4,int a5,int a6){
   if((a1==a4 || a1==a5 || a1==a6) && (a2==a4 || a2==a5 || a2==a6))
   return true;
   else
   return false;

}
int main(){
   
   // Input:  the angles of the triangles
   double a1 = 30, a2 = 60, a3 = 90; //angles of triangle A
   double a4 = 60, a5 = 90, a6 = 30; //angles of triangle B
   
   
   bool similar= check_aa(a1,a2,a3,a4,a5,a6);
   
   if (similar)
      cout << "The two triangles are similar." << endl;
   else
      cout << "The two triangles are not similar." << endl;
}

输出

The two triangles are similar.

复杂性

时间复杂度:O(1),因为无论输入大小如何,此代码都会执行固定数量的计算。

空间复杂度:O(1),因为代码使用固定数量的变量来存储输入值和结果,而不管输入的大小。

结论

在本文中,我们尝试基于两种情况解释检查两个三角形相似性的方法,一种是提供边作为输入,另一种是提供角度作为输入。我希望这篇文章可以帮助您更好地学习这个概念。

위 내용은 주어진 두 삼각형의 유사성을 확인하는 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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