Matematyka 2D
Hiperbola
Hiperbola ma dwie oddzielne gałęzie i dwie osie symetrii. W tej bibliotece gałęzie są skierowane w lewo i w prawo. Zmieniaj a i b, aby porównać ich rozwarcie.
Pierwszy przykład
import ms2d
F = ms2d.hiperbola()
print(round(F(3, 0), 6))
rysuj_2(F)
Wynik w konsoli:
0.0
Wartość F w podanym punkcie jest liczbą pomocniczą, a nie współrzędną Y. Do krzywej należą punkty z wynikiem zero. Dziedzina F obejmuje więcej punktów niż sama krzywa.
Podgląd przedstawia pierwszy program. Zmianę kodu wykonaj w edytorze. Przesuwanie i przybliżanie nie obliczają nowych wartości funkcji.
Eksperymentuj
Zmień b z 2 na 4. Wierzchołki pozostaną w tych samych miejscach, ale gałęzie będą szybciej oddalać się od osi poziomej.
import ms2d
F = ms2d.hiperbola(b=4)
print(round(F(3, 0), 6))
rysuj_2(F)
Wynik w konsoli:
0.0
Gałęzie zbliżają się do dwóch prostych przechodzących przez środek. Są to asymptoty o nachyleniach ±b/a. Wierzchołki leżą w (x0-a,y0) i (x0+a,y0).
Odkrywaj w swoim tempie
AParametry i wartości domyślne
Pierwszy program wywołuje funkcję bez ustawień, czyli korzysta z wszystkich wartości domyślnych podanych poniżej.
ms2d.hiperbola(a=3, b=2, x0=0, y0=0)
a=3- Odległość wierzchołka gałęzi od środka wzdłuż X.
b=2- Skala w kierunku Y, wpływająca na rozwarcie.
x0=0- Współrzędna X środka.
y0=0- Współrzędna Y środka.
Parametry liczbowe muszą być skończonymi liczbami int lub float, bez wartości logicznych.
BRównanie, właściwości i dziedzina
Parametry a i b są dodatnie, a środek to (x0, y0). Poziome wierzchołki leżą w odległości a od środka. Asymptoty przechodzą przez środek i mają nachylenia ±b/a; F jest określona na całej płaszczyźnie.
Parametry a i b są dodatnie, a środek ma skończone współrzędne. F jest określona na całej płaszczyźnie. Krzywa nie istnieje w pasie |x-x0|<a.
CDefinicja w Pythonie
def F(x, y, a=3, b=2, x0=0, y0=0):
return ((x - x0) / a) ** 2 - ((y - y0) / b) ** 2 - 1
print(round(F(3, 0), 6))
rysuj_2(F)
DKrótki zapis lambda
Ten zapis dotyczy domyślnych parametrów.
rysuj_2(lambda x, y: ((x - 0) / 3) ** 2 - ((y - 0) / 2) ** 2 - 1)
Spróbuj sam
Zwiększ samo a. Jak zmienią się odstęp między gałęziami i nachylenia asymptot?