Sinopsis despre siguranța vieții: „Cum să eviți să ajungi într-o situație extremă” (clasa 6). Poligon la linie (gestionarea datelor)

Acum luați în considerare problema calculării ariei de intersecție a două poligoane convexe P Și Q . Cu excepția cazului în care se menționează altfel, vom presupune că două poligoane se intersectează nedegenerat: intersecția a două muchii are loc într-un singur punct care nu este un vârf al niciunui poligon. Având în vedere această presupunere despre non-degenerare, obținem întotdeauna că poligonul constă din lanțuri alternante de R Și Q . Fiecare pereche de lanțuri consecutive este conectată la un punct de intersecție unde granițele se intersectează. poligoane P Și Q (Fig. 6.11).

Există mai multe soluții la această problemă cu o dependență liniară a timpului de execuție de numărul total de vârfuri. Algoritmul descris aici este deosebit de elegant și ușor de aplicat. Pentru două poligoane convexe date la intrare P Și Q algoritmul determină fereastra de pe marginea poligonului P o altă fereastră pe marginea poligonului Q . Ideea este

Orez. 6.11. Structura poligonului de intersecție.

în avansarea acestor ferestre de-a lungul limitelor poligonului, dar pe măsură ce se formează poligonul de intersecție: ferestrele se împing unele pe altele de-a lungul graniței poligoanelor lor în sensul acelor de ceasornic pentru a găsi punctele de intersecție ale marginilor. Deoarece punctele de intersecție se găsesc în ordinea în care sunt situate în jurul poligonului, poligonul de intersecție se formează atunci când un punct de intersecție este detectat a doua oară. În caz contrar, dacă nu se găsesc puncte de intersecție după un număr suficient de iterații, atunci granițele poligonului nu se intersectează. În acest caz, este necesar un test simplu suplimentar pentru a vedea dacă un poligon este conținut în altul sau dacă nu se intersectează deloc.

Pentru a explica lucrarea, se dovedește a fi foarte util să introduceți conceptul de seceră. Pe fig. 6.12 cele șase poligoane umbrite vor fi semilună. Fiecare dintre ele este limitat de un lanț preluat din poligon P , și un lanț din poligon Q delimitată de două puncte de intersecție succesive. Lanțul interior al semilunii va fi partea care aparține poligonului de intersecție. Rețineți că poligonul de intersecție este înconjurat de un număr par de semilune, ale căror lanțuri interioare fac parte alternativ din limitele poligoanelor P Și Q .

Orez. 6.12. Seceri care înconjoară poligonul de intersecție.

În ceea ce privește semilunele, algoritmul de căutare a poligonului de intersecție trece prin două faze. În prima fază, fereastra p poligon P si fereastra q poligon Q sunt deplasate în sensul acelor de ceasornic până când sunt instalate pe margini care aparțin simultan aceleiași seceri. Fiecare fereastră își începe mișcarea dintr-o poziție arbitrară. Aici, pentru concizie, vom folosi același simbol p pentru a desemna ca o fereastră poligon P , și margini în această fereastră. Apoi termenul „început p " se va referi la punctul de pornire al marginii în fereastra poligonului P , și comanda „promovați p " va însemna că trebuie să mutați fereastra poligonului P la marginea următoare. La fel, scrisoarea q va fi notat ca fereastra poligonului Q , iar marginea ferestrei. Uneori coaste p Și q vom considera drept margini curente.

În timpul fazei 2 p Și q continuă să se miște în sensul acelor de ceasornic, dar de data aceasta se deplasează la unison de la o seceră la o secera adiacentă. Înainte ca orice fereastră să treacă de la secera actuală la cea adiacentă, marginile p Și q se intersectează în punctul de intersecție care leagă ambele semilune. Poligonul de intersecție este construit în faza a doua. Înainte de fiecare mișcare p punctul final de margine p este introdus în poligonul de intersecție dacă muchia p aparține lanțului intern al secerului curent. La fel, înainte de a se muta q punctul final al marginii este fix q , Dacă q aparține lanțului intern al secerului curent. La fiecare intersecție a muchiilor p Și q punctul de intersecție în care se intersectează este înregistrat în poligonul de intersecție.

Pentru a decide ce fereastră ar trebui să se miște, algoritmul folosește o regulă de mutare. Această regulă se bazează pe următoarele observații: spunem că marginea A îndreptată spre coastă b dacă linia dreaptă infinită definită de muchie b , situat in fata A (Fig. 6.13).

Orez. 6.13. Doar marginile afișate în linii groase sunt direcționate către marginea q, restul nu.

Margine A este recomandat pentru b dacă este îndeplinită una dintre următoarele condiții:

Rețineți că relația corespunde cazului în care unghiul dintre vectori A Și b Mai puțin 180 grade.

