Sides of right angled triangle from given area and hypotenuse in Python

In this article, we will learn how to find all the sides of a right-angled triangle from a given area and hypotenuse in Python.

Examples

Input: hypotenuse = 10, area = 24
Output: Base = 6, Height = 8

Input: hypotenuse = 5, area = 10
Output: No triangle possible

Some of the property of a right-angled triangle are

Let’s consider a right-angle triangle with height a, base b the hypotenuse c will be

c² = a² + b²

A right-angle triangle will have a maximum area when both the base and height to each other.

All the sides of a right-angled triangle from a given area and hypotenuse in Python

1. Firstly create a function area() that takes base, the hypotenuse as arguments.

  • Calculate the height using the base and hypotenuse height = math.sqrt(hypotenuse*hypotenuse – base*base).
  • return the area of the triangle 0.5 * height * base.

2. Now create a function idesOfRightAngleTriangle() that calculates the sides of the triangle

  • Firstly, calculate the maximum possible side when the area is maximum. and calculate the area using the area() function.
  • Compare given the area a with the maximum area, if a>maxArea then print “No possible”.
  • Using binary search calculate the base and the height of the triagle.
import math

def area(base, hypotenuse):
    height = math.sqrt(hypotenuse*hypotenuse - base*base)
    return 0.5 * base * height

def sidesOfRightAngleTriangle(h, a):
    hsqrt = h*h
    maxAreaSide = math.sqrt(hsqrt/2.0)
    maxArea = area(maxAreaSide, h)

    if (a>maxArea):
        print("No possible")
        return

    low = 0.0
    high = maxAreaSide
    while (abs(high-low)>1e-6):
        base = (low+high)/2.0
        if (area(base, h) >= a):
            high = base
        else:
            low = base
    height = math.ceil(math.sqrt(hsqrt - base*base))
    base = math.floor(base)
    print("Base: ", base)
    print("Height: ", height)
h = int(input("Enter the hypotenuse: "))
a = int(input("Enter the area: "))
sidesOfRightAngleTriangle(h, a)

Output

Enter the hypotenuse: 5
Enter the area: 6
Base: 3
Height: 4

Enter the hypotenuse: 5
Enter the area: 7
No possible

Also, read

Leave a Reply

Your email address will not be published. Required fields are marked *