- Determinarea dreptunghiului de arie minim care contine în interior poligonul; Calculezi xMin xMax yMin yMax pt toate punctele, dreptunghiul e ABCD
A(xMin,yMin) B(xMax,yMin) C(xMax,yMax) D(xMin,yMax)
- Determinarea ariei poligonului (convex); Mai intai determini centrul de greutate:
xg = (x1+ .... +xn) / n
yg = (y1+ .... +yn) / n
daca unesti varfurile (n) poligonului cu centrul de greutate o sa obtii n-1 triunghiuri
A = A1+A2+...+An-1
unde Ai = hi*Li / 2
unde hi e distanta de la centrul de greutate G(xg,yg) la dreapta care trece prin Vi(xi,yi) si Vj(xj,yj) , j= i+1
Li e distanta dintre Vi si Vj , j=i+1 , Li = sqrt((xi-xj)(xi-xj)+(yi-yj)(yi-yj))
- Determinarea perimetrului poligonului;Pn = L1+L2+...+Ln-1 , unde Li ai vazut mai sus cum se calculeaza
- Determinarea centrului de greutate; ai vazut mai sus cum se calculeaza si a mai postat deja cineva asta
- Determinarea daca poligonul este convex; Asta e mai "complicat" . iti alegi un sens de parcurgere a varfurilor si pentru fiecare semiplan creat de doua varfuri consecutive , celelete varfuri trebui sa faca parte din acelasi semiplan.
adica pt semiplanele:
Si dat de dreapta di(Vi Vj) si punctul Vk , j=i+1 ,k=i+2 , include toate Vx , x=1..n , x != i,i+1,i+2
coditia de apartenenta la acelasi semiplan e data de:
fie y(x) = yi+m(x-xi) ecuatia dreptei d(Vi,Vj),
un punct Vx apartine semiplanului dat de dreapta d si punctul Vk(xk,yk) daca f(xk) * f(xx) >0 (adica daca au acelasi semn) . Egalitatea cu 0 arata ca punctul Vx e pe dreapta d.
Poate te ajuta pe tine sau pe altcineva (IMG:
style_emoticons/default/smile.gif)
Eu caut solutie la o problema de vizibilitate in interiorul unui poligon ne-convex si / sau intersectii de poligoane neconvexe , daca-mi poate da cineva un hint m-as bucura : )
peace and love,
bluehipy