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.
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
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?