Matematyka 3D

Powierzchnia Gaussa

Powierzchnia ma jeden szczyt i łagodnie opada we wszystkich kierunkach. Jej wysokość zbliża się do zera wraz z odległością od szczytu. Zmieniaj szerokość, aby porównać wąskie i rozległe wzniesienie.

Pierwszy przykład

import ms3d

F = ms3d.powierzchnia_gaussa()
print(round(F(0, 0, 4), 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 szerokość z 2 do 1. Szczyt pozostanie na tej samej wysokości, ale wzniesienie stanie się węższe.

import ms3d

F = ms3d.powierzchnia_gaussa(szerokosc=1)
print(round(F(0, 0, 4), 6))
rysuj_3(F)

Wynik w konsoli:

0.0

Na szczycie wykładnik potęgi e wynosi zero, więc wysokość jest równa parametrowi wysokosc. Dalej od szczytu wartości zbliżają się do zera. Poziome przekroje między wysokością zero a szczytem są okręgami.

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_gaussa(wysokosc=4, szerokosc=2, x0=0, y0=0)

wysokosc=4
Dodatnia wysokość szczytu.
szerokosc=2
Dodatnia skala szerokości w poziomie.
x0=0
Współrzędna X szczytu.
y0=0
Współrzędna Y szczytu.

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

BRównanie, właściwości i dziedzina
z=he-(x-x0)2+(y-y0)22s2

Dodatnie h = wysokosc i s = szerokosc określają wysokość oraz skalę poziomą. Szczyt to (x0, y0, h), a dziedziną wysokości jest cała płaszczyzna. To powierzchnia Gaussa bez normalizacji do pola lub objętości 1.

Wysokość i szerokość są dodatnie, a położenie skończone. Wysokość powierzchni jest określona na całej płaszczyźnie. Nie jest to unormowana gęstość prawdopodobieństwa.

CDefinicja w Pythonie
import math

def F(x, y, z, wysokosc=4, szerokosc=2, x0=0, y0=0):
    h, s = (wysokosc, szerokosc)
    q = math.hypot((x - x0) / s, (y - y0) / s)
    return z - h * math.exp(-0.5 * q * q)

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

Spróbuj sam

Przesuń szczyt do (1,-2). Czy jego wysokość zmienia się po samym przesunięciu poziomym?

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