Matematyka 3D

Fale koncentryczne

Wzniesienia i zagłębienia tworzą okręgi wokół środka. Ich wysokość nie maleje z odległością, bo amplituda jest stała. Zmieniaj częstotliwość, aby porównać odstępy między pierścieniami.

Pierwszy przykład

import ms3d

F = ms3d.fale_koncentryczne()
print(round(F(0, 0, 1.5), 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.2 do 0.6. Odległość między kolejnymi pierścieniami podwoi się, ale ich wysokość się nie zmieni.

import ms3d

F = ms3d.fale_koncentryczne(czestotliwosc=0.6)
print(round(F(0, 0, 1.5), 6))
rysuj_3(F)

Wynik w konsoli:

0.0

W środku występuje maksimum. Amplituda nie maleje wraz z odległością, inaczej niż w powierzchni sinc. Kształt zależy wyłącznie od odległości od środka, nie od kierunku.

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.fale_koncentryczne(amplituda=1.5, czestotliwosc=1.2)

amplituda=1.5
Największe wychylenie od wysokości zero.
czestotliwosc=1.2
Zmiana kąta na jednostkę odległości od środka.

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

BRównanie, właściwości i dziedzina
z=Acos(kx2+y2)

Dodatnie A = amplituda i k = czestotliwosc określają wychylenie i zmianę kąta na jednostkę odległości. Promieniowy okres wynosi 2π/k, a w środku wysokość wynosi A. Wysokość jest określona na całej płaszczyźnie.

Oba parametry są dodatnie. Wysokość jest określona dla dowolnych X i Y. Model pokazuje tylko ograniczony fragment nieograniczonej powierzchni.

CDefinicja w Pythonie
import math

def F(x, y, z, amplituda=1.5, czestotliwosc=1.2):
    A, k = (amplituda, czestotliwosc)
    return z - A * math.cos(k * math.hypot(x, y))

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

Spróbuj sam

Porównaj punkty (3,0) i (0,3) w płaszczyźnie XY. Dlaczego mają tę samą wysokość dla dowolnych dozwolonych parametrów?

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