Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

3D에서 세 점 사이의 거리를 계산하는 C 프로그램

<시간/>

3차원 평면과 3개의 좌표가 주어지면 주어진 점 사이의 거리를 찾고 결과를 표시하는 것이 과제입니다.

3차원 평면에는 좌표가 (x1, y1, z1)인 x축, 좌표가 (x2, y2, z2)인 y축, 좌표가 (x3)인 z축인 세 개의 축이 있습니다. , y3, z). 그들 사이의 거리를 계산하기 위해 다음과 같은 직접적인 공식이 있습니다.

$$\sqrt{\l그룹 x2-x1\rgroup^{2}+\l그룹 y2-y1\rgroup^{2}+\l그룹 z2-z1\rgroup^{2}}$$

아래는 3개의 서로 다른 축과 좌표를 나타내는 다이어그램입니다.

3D에서 세 점 사이의 거리를 계산하는 C 프로그램

아래에 사용된 접근 방식은 다음과 같습니다. -

  • 좌표를 (x1, y1, z1), (x2, y2, z2) 및 (x3, y3, z3)으로 입력
  • 수식을 적용하여 이 점 간의 차이를 계산합니다.
  • 거리 인쇄

알고리즘

Start
Step 1-> declare function to calculate distance between three point
   void three_dis(float x1, float y1, float z1, float x2, float y2, float z2)
      set float dis = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2) + pow(z2 - z1, 2) * 1.0)
      print dis
step 2-> In main()
   Set float x1 = 4
   Set float y1 = 9
   Set float z1 = -3
   Set float x2 = 5
   Set float y2 = 10
   Set float z2 = 9
   Call three_dis(x1, y1, z1, x2, y2, z2)
Stop

예시

#include <stdio.h>
#include<math.h>
//function to find distance bewteen 3 point
void three_dis(float x1, float y1, float z1, float x2, float y2, float z2) {
   float dis = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2) + pow(z2 - z1, 2) * 1.0);
   printf("Distance between 3 points are : %f", dis);
   return;
}
int main() {
   float x1 = 4;
   float y1 = 9;
   float z1 = -3;
   float x2 = 5;
   float y2 = 10;
   float z2 = 9;
   three_dis(x1, y1, z1, x2, y2, z2);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

Distance between 3 points are : 12.083046