Matematyka 3D

Płaszczyzna

Płaszczyzna jest płaską, nieograniczoną powierzchnią. Jej równanie może opisywać położenie poziome, pionowe lub ukośne. Zmieniaj współczynniki i porównuj orientację widocznego fragmentu.

Pierwszy przykład

import ms3d

F = ms3d.plaszczyzna()
print(round(F(0, 0, 2), 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ń d z -2 na 0. Płaszczyzna zacznie przechodzić przez początek układu, zachowując orientację.

import ms3d

F = ms3d.plaszczyzna(d=0)
print(round(F(0, 0, 2), 6))
rysuj_3(F)

Wynik w konsoli:

2.0

Wektor (a,b,c) jest prostopadły do płaszczyzny. Zmiana tylko d przesuwa płaszczyznę równolegle do niej samej. Pomnożenie wszystkich współczynników przez tę samą niezerową liczbę nie zmienia zbioru punktów powierzchni.

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.plaszczyzna(a=1, b=1, c=1, d=-2)

a=1
Współczynnik przy X w równaniu płaszczyzny.
b=1
Współczynnik przy Y.
c=1
Współczynnik przy Z.
d=-2
Wyraz stały, wpływający na położenie.

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

BRównanie, właściwości i dziedzina
ax+by+cz+d=0

Współczynniki a, b i c nie mogą być jednocześnie zerowe. Wektor (a, b, c) jest prostopadły do płaszczyzny, a d wpływa na jej położenie. Dziedziną F są wszystkie rzeczywiste trójki.

Współczynniki są skończone, a a, b i c nie mogą być jednocześnie zerowe. F przyjmuje wszystkie trójki liczb rzeczywistych. Płaszczyzna jest nieograniczona, mimo skończonego podglądu.

CDefinicja w Pythonie

def F(x, y, z, a=1, b=1, c=1, d=-2):
    return a * x + b * y + c * z + d

print(round(F(0, 0, 2), 6))
rysuj_3(F)
DKrótki zapis lambda

Ten zapis dotyczy domyślnych parametrów.

rysuj_3(lambda x, y, z: 1 * x + 1 * y + 1 * z + -2)

Spróbuj sam

Ustaw a=b=0 oraz c=1. Jakie położenie płaszczyzny otrzymasz dla d=0 i dla d=-2?

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