Zestaw F ∞
-
Napisz funkcję
zadF1(contour)
obliczającą pole powierzchni figury o podanym brzegu. Podany kontur jest pythonową listą współrzędnych(x,y)
(pythonowa krotka) kolejnych punktów konturu. W tym zadaniu słowo “punkt” należy rozumieć “matematycznie” (ma zerowy rozmiar), nie należy mylić z pikselem. Kolejne punkty różnią się między sobą albo współrzędną x albo y (tylko jedną z nich). Uwaga: ostatni element na podanej liście nie jest równy pierwszemu punktowi (różni się od niego albo na współrzędnej x albo y).
Funkcja ma zwrócić pojedynczą wartość – pole powierzchni figury.
Przykład:zadF1([(0,0),(1,0),(1,1),(0,1)]) == 1
-
Napisz funkcję
zadF2(contour)
obliczającą krzywiznę konturu dla każdego z jego punktów.contour
to lista współrzędnych kolejnych punktów konturu (tak jak poprzednio jest to pythonowa lista krotek). Dla każdego punktu należy obliczyć jego lokalną krzywiznę (na podstawie sąsiednich punktów).
Funkcja ma zwracać listę obliczonych wartości o takiej samej długości jak argument wejściowy. -
Napisz funkcję
zadF3(contour)
obliczającą 1D sygnaturę podanego kształtu. Podany kontur jest pythonową listą współrzędnych(x,y)
(pythonowa krotka) kolejnych punktów konturu. Sygnatura ma przedstawiać zależność odległości euklidesowej od geometrycznego środka podanych punktów konturu (czyli średniej arytmetycznej z podanych punktów) jako funkcji zmiennej kroczącej krawędzi (czyli dla kolejnych punktów). Funkcja ma zwrócić listę o długości identycznej cocontour
. -
Napisz funkcję
zadF4(image, p, q)
obliczającą (dyskretny) moment dwuwymiarowy rzędu p+q;image
to obraz 2D (współrzędne lewego górnego piksela to(0,0)
),p
orazq
to nieujemne liczby całkowite. -
Napisz funkcję
zadF5(image, p, q)
obliczającą centralny moment dwuwymiarowy rzędu p+q;image
to obraz 2D,p
orazq
to nieujemne liczby całkowite.