Matematyka 3D

Walec eliptyczny

Podstawy tej powierzchni są elipsami, a niekoniecznie kołami. Poziome przekroje zachowują te same wymiary. Zmieniaj a i b, aby porównać przekrój okrągły z wydłużonym.

Pierwszy przykład

import ms3d

F = ms3d.walec_eliptyczny()
print(round(F(3, 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

Zmień a z 3 na 2 przy b=2. Eliptyczne podstawy staną się kołami.

import ms3d

F = ms3d.walec_eliptyczny(a=2)
print(round(F(3, 0, 0), 6))
rysuj_3(F)

Wynik w konsoli:

0.5

Wysokość nie wpływa na kształt podstaw. Każdy przekrój prostopadły do osi Z ma te same półosie. Jest to zmiana równania powierzchni, nie zniekształcenie obrazu przez kamerę.

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.walec_eliptyczny(a=3, b=2, wysokosc=6)

a=3
Półoś podstawy w kierunku X.
b=2
Półoś podstawy w kierunku Y.
wysokosc=6
Pełna wysokość między podstawami.

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

BRównanie, właściwości i dziedzina
max((xa)2+(yb)2-1,2|z|h-1)=0

Dodatnie a i b są półosiami podstaw, a h = wysokosc > 0. Oś to Z, a powierzchnia obejmuje obie podstawy. Dla a = b otrzymujemy walec kołowy.

Półosie i wysokość są dodatnie. F jest określona w całej przestrzeni. Rysowana jest powierzchnia boczna i obie eliptyczne podstawy.

CDefinicja w Pythonie
import math

def F(x, y, z, a=3, b=2, wysokosc=6):
    return max(math.hypot(x / a, y / b) - 1, 2 * (abs(z) / wysokosc) - 1)

print(round(F(3, 0, 0), 6))
rysuj_3(F)

Spróbuj sam

Zwiększ tylko b dwa razy. Które punkty podstawy przesuną się, a które skrajne punkty na osi X pozostaną na miejscu?

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