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.

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

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
ρ=x2+y2z={Asin(kρ)kρρ > 0Aρ = 0

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?

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