Documente Academic
Documente Profesional
Documente Cultură
pentru j=1,n si j<>i
{med(i,j) =calculeaza_mediatoarea_segementului(Pi,Pj);
}
Pas 1 CS
Pas 2 Pentru toate punctele P IS
Pentru toate punctele p j ∈ S , p j ≠ p i
Pentru toate punctele pk ∈ S , PK ≠ p j , p k ≠ pi
Pentru toate punctele p ∈ S , p ≠ pi , p ≠ p j , p≠ pk
C
If p∈ ∆ p i p j pk thenC ← .
{P }
PAS1 Initializare. La sfirsitul listei de virfuri dupa P N se adauga virful virtual P N+1 =P 1.Se
construieste poligonul Q( NUCLEUL INITIAL) conform uneia din metodele cunoscute. i← 1.
PAS2 Procesarea laturii I . Fie Q=(q 1 , q 2 , … , q k) pentru dreapta l ce contine latura i a poligonului P
definite de virfurile ¿) se determina punctele de intersectie cu poligonul Q precum si laturile
intersectate ( q j , q j+1 ) si ( q k , qk +1) .
a) Se formeaza poligoanele Q1=( d 1 , q j+1 , … , qk , d 2 ) si Q2=( d 2 , qk +1 , … , q n , q 1 , … , q j , d1 ) .
→
b) Se determina Q ∈ { Q1 , Q2 } care se afla in dreapta vectorului ( pi p i+1)
¿
c) Q ←Q ¿
PAS 3 If i<N then begin i↑ goto pas 2 end else STOP.
Q este nucleul.
pn+ 1 ← p 1
n3 ← det(O , Pi , Pi +1)
n 4 ← det (Q , P i , Pi+1 )
Pas 1 m← 0
Pas 2 for i de la 1 la n do
For j de la i+1 to n do
Begin
m↑
Muchie[m].l←distant(p[i],p[j])
Muchie[m].st←p[i]
Muchie[m].fin ←p[j]
End;
Pas 3 qsort(muchie,m);
Pas 4 k←0
Pas 5 for I de la 1 la m do
Begin
z←false
for j←1 to k do
k↑; Triang[k]←Muchie[i]
End.
Pas 1 m←0
Muchie[m].l←distant(p[i],p[j])
Muchie[m].st←p[i]
Muchie[m].fin ←p[j]
End;
Pas 3 qsort(muchie,m);
Pas 4 for i←1 to n-1 do begin
Triang[i].st←p[i]
Triang[i].fin←p[i+1]; end;
Triang[n].st←p[n]
Triang[n].fin←p[1]
k←n
Begin
Z←false
x,y←middle(muchie[i])
end;end;end.
Procedure apr2p(S,X,Y)
For i←1 to |Y ∎| do
For ←1 to 8 do