Funcţie are ca scop returnează o valoare ADEVĂRAT , dacă și numai dacă marginea A îndreptată spre coastă b . Parametru clasă indică poziția punctului final a.dest relativ la margine b .

Parametru crossType ia valoare COLINIAR , dacă și numai dacă marginile A Și b coliniare.

bool vizează (Edge & A, Edge&b, int aclass, int crossType)
(Punctul2 va = a.dest a.org;
Punctul2 vb = b.dest b.org;
dacă (crossType != COLLINEAR)
(dacă((va.x * vb.y ) >= (vb.x * va.y ))
return (aclass !=
dreapta);
altfel
return(aclass != LEFT);
}
altfel
(întoarce (aclass != BEYOND);
}
}

Dacă coastele A Și b sunt coliniare, apoi marginea A este recomandat pentru b dacă punctul final a.dest nu minte după b . Această împrejurare este folosită pentru a promova A în loc de b când două muchii se intersectează degenerat în mai mult de un punct. Permițând A "a prinde" b , ne asigurăm că niciun punct de intersecție nu este ratat.

Să revenim la discuția despre regulile de mișcare. Sunt formulate astfel încât să nu rateze următorul punct de intersecție. Regulile fac distincție între marginea curentă, care poate conține următorul punct de intersecție, și marginea curentă, care poate să nu conțină următorul punct de intersecție, caz în care fereastra este mișcată destul de sigur. Regulile de mișcare fac distincție între patru situații, prezentate în Fig. 6.14. Aici este o coastă A considerat a fi off-edge b dacă punctul final a.dest situat în stânga b .

Orez. 6.14. Patru reguli pentru deplasare: (a) - avans p ; (b) - avans p ; (c) - avans p , (d) - avans p.

1. p Și q sunt îndreptate unul către celălalt: mută fereastra corespunzătoare marginii respective ( p sau q ) care este în afara celuilalt. În situația din Fig. 6.14 a fereastra de pe margine trebuie mutată R . Următorul punct de intersecție nu se poate întinde p , de la marginea p este în afara poligonului de intersecție.

2. p este recomandat pentru q , Dar q nu vizează p p p nu afară q iar apoi fereastra p transferat. Pe fig. 6.14b nervură p nu poate conține următorul punct de intersecție (deși poate conține un punct de intersecție dacă p nu este în afara q ). Pe fig. arată situaţia în care marginea p , a cărei fereastră urmează să fie mutată, nu este în afara marginii q .

3. q este recomandat pentru p , Dar p nu vizează q : punctul final al muchiei q se intră în poligonul de intersecție dacă q nu în afara p , după care fereastra este mutată q (Fig. 6.14c). Acest caz este simetric cu cel precedent. Pe fig. arată situaţia în care marginea q , a cărei fereastră urmează să fie mutată, se află în afara marginii p .

4. p Și q neîndreptate unul către celălalt: se transferă fereastra care aparține marginii situate în afara celeilalte. Conform fig. 6.14 trebuie să mutați fereastra p , de la marginea p este în afara coastei q .

Funcționarea algoritmului este prezentată în fig. 6.15. Fiecare margine este etichetată i , dacă este procesat în pas i (la unele margini sunt etichetate dublu deoarece sunt procesate de două ori). Cele două margini inițiale au

Orez. 6.15. Găsirea unui poligon de intersecție. Marginea are o etichetă i , dacă este procesat la pasul i . Cele două margini inițiale sunt etichetate 0.

eticheta 0 . În această figură, faza 2 (când două margini de curent aparțin aceleiași seceri) începe după trei iterații. Algoritmul este implementat în program convexPolygonIntersect . Poligoanele sunt transferate în program P Și Q , returnează un pointer către poligonul de intersecție rezultat R . Apel de funcție avans folosit pentru a muta una dintre cele două margini curente și pentru a include punctul final al marginii în poligon R sub rezerva îndeplinirii anumitor condiţii. Utilizează ferestrele care există în interiorul clasei Poligon .

