|
|
(Není zobrazeno 17 mezilehlých verzí od stejného uživatele.) |
Řádek 2: |
Řádek 2: |
| {{toc|right}} | | {{toc|right}} |
|
| |
|
| == Výpočet směrníku ==
| | * [http://peso.fsv.cvut.cz/vyuka/git1/3.html Transformace ve 2D] |
| | * [http://peso.fsv.cvut.cz/vyuka/git1/4.html Práce se seznamem souřadnic] |
| | * Polární metoda (rozšíření příkladu ze 2.cvičení): |
|
| |
|
| K dispozici je textový soubor seznamu souřadnic [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/body.txt body.txt] ve formátu:
| | Na stanovisku '''4001''' byly zaměřeny vodorovné úhly a vodorovné vzdálenosti na podrobné body. Vodorovné úhly byly měřeny od směru na bod '''4002'''. Vypočtěte souřadnice podrobných bodů v rovině. Souřadnice bodů '''4001''' a '''4002''' jsou: |
| cislo_bodu Y X
| | <center> |
| Vypočítejte směrníky všech bodů ze stanoviska o souřadnicích (''730288.89'', ''1054582.63''). Směrníky udejte v grádové míře. Postup výpočtu zapište do souboru ''smernik.m''.
| | {| class="border" |
| | ! bod !! X [m] !! Y [m] |
| | |- |
| | | 4001 || 1000.00 || 500.00 |
| | |- |
| | | 4002 || 1552.84 || 593.23 |
| | |} |
| | </center> |
| | Měřené hodnoty ze stanoviska '''4001''' na podrobné body jsou uloženy v textovém souboru [http://athena.fsv.cvut.cz:8000/GIT1/cv4/mereni.txt ''mereni.txt'']. Hodnoty na řádku udávají postupně číslo podrobného bodu, vodorovný úhel (v gonech) a vodorovnou délku (v metrech). |
|
| |
|
| * Směrníky převeďte do intervalu <0; 400> gon.
| | Ze zjištěných souřadnic podrobných bodů kontrolně vypočtěte směrníky ze stanoviska '''4001''' na všechny podrobné body (musí být shodné jako směrníky použité pro výpočet souřadnic). |
| * Do výstupního souboru ''body_vystup.txt'' zapište na každý řádek:
| |
| cislo_bodu Y X smernik
| |
|
| |
|
| | | Výsledky uložte do textového souboru ''rajon.txt''. Hodnoty na řádku budou udávat postupně číslo bodu, souřadnici X a souřadnici Y (čísla bodů uveďte jako celá čísla, souřadnice na centimetry). |
| == Hvězdy 1 ==
| | <!-- --> |
| | |
| K dispozici je textový soubor [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/stars1.txt stars1.txt] ve formátu:
| |
| cislo_jevu zenitova_vzdalenost[gon] cas_jevu[hod min]
| |
| Soubor obsahuje v řádcích zenitové vzdálenosti poloh hvězd a časy, kdy tyto pozice hvězd v daný den nastanou (např. se může jednat o polohu, kdy je hvězda v daný den nejvýše nad obzorem apod.). Data ze souboru načtěte a určete:
| |
| | |
| * které z jevů nastanou v noci;
| |
| * které z jevů nastanou ve dne;
| |
| * které z jevů budou pozorovatelné (pozorovatelné jevy hvězd jsou takové, které jsou nad obzorem a nastanou v noci).
| |
| | |
| Uvažujte, že den začíná v 6 hodin a končí v 18 hodin.
| |
| | |
| Jevy, které vyhovují zadané podmínce, vždy vypište na standardní výstup (Command Window).
| |
| | |
| | |
| == Hvězdy 2 ==
| |
| | |
| K dispozici je textový soubor [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/stars2.txt stars2.txt] ve formátu:
| |
| cislo_jevu zenitova_vzdalenost[gon] cas_jevu[hod min] zacatek_dne[hod min] konec_dne[hod min]
| |
| Soubor obsahuje v řádcích zenitové vzdálenosti poloh hvězd, časy, kdy tyto pozice hvězd v daný den nastanou (např. se může jednat o polohu, kdy je hvězda v daný den nejvýše nad obzorem apod.) a časy začátku dne [hod min] a konce dne [hod min] pro datum příslušného jevu. Data ze souboru načtěte a určete:
| |
| | |
| * které z jevů nastanou v noci;
| |
| * které z jevů nastanou ve dne;
| |
| * které z jevů budou pozorovatelné (pozorovatelné jevy hvězd jsou takové, které jsou nad obzorem a nastanou v noci).
| |
| | |
| Jevy, které vyhovují zadané podmínce, vždy vypište na standardní výstup (Command Window). Ukázka formátu výstupu:
| |
| jevy v noci: 2 4 (atd.)
| |
| jevy ve dne: 1 3 (atd.)
| |
| pozorovatelne jevy: 4 5 (atd.)
| |
| | |
| Pozn.: Každý jev je uvažován pro jiné datum, proto jsou v datech ke každému jevu uvedeny jiné začátky a konce dne pro příslušné datum.
| |
| | |
| | |
| == Úhly 1 ==
| |
| | |
| Zadán je textový soubor [ftp://athena.fsv.cvut.cz/ZFG/GIT1/uhly1.txt uhly1.txt] <!--[http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/uhly1.txt uhly1.txt]--> obsahující hodnoty úhlů v následujícím formátu:
| |
| cislo_uhlu hodnota_uhlu[°]
| |
| Data ze souboru načtěte a proveďte následující úpravy:
| |
| * Převeďte všechny hodnoty úhlů do základního intervalu <0°,360°). Uvažte, že tento proces je někdy nutno opakovat i vícekrát.
| |
| * Zjistěte, o kolik period se původní hodnota daného úhlu lišila od základního intervalu (tj. kolikrát bylo potřeba úhel periodicky do základního intervalu převést). Počet period určete v následujícím smyslu:
| |
| ** byl-li původní úhel již v základním intervalu, počet period je roven 0;
| |
| ** byl-li původní úhel větší, než je rozsah základního intervalu, počet period bude kladné číslo;
| |
| ** byl-li původní úhel menší, než je rozsah základního intervalu, počet period bude záporné číslo.
| |
| * Do výstupního souboru ''zakladniperioda1.txt'' zapište výsledky ve formátu:
| |
| cislo_uhlu prevedena_hodnota_uhlu[°] pocet_period
| |
| | |
| Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny ve stupních na 4 desetinná místa.
| |
| | |
| | |
| == Úhly 2 ==
| |
| | |
| Zadán je textový soubor [ftp://athena.fsv.cvut.cz/ZFG/GIT1/uhly2.txt uhly2.txt] <!--[http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/uhly2.txt uhly2.txt]--> obsahující hodnoty úhlů ve formátu:
| |
| cislo_uhlu hodnota_uhlu[° nebo gon] kod_jednotek
| |
| kde kód jednotek má následující význam:
| |
| * kod_jednotek = 1 pro úhel ve stupních;
| |
| * kod_jednotek = 2 pro úhel v grádech.
| |
| | |
| Data ze souboru načtěte a proveďte následující úpravy:
| |
| * Převeďte všechny hodnoty úhlů do základního intervalu <0°,360°) nebo <0,400) gon podle toho, ve které úhlové míře je daný úhel vyjádřen. Uvažte, že tento proces je někdy nutno opakovat i vícekrát.
| |
| * Ke každému úhlu zjistěte, ve kterém je kvadrantu (1, 2, 3 nebo 4).
| |
| * Do výstupního souboru ''zakladniperioda2.txt'' vypište setříděně nejprve všechny úhly, které byly zadány ve stupňové míře, následně zbylé úhly, které byly zadány v grádech; výsledky uveďte ve formátu:
| |
| cislo_uhlu prevedena_hodnota_uhlu[° nebo gon] kod_jednotek kvadrant
| |
| | |
| Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny v příslušných jednotkách na 3 desetinná místa.
| |
| | |
| | |
| == Souřadnice ==
| |
| (bude doplněno)
| |
| | |
| | |
| == Výpočet výměr ==
| |
| | |
| K dispozici je textový soubor seznamu souřadnic [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/body.txt body.txt] ve formátu:
| |
| cislo_bodu y x
| |
| Vypočítejte výměru parcely ohraničené body seznamu. Postup výpočtu zapište do souboru ''vymera.m''.
| |
| | |
| Pozn.: Pro výpočet lze použít L´Huillierovy vzorce, viz {{wikipedia| Výpočet plochy pomocí L´Huillierových vzorců}}
| |
| | |
| <math> | |
| P = \sum\limits_{i=1}^N \frac{x_i(y_{i+1} - y_{i-1})}{2}
| |
| </math>
| |
| | |
| nebo:
| |
| | |
| <math>
| |
| P = \sum\limits_{i=1}^N \frac{y_i(x_{i-1} - x_{i+1})}{2}
| |
| </math>
| |
| | |
| kde <math>N</math> je počet vrcholů plochy (pro <math>i=1</math> je <math>y_{i-1} = y_N</math> a pro <math>i=N</math> je <math>y_{i+1} = y_1</math>; analogicky pro <math>x</math>).
| |
| | |
| Pozn.: Pro výpočet výměry musejí být lomové body parcely seřazeny za sebou po obvodu parcely (jinak vyjde výměra špatně), a to správným směrem (jinak vyjde výměra záporně). V podkladových souborech ''body.txt'' a ''body2.txt'' jsou body seřazeny správně.
| |
| | |
| [[Image:Body.svg|center]]
| |
| | |
| Dále proveďte:
| |
| | |
| # Vypočtenou výměru ve skriptu zaokrouhlete na celé metry čtvereční a vypište na obrazovku.
| |
| # Ověřte správnost postupu výpočtu výměr - vytvořte nový datový soubor s několika málo body, které budou ohraničovat oblast, jejíž výměra je evidentní (např. čtverec: 0 0, 0 1, 1 1, 1 0).
| |
| # Doplňte do skriptu test na nedostatečný počet vstupních bodů (pokud počet bodů bude menší než 3, skript vypíše příslušné upozornění a skončí).
| |
| | |
| Jako rozšíření úlohy lze volitelně provést další výpočet (postup uložte do souboru ''vymery.m'').
| |
| | |
| K dispozici je textový soubor [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/body2.txt body2.txt], který obsahuje parcelní čísla a souřadnice lomových bodů několika parcel.
| |
| | |
| Formát souboru je následující:
| |
| | |
| <pre>
| |
| čp1 % parcelní číslo
| |
| čb1 y1 x1 % číslo bodu, souřadnice y, x 1.bodu
| |
| čb2 y2 x2
| |
| ...
| |
| čbN yN xN
| |
| prázdný řádek
| |
| další parcela, nebo konec souboru
| |
| </pre>
| |
| | |
| Pro představu je k dispozici [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/nacrt.pdf náčrt] (ve formátu pdf, orientace os S-JTSK).
| |
|
| |
| Vypočítejte výměry všech parcel a zapište je do textového souboru ''vymery.txt'' ve formátu:
| |
| | |
| <pre>
| |
| čp1 výměra1
| |
| čp2 výměra2
| |
| ...
| |
| celková výměra
| |
| </pre>
| |
| | |
| Pozn.: Výměry zapište do souboru zaokrouhlené na celé metry čtvereční.
| |
| | |
| Pro kontrolu výpočtu je k dispozici protokol o hromadném výpočtu výměr vytvořený v programu Kokeš: [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/vymeryKokes.txt vymeryKokes.txt].
| |