Categorie
Python

Problema di trigonometria in Python

In questo post vedremo come risolvere un problema di trigonometria in Python.

In un triangolo rettangolo ABC di ipotenusa BC = 5 cm, si ha ABC = 50° . Determina le misure dei cateti, arrotondandole a meno di un centesimo.

Risultati: AB = 3,21 cm e AC = 3,83

Ecco il programma in Python che risolve il problema:


import turtle
import math

# Dati iniziali del problema
gradiA = 50 # L'angolo è posizionato in B
ipotenusaBC = 5

# Converto gradi in radianti
radianti = gradiA / 180.0 * math.pi

# Trovo il cateto AB e arrotondo a 2
catetoAB = round(ipotenusaBC * math.cos(radianti), 2)

# Trovo il cateto BC e arrotondo a 2
catetoAC = round(ipotenusaBC * math.sin(radianti), 2)

# Stampo i lati
print ("AB: ", catetoAB)
print ("AC: ", catetoAC)
print ("BC: ", ipotenusaBC)

Una volta risolto il problema possiamo disegnare il triangolo risultante con la libreria Turtle


# Disegno il triangolo con Turtle
tartaruga = turtle.Turtle()

tartaruga.write("A", align="right", font=("Arial", 10))

# Disegno il cateto AC (misure amplificate per scala)
tartaruga.forward(catetoAC * 30)
tartaruga.write("B", align="left", font=("Arial", 10))

# Disegno il cateto AB (misure amplificate per scala)
tartaruga.left(90)
tartaruga.forward(catetoAB * 30)
tartaruga.write("C", align="center", font=("Arial", 10))

# Disegno l'ipotenusa (misure amplificate per scala)
tartaruga.left((180 - gradiA))
tartaruga.forward(ipotenusaBC * 30)

# Finisco la tartaruga
tartaruga.hideturtle()
turtle.done()

Prova il codice su Trinket

Link al codice su GitHub https://github.com/gb-factory/Esercizi-Python/blob/master/Trigonometria/triangolo.py