enumerare (NECUNOSCUT, P_IS_INSIDE, Q_IS_INSIDE) ;
Poligon *convexPolygonIntersect (Poligon &P, Poligon &Q)
(Poligon*R;
Punct iPnt , startPnt ;
int inflag = NECUNOSCUT;
int faza = 1;
int maxItns = 2 * (P.size O + Q.size O);
// începutul buclei for
pentru (int i = 1; (i<=maxItns ) || (phase==2); i++ )
(Muchie p = P.muchie();
Edgeq = Q.edge();
int pclass = p.dest.classify(q);
int qclass = q.dest.classify(p);
int crossType = crossingPoint (p , q , iPnt );
dacă (crossType == SKEW_CROSS)
(dacă (fază == 1)
(faza = 2;
R = poligon nou ;
R->insert(ipnt );
startPnt = iPnt ;
}
altfel
dacă (ipnt !=
R->punct())
(dacă (iPnt != startPnt )
R->insert(ipnt );
altfel
întoarce R;
}
dacă (pclass==Dreapta)
inflag = P_IS_INSIDE;
altfel
if(qclass==Dreapta)
inflag = Q_IS_INSIDE;
else inflag = NECUNOSCUT;
}
altfel
if((crossType ==COLLINEAR) &&
(pclass != ÎN SPATE) && (qclass != ÎN SPATE))
inflag = NECUNOSCUT;
bool pAIMSq = targetsAt(p, q, pclass , crossType );
bool qAIMSp = targetsAt(q, p, qclass , crossType );
dacă (pAIMSq && qAIMSp )
(dacă ((inf lag == Q_IS__INSIDE)||
((inflag == NECUNOSCUT)&&(pclass ==STÂNGA)))
avans(P, *R, FALS);
altfel
avans(Q, *R, FALSE);
}
altfel
if(pAIMSq )
(advance(P, *R, inflag == P_IS_INSIDE);
}
altfel
dacă (qAIMSp )
(advance(Q, *R, inflag == Q_IS_INSIDE);
}
altfel
(dacă ((flag == Q_IS_INSIDE)
((inflag == NECUNOSCUT) && (pclass == STÂNGA)))
avans(P, *R, FALS);
altfel
avans(Q, *R, FALSE);
}
}
//
Sfârşit
ciclupentru
dacă (pointInConvexPolygon(P.punct(), Q))
returnează Poligon nou (P);
altfel
dacă (pointlnConvexPolygon(Q.punct(), P))
returnează poligon nou (Q);
returnează un nou poligon;
}

Dacă nu se găsesc puncte de intersecție după iterații, atunci bucla principală se termină, deoarece aceasta înseamnă că limitele poligonului nu se intersectează. Apelurile ulterioare la funcție pointInConvexPolygon produs pentru a detecta situațiile , sau =0. În caz contrar, dacă se găsește un punct de intersecție IPnt , apoi algoritmul continuă construirea poligonului de intersecție R și se oprește numai după punct IPnt va fi regasit.

Variabil umflare indică care dintre cele două poligoane de intrare se află în prezent în interiorul celuilalt - adică indică poligonul a cărui margine curentă se află în lanțul intern al secerului curent. Mai mult, variabila umflare ia valoare NECUNOSCUT (necunoscut) în timpul primei faze și ori de câte ori ambele margini curente sunt coliniare sau se suprapun. Valoarea acestei variabile se modifică de fiecare dată când este găsit un nou punct de intersecție.

Procedură avans avansează marginea poligonului curent A reprezentând fie P , sau Q . Aceeași procedură populează punctul final al marginii X la poligonul de intersecție R , Dacă A se află în interiorul altui poligon și X nu a fost ultimul punct înregistrat în R :

void advance (Polygon2 &A, Polygon2 &R, int interior)
(A.avans(în sensul acelor de ceasornic);
dacă(în interiorul && (R.point() != Un punct()))
R.inserare(A.punct());
}

Analiză și corectitudine.

Dovada corectitudinii arată cele mai importante puncte ale algoritmului - același set de reguli de promovare funcționează în ambele faze. Intră regula în avans p Și q în aceeași secera și apoi se mișcă p Și q la unison de la o secera la alta.

Corectitudinea algoritmului rezultă din două afirmații:

Declarația 2 asigură că algoritmul va găsi un punct de intersecție, dacă există unul. Pentru că coastele p Și q aparțin aceleiași semiluni, dacă se intersectează, atunci Propunerea 1 presupune că celelalte puncte de intersecție vor fi găsite în ordinea cerută.

Să luăm mai întâi în considerare afirmația 1. Să presupunem că p Și q aparţin aceleiaşi seceri şi q ajunge la un punct de intersecție înainte R . Vom arăta asta atunci q rămâne nemișcat până când p nu va ajunge la punctul de intersectie dupa o serie de avansuri succesive. Pot apărea două situații. Să presupunem mai întâi că p este în afara q (Fig. 6.16a). în care q va rămâne fix până la p va avansa conform cu zero sau mai multe aplicații ale regulii 4, apoi zero sau mai multe aplicații ale regulii 1 și apoi zero sau mai multe aplicații ale regulii 2. În a doua situație, să presupunem că p nu în afara q (Fig. 6.16b). Aici q va rămâne fix până la p va avansa cu zero sau mai multe aplicaţii ale regulii 2. Într-o situaţie simetrică, când p ajunge la intersecție înainte q , margine q rămâne fix, iar marginea q înaintează la punctul de întâlnire. Acest lucru poate fi arătat într-un mod similar, doar rolul se schimbă p Și q iar regula 3 înlocuiește regula 2. De aici rezultă afirmația 1.

