Matematyka 3D
Powierzchnia sinc
Powierzchnia ma centralne wzniesienie i pierścieniowe oscylacje. W przeciwieństwie do fal koncentrycznych ich wychylenia maleją z odległością. Zmieniaj częstotliwość, aby porównać zagęszczenie pierścieni.
Pierwszy przykład
import ms3d
F = ms3d.powierzchnia_sinc()
print(round(F(0, 0, 3), 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
Zmniejsz częstotliwość z 1.5 do 0.75. Centralne wzniesienie i odstępy między pierścieniami rozszerzą się w poziomie.
import ms3d
F = ms3d.powierzchnia_sinc(czestotliwosc=0.75)
print(round(F(0, 0, 3), 6))
rysuj_3(F)
Wynik w konsoli:
0.0
Kolejne wychylenia maleją, ponieważ sinus jest dzielony przez rosnącą odległość. W samym środku nie wykonujemy dzielenia przez zero. Wartość ustalono tak, aby powierzchnia była ciągła.
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.powierzchnia_sinc(amplituda=3, czestotliwosc=1.5)
amplituda=3- Wysokość centralnego maksimum i skala wychyleń.
czestotliwosc=1.5- Dodatni parametr zagęszczenia pierścieni.
Parametry liczbowe muszą być skończonymi liczbami int lub float, bez wartości logicznych.
BRównanie, właściwości i dziedzina
Dodatnie A = amplituda i k = czestotliwosc określają skalę; ρ jest odległością od początku układu w płaszczyźnie XY. W środku przyjęto graniczną wysokość A, więc dziedziną jest cała płaszczyzna.
Oba parametry są dodatnie. W środku przyjęta jest wartość graniczna równa amplitudzie, więc nie ma otworu w dziedzinie. Wysokość jest określona na całej płaszczyźnie.
CDefinicja w Pythonie
import math
def F(x, y, z, amplituda=3, czestotliwosc=1.5):
A, k = (amplituda, czestotliwosc)
q = k * math.hypot(x, y)
sinc = 1 if q == 0 else math.sin(q) / q
return z - A * sinc
print(round(F(0, 0, 3), 6))
rysuj_3(F)
Spróbuj sam
Porównaj tę powierzchnię z falami koncentrycznymi. Co zmienia się w odległych pierścieniach po zwiększeniu obszaru obserwacji?