8. Wzór Picka
Wzór Picka to klasyczny wynik z geometrii dyskretnej, dotyczący wielokątów kratowych (czyli takich, których wszystkie wierzchołki leżą w punktach o współrzędnych całkowitych).
Mówi on, że dla takiego wielokąta: \[P=W+\frac{B}{2}-1\]
gdzie:
- \(P\) – pole wielokąta,
- \(W\) – liczba punktów kratowych wewnątrz wielokąta,
- \(B\) – liczba punktów kratowych na brzegu wielokąt
Przykład
W poniższym wielokącie znajduje się 5 punktów kratowych, a na jego brzegi jest 6 punktów kratowych.

czyli:
\(W = 5\)
\(B = 6\)
Korzystając ze wzoru Picka \(P=5+\frac{1}{2} \cdot 6 -1 = 5+3-1=7\).
Wzór Picka uszczegółowiony do trójkąta kratowego - wierzchołki trójkąta leżą w punktach o współrzędnych całkowitych, nie zmienia swojej postaci, innymi słowy dalej możemy skorzystać ze wzoru:
\[P=W+\frac{B}{2}-1\]
gdzie:
- \(P\) – pole wielokąta,
- \(W\) – liczba punktów kratowych wewnątrz wielokąta,
- \(B\) – liczba punktów kratowych na brzegu wielokąt
Przykład
Weźmy trójkąt prostokątny o wierzchołkach: \((0,0)\), \((0,4)\), \((3,0)\).

Punktów wewnątrz trójkąta jest \(3\)
Punktów na krawędzi jest \(8\).
Podstawiamy do wzoru Picka: \(P=3+\frac{1}{2}\cdot 8-1 = 3+4-1=6\).
Wzór na pole dowolnego trójkąta kratowego
przy pomocy Picka (czyli w postaci zależnej tylko od punktów na bokach)
Rozważmy trójkąt kratowy o wierzchołkach \(A\), \(B\), \(C\) w punktach o współrzędnych całkowitych.
Każdy bok trójkąta jest odcinkiem między dwoma punktami kratowymi. Liczbę punktów kratowych na odcinku między punktami \(A=(x_A, y_A)\), \(B=(x_B,y_B)\) można znaleźć ze wzoru:
\[B_{AB}=gcd(|x_B-x_A|, |y_B-y_A|)+1\], gdzie \(gcd\), to największy wspólny dzielnik.
Czyli liczba punktów na wszystkich bokach trójkata jest równa
\[B=B_{AB}+B_{AB}+B_{BC}+B_{CA}-3\]
Ostateczny wzór Picka dla trójkąta
\[P=W+\frac{1}{2}(gcd(|x_B-x_A|, |y_B-y_A|)+ |x_C-x_B|, |y_C-y_B|) + |x_A-x_C|, |y_A-y_C|))-1\]
| Python | C++ |
|
|
Efekt wykonania kodu programu:
| 0 0 0 3 4 0 Pole trójkąta 6.00 |