Pentru a arăta Propoziția 2, să presupunem că limitele P Și Q se intersectează. După iterații, fie p , sau q trebuie să facă o revoluție completă în jurul poligonului lor. Să presupunem că s-a întâmplat asta R . La un moment dat, marginea p trebuie poziționat astfel încât să conțină punctul de intersecție în care poligonul Q trece din afara poligonului P inauntru. Acest lucru se datorează faptului că există cel puțin două puncte de intersecție și direcția intersecției este inversată. Lăsa q va fi o margine în interiorul ferestrei poligonului Q la momentul descoperirii R .

Pe fig. 6.17 limita poligonului Q împărțit în două lanțuri și . Primul lanț se termină la marginea , la acea margine a poligonului Q , care se află în interiorul poligonului P prin coasta lui p . Un alt lanț se termină

Orez. 6.16. Avansați la următorul punct de intersecție.

la o muchie al cărei capăt se află la dreapta dreptei infinite definite de muchie p , și este cel mai îndepărtat de această linie dreaptă. Ar trebui luate în considerare două cazuri, în funcție de care dintre cele două lanțuri îi aparține marginea q :

Cazul 1. Aici p rămâne fix în timp ce q avansează în conformitate cu zero sau mai multe aplicații ale regulii 3, apoi ale regulii 4, apoi ale regulii 1 și, în final, ale regulii 3 când se găsește un punct de intersecție.

Cazul 2. Aici q rămâne fix şi p avansează în conformitate cu zero sau mai multe aplicații ale regulii 2, apoi regulii 4, apoi regula 1 și, în final, regula 2 în momentul în care p va fi înăuntru q . De acum, ambele coaste p Și q poate avansa de mai multe ori, dar marginea q nu poate fi avansat dincolo de următorul său punct de intersecție până când p mai întâi nu ajunge la punctul de intersecție anterior al muchiei q (dacă acest lucru nu s-a întâmplat deja la margine p ). Deoarece p Și q se termină în aceeași semilună, afirmația 1 garantează că după un anumit număr de avansuri suplimentare se intersectează în punctul de intersecție unde se termină semiluna actuală.

Pentru a arăta că există suficiente iterații pentru a găsi un punct de intersecție, observăm că atunci când demonstrăm afirmația 2 (că limita poligonului Q este în interiorul poligonului P peste margine p la o poziţie arbitrară a marginii q ) poziţiile de pornire p Și q au fost realizate atunci când nu s-au efectuat mai mult de iterații. De fapt, o astfel de situație, sau simetrică cu aceasta, în care rolurile p Și q interschimbabil, se realizează într-un număr mai mic de iterații. Pentru că după aceea p , nici q nu va fi avansat cu o viraj complet înainte de a ajunge la primul punct de intersecție, nr mai mult in plus promotii.

Orez. 6.17. O ilustrare a dovezii că se poate găsi un punct de intersecție dacă granițele P și Q se intersectează.

În timpul desenării poligoanelor, poate apărea o situație când avem obiecte în interiorul poligoanelor și există un nou poligon care are o margine cu un alt poligon. Priviți figura de mai jos, noul contur al poligonului este doar evidențiat cu negru.

Pentru a desena poligoane care au o margine sau în care există alte poligoane, există un instrument special.

Trebuie să-l folosim aproape ca în prima imagine pentru a contura conturul și facem dublu clic pentru a finaliza.

După cum puteți vedea, a apărut un nou poligon și toate marginile au fost adăugate automat. La urma urmei, nu am desenat toate granițele. Deși această procedură este foarte asemănătoare cu acoperirea topologică, nu este. Citit "Pasul 3 - Conceptul de topologie". Chenarul pentru două obiecte trebuie să fie unul, dar putem folosi instrumentul pointer

Luați și mutați orice zonă.

Puteți reveni înapoi cu comanda Anula.

Pasul 28 - Decuparea pătratului

De obicei, harta este delimitată de o chenar, iar marginile poligonului trebuie să se potrivească exact cu chenarul hărții. Dacă acționăm ca în ultimul pas, atunci granița noastră nu va fi uniformă. O poți face altfel. Ștergeți tema noastră BASEA.

Și ne vom recrea. În același folder. Singurul lucru pentru ca aceasta să funcționeze este să închideți proiectul după ștergerea temei, salvarea modificărilor și redeschiderea acesteia.

Să folosim instrumentul dreptunghi.

Și desenați un cadru care să acopere întregul desen.

În instrumentele de desen al poligonului, avem unul care ne poate ajuta.

Să-l selectăm și să încercăm să tăiem o bucată.

Vom avea un nou depozit. Doar faceți clic în lateral cu indicatorul pentru a deselecta, apoi faceți clic înapoi.

