Matematyka 3D

Torus

Torus jest powierzchnią pierścienia z otworem. Promień R określa rozmiar pierścienia, a r jego grubość. Porównuj proporcje, zachowując R większe od r.

Pierwszy przykład

import ms3d

F = ms3d.torus()
print(round(F(4, 0, 0), 6))
rysuj_3(F)

Wynik w konsoli:

0.0

Wartość F w podanym punkcie nie jest wysokością powierzchni. Narysowane są punkty F=0, bez wypełniania wnętrza bryły. Matematyczna powierzchnia i obszar podglądu to różne rzeczy.

Obracaj myszą lub strzałkami. Kółko przybliża, Home przywraca widok.

Podgląd przedstawia pierwszy program. Zmianę kodu wykonaj w edytorze. Obrót, przesuwanie i przybliżanie nie obliczają nowych wartości funkcji.

Eksperymentuj

Zwiększ r z 1 do 1.5 przy R=3. Pierścień stanie się grubszy, a otwór węższy.

import ms3d

F = ms3d.torus(r=1.5)
print(round(F(4, 0, 0), 6))
rysuj_3(F)

Wynik w konsoli:

-0.5

W płaszczyźnie Z=0 odległości skrajnych okręgów od osi wynoszą R-r i R+r. Zwiększanie grubości zmienia więc jednocześnie rozmiar otworu i zewnętrzny obrys.

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.

ms3d.torus(R=3, r=1)

R=3
Odległość środka przekroju kołowego od osi Z.
r=1
Promień kołowego przekroju pierścienia.

Parametry liczbowe muszą być skończonymi liczbami int lub float, bez wartości logicznych.

BRównanie, właściwości i dziedzina
(x2+y2-R)2+z2-r=0

Warunek biblioteki to R > r > 0, co daje torus pierścieniowy bez samoprzecięć. Osią symetrii jest Z. Równanie opisuje powierzchnię, a nie objętość pierścienia.

Biblioteka wymaga R>r>0. Zapobiega to zamknięciu otworu i samoprzecięciom. F jest określona w całej przestrzeni, a obraz przedstawia tylko powierzchnię.

CDefinicja w Pythonie
import math

def F(x, y, z, R=3, r=1):
    return math.hypot(math.hypot(x, y) - R, z) - r

print(round(F(4, 0, 0), 6))
rysuj_3(F)
DKrótki zapis lambda

Ten zapis dotyczy domyślnych parametrów.

import math

rysuj_3(lambda x, y, z: math.hypot(math.hypot(x, y) - 3, z) - 1)

Spróbuj sam

Oblicz średnicę otworu dla R=3 i r=1.5. Dlaczego próba ustawienia r=3 jest odrzucana?

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