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
(x-x0a)2-(y-y0b)2=1

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?

Dokładność, obszar obliczeń i ograniczenia środowiska