Pasul 29 - Transparența temei Areal

Desenează ca în ultimul pas este să desenezi la întâmplare. Dar tema zonei are o legendă, așa că putem personaliza afișajul. Mergeți la legendă, faceți dublu clic pe simbol.

Avem patru concepte în legenda zonei. Primul concept este umplerea.

Am ales punctat, astfel încât să puteți vedea imaginea de mai jos prin puncte. Apoi, culoarea pictogramelor din umplere - Prim plan.

Aici am stabilit că nu există fundal. Iar ultimul concept este culoarea chenarului contur.

Totul se poate face clic Bine iar tema de mai jos va străluci prin tema ta.

Pasul 30 - Copierea temei

După ce s-a ocupat de cadrul în ultimul pas, se pune imediat întrebarea. La urma urmei, putem avea multe teme care conțin zone și trebuie să conțină același cadru. Cea mai ușoară cale de ieșire este să folosești capacitatea de a copia subiectul în ArcView. După ce subiectul este creat, puteți utiliza elementul de meniu Convertit.

După selectarea acestui element de meniu, vi se va cere din nou numele noului subiect.

Specificați-l și veți avea exact aceeași temă într-un proiect cu alt nume.

Pasul 31 - Tema de linie

Se adaugă la fel ca și alte subiecte, trebuie selectat doar tipul LINIA.

Lecția 6. Cum să eviți să ajungi într-o situație extremă.

Întrebări educaționale.

1. Pregătirea pentru drumeție.

2. Reguli pentru un comportament sigur în natură.

Ţintă. La sfârșitul studiului temei, elevii ar trebui să aibă o idee despre regulile de bază de comportament în condiții naturale.

Conținutul principal al lecției

Cum să eviți intrarea în situații extreme în condiții naturale? Este recomandabil să luăm în considerare această problemă pe exemplul unei excursii turistice a elevilor (clasa).

Pregătirea pentru o drumeție este un pas important în asigurarea siguranței. Activități pregătitoare: stabilirea scopurilor și obiectivelor călătoriei, elaborarea unui traseu, achiziționarea de alimente, public (corturi, ustensile de gătit) și echipament personal.

Invitați elevii să rezolve cuvântul criptat în rebus (secțiunea 1, capitolul 3, sarcina 7).

Depunerea traseului deplasării la comisia de calificare a traseului, înregistrarea grupului și a traseului în serviciul de căutare și salvare (PSS). Scopul înregistrării.

Respectarea regulilor de comportare în siguranță pe traseu, la oprire, atunci când depășirea obstacolelor este etapa principală în asigurarea siguranței.

Reguli de deplasare a grupului pe traseu. Reguli de siguranță atunci când conduceți pe teren dificil. Reguli de bază pentru o atitudine sigură față de natură pe traseu și la oprire.

Rugați elevii să rezolve ghicitoarea:

Cine, de îndată ce se încinge, Îi trage o haină de blană peste umeri, Și vine frigul rău, O aruncă de pe umeri? (Pădure)

O regulă pentru cei care merg la recunoaștere. Conceptul de „limite de poligon” și repere liniare (drumuri, poieni, graniță forestieră, linii electrice). De ce sunt definite?

Concluzie. Examinați punctele principale și verificați cum este înțeles subiectul.

Întrebări pentru a testa cunoștințele dobândite.

Explicați care este scopul principal al pregătirii atente pentru campanie? De ce liderul grupului are putere absolută în timpul campaniei? De ce liderul grupului raportează traseul drumeției și calendarul acesteia către PSS local? Povestește-ne despre regulile de deplasare a grupului pe traseu. De ce ultimii kilometri din marșul unei zile sunt considerați dificili? Cum ar trebui să tratăm mediul în timp ce conduceți pe traseu și în repaus? Ce sunt „limitele poligonului” și de ce sunt definite?

Teme pentru acasă. Secțiunea 1, capitolul 3, subiectele 3.1 și 3.2.

Sarcini practice.

1. Ghiciți și introduceți corect cuvintele în celule (sarcina 5 la sfârșitul subiectului 3.1.). Din literele din celulele gri, alcătuiește un cuvânt care este foarte necesar într-o excursie.

2. Desenați din memorie o diagramă a traseului dvs. de la casă la școală, de la peronul trenului la dacha sau un alt traseu.

3. În timpul unei excursii la țară, o plimbare în parc, încercați să schițați o mică secțiune a potecii folosind semne topografice. Cereți părinților să verifice corectitudinea sarcinii.

4. Desenați pe diagramă zona celei mai apropiate păduri unde mergeți pentru ciuperci și fructe de pădure. Determinați singuri sau întrebați rezidenții locali despre ce repere liniare este limitat acest site. Determinați direcția lor aproximativă. Mergând în pădure cu părinții tăi, încearcă să mergi la aceste repere. Înainte de aceasta, determinați direcția spre nord, apoi direcția către reperul liniar.

