TODO
In [ ]:
%matplotlib inline
import math
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets
from ipywidgets import interact
Sources:
In [ ]:
CAPTEUR_DICT = {"APS-C Canon (15x23 mm)": (14.9, 22.3),
"Full frame (24x36 mm)": (24, 36)}
avec $D$ la dimension (horizontale, verticale ou diagonale) du capteur et $f$ la focale de l'objectif.
Sources:
In [ ]:
def angle(focale, capteur):
angle = 2. * math.atan(float(capteur)/(2. * focale))
return angle
In [ ]:
@interact(focale=(8, 300, 1), capteur=CAPTEUR_DICT)
def square(focale, capteur):
print("Capteur: {}x{} mm".format(capteur[0], capteur[1]))
print("Focale: {} mm".format(focale))
angle_verticale = round(math.degrees(angle(focale, capteur[0])), 1)
angle_horizontale = round(math.degrees(angle(focale, capteur[1])), 1)
print("Angle horizontale: {}°".format(angle_horizontale))
print("Angle verticale: {}°".format(angle_verticale))
TODO
taille_horizontale_sujet taille_verticale_sujet focale capteur
return: distance
TODO