본문 바로가기

언어/Python

[ Python ] tan() 각도와 거리로 높이 구하기

반응형

지점 A에서 지점 B까지의 거리와 각도를 이용해 높이를 구하는 프로그램을 Python으로 만들 수 있습니다. 여기서 사용할 개념은 삼각법에서 기본적인 삼각형의 정의입니다.

지점 A와 B를 수평선 상에 있다고 가정하고, 각도와 거리를 알면, 삼각형의 높이를 아래 공식으로 구할 수 있습니다.

공식을 먼저 설명하자면:

  • 거리는 지점 A에서 B까지의 직선 거리입니다.
  • 각도는 지면과 AB를 이루는 각입니다 (각도가 0°이면 수평선).
  • 높이는 삼각형의 수직변으로, 이것은 ( \text{높이} = \text{거리} \times \tan(\text{각도}) )로 구할 수 있습니다.

Python 코드로 구현하면:

import math

def calculate_height(distance, angle_degrees):
    # 각도를 라디안으로 변환 (math 모듈의 삼각함수는 라디안 값 사용)
    angle_radians = math.radians(angle_degrees)

    # 높이 계산 (거리 * tan(각도))
    height = distance * math.tan(angle_radians)

    return height

# 사용자로부터 거리와 각도 입력 받기
distance = float(input("A지점과 B지점 사이의 거리를 입력하세요 (단위: 미터): "))
angle_degrees = float(input("A지점과 B지점 사이의 각도를 입력하세요 (단위: 도): "))

# 높이 계산
height = calculate_height(distance, angle_degrees)

# 결과 출력
print(f"A지점과 B지점 사이의 높이는 {height:.2f}미터입니다.")

코드 설명:

  1. math.radians() 함수는 각도를 라디안으로 변환합니다. 삼각함수는 각도를 라디안 단위로 처리하므로 변환이 필요합니다.
  2. math.tan() 함수는 탄젠트 값을 구하는 함수입니다.
  3. 입력받은 거리와 각도를 바탕으로 높이를 계산한 후 출력합니다.

결과:

A지점과 B지점 사이의 거리를 입력하세요 (단위: 미터): 100
A지점과 B지점 사이의 각도를 입력하세요 (단위: 도): 30
A지점과 B지점 사이의 높이는 57.74미터입니다.

이 코드에서 사용자는 지점 A와 B 사이의 거리와 각도를 입력하면, 높이를 계산하여 출력합니다.

반응형