Poly many + gonia angle. 1 .mat. Poligon (închis sau deschis). BAS-1. De asemenea, am vrut amorsele menționate mai sus, cum ar fi modul în care desenează astfel cu un cerc sau un patrulater și pornesc de la ce poligon - extern sau intern. 1712. PBP 12 (1) 99. || Poligon închis și deschis pe sol și pe plan. BAS-1. ♦ Poligonul cetății. Amplasarea fortificațiilor sub formă de poligon. BAS-1. Atacurile din două părți la Azov ar trebui să fie efectuate cât mai curând posibil: primul, real, împotriva ambelor poligoane ale bastionului .. porți de apă și la doc; un alt atac fosforic – de-a lungul râului Don. 1736. Asediul Azovului. // SWIM 3 188. Împotriva celui proiectat, ca să acopere niște mici de piatră, am făcut trei poligoane noi cu raveline. 1737. M. A. Muravyov Zap. // ROA 5 13. Explicaţia planului cetăţii. 1). Două poligoane, care sunt deja aici pentru a întări linia a, b, c, d. 1763. Betskoy App. 13. Conform regulilor prescrise, s-au realizat construcții (compoziții) pentru toate poligoanele regulate de la 4 la 12 laturi. 1777. Kurg. Carte. stiinta militara. 55. A închide puțul principal în poligoane .. semilunare atribuite (demi-lună) și contra-gărzi; flancurile din toate poligoanele terestre sunt protejate de orlioni mari și au cazemate pentru un șanț orizontal de apărare. 1785. Potemkin Boom. 131. În proporție cu aceasta, luați locul de testare a fortificației Sevastopol, care a ieșit cu mult mai puțin de un anumit an. Vauban și Kehorn, căci primul are 150, iar cel din urmă 180 toazes. 1785. Potemkin Boom. 131. Locul cetăţii rămâne acelaşi. Garnizoana corespunde lungimii liniei de forturi. Planul de apărare ar trebui să fie construit pentru a reduce raza de acțiune. Asediul Port Arthur. // Din trecutul militar 319. || Partea cetatii. Poziția cetății Ekaterinburg este din senin: un teren de antrenament la sud, altul la nord, al treilea la est, al patrulea la vest în Munții Urali. din care sunt mici munţi în apropierea ei. 1735. Gennin Descriere. ural. și sib. fabrici. // Uralul cu părul cărunt 340. Rareori se întâmplă ca inamicul să captureze mai mult de o parte a cetății cu atacul său: iar dacă acoperă două și trei laturi ale cetății (adică trei poligoane) cu atacul său, atunci numai să ocupe locul potrivit sub poziţia bateriilor şi împotriva flancurilor bastioanelor atacate va face acest lucru. 1744. Vauban 180. De regulă, în cetățile obișnuite, pentru apărare, fiecare batalion este repartizat pe orice teren de antrenament. Tat. Lex . // T. Aleasă. 230. Această cetate are șase terenuri regulate de antrenament, iar după această proporție, pentru protecție, ar trebui să existe o garnizoană de douăsprezece batalioane, dintre care doar trei. Rumyantsev 2 110. Deși există cetăți cu mai puțin de șase poligoane. 1830. Wessel 227.

2. învechit O clădire cu o bază poligonală. Pavlenkov 1911. Există trei clădiri mari ale Academiei de Științe în special, iar esența de dragul coastei se află într-o astfel de poziție, ca și cum ar fi parte dintr-un poligon poligonal. GS 1801 1 70.

3. Granițele unora teren, luat prin plimbare cu un instrument goniometric. Pavlenkov 1911.

4. O bucată de teren special echipată pentru testarea mijloacelor tehnice de armament, practicarea tragerii de artilerie și pregătirea ramurilor tehnice ale forțelor armate. BAS-1. S-a dus acolo în Africa, când cineva merge la vânătoare, într-o sală de scrimă sau într-un teren de antrenament. Slovo 1879 8 2 136. Învățături în cazarmă și la terenul de antrenament, îmbrăcarea soldaților, curățarea cailor - câte necazuri și griji toate acestea. Obs. 1888 4 1 249. Cu o izbucnire, bubuit și vuiet, izbucnind în tragere, ca o mitralieră la un teren de antrenament.. acest monstru a alergat. Frații Fedin. // F. 3 36. Au inspectat geamanduri .., pregătite pentru gropile de gunoi, au efectuat gropile de gunoi pe mare. O. Kuchkina Vocea cenușii. // Neva 2002 10 7. || ext. Reglementarea tipului și tipului de case, dezvoltarea străzilor, a părților orașului au fost un element de control total al poliției asupra vieții Petersburgilor, care a fost stabilit sub Petru, un predicator devotat al conceptului de stat „obișnuit”. . Petersburg a devenit un adevărat teren de testare pentru implementarea subiecților reeducați forțat. Steaua 2003 5 146.

