Matematyka 2D
Kwadrat
Rysowany jest obwód kwadratu, bez wypełnienia. Wszystkie boki są równe i równoległe do osi. Zmieniaj bok i położenie środka, aby skalować oraz przesuwać figurę.
Pierwszy przykład
import ms2d
F = ms2d.kwadrat()
print(round(F(3, 0), 6))
rysuj_2(F)
Wynik w konsoli:
0.0
Wartość F w podanym punkcie jest liczbą pomocniczą, a nie współrzędną Y. Do krzywej należą punkty z wynikiem zero. Dziedzina F obejmuje więcej punktów niż sama krzywa.
Podgląd przedstawia pierwszy program. Zmianę kodu wykonaj w edytorze. Przesuwanie i przybliżanie nie obliczają nowych wartości funkcji.
Eksperymentuj
Zmień bok z 6 na 4. Odległość każdego boku od środka zmniejszy się z 3 do 2.
import ms2d
F = ms2d.kwadrat(bok=4)
print(round(F(3, 0), 6))
rysuj_2(F)
Wynik w konsoli:
1.0
Rysowany jest obwód, nie pole kwadratu. W środku F ma wartość ujemną, na brzegu zero, a poza figurą dodatnią. Ujemny wynik nie oznacza dodatkowej krzywej.
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.
ms2d.kwadrat(bok=6, x0=0, y0=0)
bok=6- Pełna długość każdego boku.
x0=0- Współrzędna X środka.
y0=0- Współrzędna Y środka.
Parametry liczbowe muszą być skończonymi liczbami int lub float, bez wartości logicznych.
BRównanie, właściwości i dziedzina
Dodatni bok oznaczono we wzorze jako b. Środek to (x0, y0), a X i Y oznaczają współrzędne pomniejszone o współrzędne środka. Równanie poziomu zero odpowiada obwodowi.
Bok musi być dodatni. Współrzędne środka są skończone, a funkcja F jest określona dla dowolnego punktu płaszczyzny.
CDefinicja w Pythonie
def F(x, y, bok=6, x0=0, y0=0):
return max(abs(x - x0), abs(y - y0)) - bok / 2
print(round(F(3, 0), 6))
rysuj_2(F)
DKrótki zapis lambda
Ten zapis dotyczy domyślnych parametrów.
rysuj_2(lambda x, y: max(abs(x - 0), abs(y - 0)) - 6 / 2)
Spróbuj sam
Przesuń środek do (2,1). Wyznacz cztery wierzchołki kwadratu o boku 4.