5. O zonă deschisă cu echipamente pentru fabricarea elementelor de structuri și piese prefabricate. SIS 1985. BAS-1.

6. Depozit de gunoi în afara orașului, într-un loc special amenajat. Bufnițe. Ros. 4. 7. 1987.

7. glumă, colț. Pătrat. Mokienko 2000.

8. arestare. Platz în ITU. Mokienko 2000.

9. Din lexicul jucătorilor din jocurile de rol. Nu depășiți limitele poligonului. Înregistrat în 1999. Mokienko 2000. - Lex. ian. 1806: poligon; SAN 1847: polygo/ n.


Dicționar istoric al galicismelor limbii ruse. - M.: Editura dicționarului ETS http://www.ets.ru/pg/r/dict/gall_dict.htm. Nikolai Ivanovici Epișkin [email protected] . 2010 .

Sinonime:

Vedeți ce este un „poligon” în alte dicționare:

    POLIGON- (greacă, de la polys many, și gonia angle). 1) poligon. 2) un loc din afara orașului unde are loc un exercițiu de artilerie, trăgând din tunuri. 3) în fortificație: o linie care leagă colțurile a două bastioane adiacente. Dicționar de cuvinte străine incluse în ...... Dicționar de cuvinte străine ale limbii ruse

    poligon- autodrom, poligon, kapustin yar, poligon de tragere, pistă de alunecare, platformă, câmp auto Dicționar de sinonime ruse. poligon poligon Dicționar de sinonime ale limbii ruse. Ghid practic. M.: Limba rusă. Z. E. Alexandrova. 2011... Dicţionar de sinonime

    Poligonul 2- Gen Comedie, Parodie, Horror Regizor Pavel Fominenko Producator Pavel Fominenko Scenarist ... Wikipedia

    POLIGON- POLIGON, poligon, soț. (din grecescul poly many și gonia angle). 1. O zonă mare nelocuită care servește drept loc pentru sesiuni experimentale sau de antrenament și exerciții pentru trupe speciale, poligon de tragere (militar). Raza de artilerie. 2. Locația iobagilor ...... Dicționar explicativ al lui Ushakov

    poligon- POLYGON, poligon de tragere... Dicționar-tezaur de sinonime ale vorbirii ruse

    Poligon- - un tip de productie de beton armat situat in aer liber, uneori cu copertina (acoperis); face parte din fabricile de produse din beton sau este o întreprindere independentă. [Dicționar terminologic pentru beton și ...... Enciclopedie de termeni, definiții și explicații ale materialelor de construcție

    POLIGON- (din grecescul polygonos polygonal) o bucată de pământ sau de mare, destinată testării armelor, echipamentelor militare, pregătirii de luptă a trupelor...

    POLIGON- la fel ca poligonul... Dicţionar enciclopedic mare

Utilizare

    Dacă este bifată (neighbor_option setată la IDENTIFY_NEIGHBORS în scripturi), informațiile despre poligonul vecin vor fi stocate pentru fiecare caracteristică de ieșire. După cum se arată mai sus, limitele sunt convertite în linii, luând în considerare intersecțiile și segmentele comune; două câmpuri noi, LEFT_FID și RIGHT_FID, vor fi adăugate la clasa de caracteristici de ieșire și se vor seta la ID-urile caracteristicii poligonului de intrare la stânga și la dreapta fiecărei linii de ieșire. Atributele caracteristicilor de intrare nu vor fi acceptate în clasa de caracteristici de ieșire. Mai jos este o analiză detaliată a procesului în sine și a opțiunilor de ieșire:

    • În geometria poligonului, limita de ieșire este întotdeauna desenată în sensul acelor de ceasornic. Dacă poligonul are o gaură, limita găurii (sau interiorul) este întotdeauna desenată în sens invers acelor de ceasornic. Astfel, pentru un poligon care nu are vecini la stânga (în afara) limitei sale exterioare și la stânga (în interiorul) a graniței sale, liniile rezultate vor fi -1 pentru LEFT_FID și ID-ul caracteristicii poligonului ca RIGHT_FID.
    • Dacă poligonul conține un alt poligon, o singură linie de ieșire va fi creată în sensul acelor de ceasornic reprezentând granița comună, unde LEFT_FID este setat la ID-ul caracteristicii poligonului exterior și RIGHT_FID este setat la ID-ul caracteristicii poligonului interior.
    • Dacă două poligoane împart o parte de graniță, va fi creată o linie de ieșire reprezentând segmentul comun. Direcția liniei va fi arbitrară; LEFT_FID și RIGHT_FID vor fi setate la ID-ul caracteristicilor poligonului din stânga și, respectiv, din dreapta.
    • Dacă un poligon se suprapune cu un alt poligon, vor fi create două linii de ieșire reprezentând fiecare graniță de intersecție de două ori: prima linie va reprezenta limita exterioară a unuia dintre poligoane suprapuse, deci LEFT_FID este ID-ul caracteristicii poligonului pe care îl intersectează și RIGHT_FID va fi acesta. ID propriu de poligon; a doua linie va fi în direcția opusă, împărțind celelalte poligoane, astfel încât LEFT_FID și RIGHT_FID vor fi aceleași cu celelalte ID-uri de caracteristică a poligoanelor.
    • Caracteristicile compuse din poligoane de intrare nu sunt acceptate; toate liniile de ieșire sunt simple.
  • Dacă caseta de selectare Identificați și stocați informații despre poligoane învecinate nesetat (neighbor_option este setat la IGNORE_NEIGHBORS în scripturi), informațiile despre poligonul vecin vor fi ignorate. Fiecare graniță a poligonului de intrare va fi înregistrată ca o linie separată. Poligonul compus va deveni o linie compusă în ieșire. Atributele caracteristicilor de intrare vor fi copiate în clasa de caracteristici de ieșire. Un câmp nou, ORIG_FID, va fi adăugat la ieșire și setat la ID-ul caracteristicii de intrare a fiecărei linii.

    Pentru caracteristicile de intrare curbe parametrice (adevărate), liniile de ieșire vor rămâne curbe adevărate chiar dacă sunt împărțite. Nu se aplică datelor shapefile.

Sintaxă

PolygonToLine_management(in_features, out_feature_class, (neighbor_option))

ParametruExplicaţieTip de date

Caracteristicile de intrare, care trebuie să fie poligoane.

Stratul de caracteristici

out_feature_class

Clasa de caracteristici a liniei de ieșire.

Clasa de caracteristici

(in plus)

Stabilește dacă se identifică și se stochează informații despre poligoane învecinate.

  • IDENTIFY_NEIGHBORS - Informațiile despre poligoane învecinate vor fi păstrate în rezultat. Dacă diferite segmente de poligoane împart o limită cu alte poligoane, limita va fi împărțită astfel încât fiecare segment stocat în mod unic să devină o linie cu două ID-uri de poligoane învecinate stocate în rezultat. Această valoare este utilizată implicit.
  • IGNORE_NEIGHBORS - Informațiile despre poligoane învecinate vor fi ignorate; limita fiecărui poligon va deveni o caracteristică linie cu ID-ul caracteristicii poligonului original stocat în rezultat.
boolean

Exemplu de cod

Poligon în linie. Exemplul 1 (fereastra Python)

Un exemplu de script Python pentru a efectua funcția Polygon To Line, lansat dintr-o fereastră Python în ArcGIS.

import arcpy din arcpy import env env . spațiu de lucru = "C:/data" arcpy . PolygonToLine_management( „Habitat_Analysis.gdb/vegtype”, „C:/output/Output.gdb/vegtype_lines”, „IGNORE_NEIGHBORS” )

Poligon în linie. Exemplul 2 (script autonom)

Un exemplu de script Python pentru a efectua offline funcția Polygon To Line.

# Nume: PolygonToLine_Example2.py # Descriere: Utilizați funcția PolygonToLine pentru a converti poligoane în linii, # și raportați câte linii de delimitare partajate sau care se suprapun# au fost găsite. # # import module de sistem import arcpy din arcpy import env # Setați setările de mediu env . spațiu de lucru = „C:/data/landcovers.gdb” # Creați variabile pentru clasele de caracteristici de intrare și ieșire inFeatureClass = "bldgs" outFeatureClass = "bldgs_lines" # Utilizați captarea erorilor în cazul în care apare o problemă la rularea instrumentuluiîncerca : # Rulați PolygonToLine pentru a converti poligoane în linii folosind opțiunea implicită vecină arcpy. PolygonToLine_management(inFeatureClass, outFeatureClass) # Selectați liniile care au valori LEFT_FID mai mari decât -1 arcpy. MakeFeatureLayer_management (outFeatureClass , "selection_lyr" , " \" LEFT_FID \" > -1" ) rezultat = arcpy . GetCount_management("selection_lyr" ) if (rezultat . getOutput (0 ) == "0" ): print „Nu au fost găsite linii de delimitare suprapuse sau comune.” else: imprimare rezultat. getOutput (0 ) + " au fost găsite linii de delimitare suprapuse sau partajate." cu excepția excepției, e: # Dacă a apărut o eroare, tipăriți numărul liniei și mesajul de eroare import traceback , sys tb = sys . exc_info ()[ 2 ] print "Linia %i " % tb . tb_lineno print e . mesaj