veřejná knihovna tříd a funkcí spatfig a její aplikace

Transkript

veřejná knihovna tříd a funkcí spatfig a její aplikace
VEŘEJNÁ KNIHOVNA TŘÍD A FUNKCÍ SPATFIG A JEJÍ
APLIKACE
PUBLIC LIBRARY OF CLASSES AND FUNCTIONS SPATFIG AND ITS
APPLICATION
Bronislav Koska, Ing., ČVUT, FSv, K154 - Katedra speciální geodézie,
Thákurova 7, Praha 6 - Dejvice, 166 29, [email protected]
Abstract
The library of classes SPATFIG (Spatial Figure) is presented in this paper. The main
function of SPATFIG is fitting of primitives in 3D space (2D primitives: straight line, plane,
circle; 3D: sphere, cone, cylinder ...) by the least square method (LMS). There are solved
estimations of standard deviations of adjusted variables and their covariant matrix and there
are considered the covariant matrix of measuring.
In the paper are also presented reasons for producing this library, there is
described the method of adjustment and specific method of approximate solution computing,
there is also presented realization and possibilities of SPATFIG implementation in CAD
systems and at last there is described programming solution of this library (in C++).
Key words
Spatial (prostorový), figure (útvar), fitting (prokládání), primitive (geometrické
primitivum), adjustment (vyrovnání), least square method (metoda nejmenších čtverců), cone
(kužel), cylinder (válec).
1
ÚVOD
V příspěvku je představena knihovna tříd SPATFIG (Spatial Figure - prostorový útvar).
Jedná se o knihovnu tříd a funkcí zabezpečujících prokládání geometrických primitiv v
prostoru (2D primitiva: přímka, rovina, kružnice; 3D: koule, válec, jehlan, ...) podle MNČ. V
knihovně jsou řešeny odhady středních chyb vyrovnaných neznámých koeficientů, jejich
kovarianční matice a jsou uvažovány případné kovarianční matice měření. V anglické
literatuře je tato problematika nazývána „fitting of primitives“.
V příspěvku jsou dále uvedeny důvody k vzniku této knihovny, je popsán způsob
vyrovnání a specifický způsob výpočtu přibližných řešení, jsou prezentovány realizace a
možnosti využití implementace knihovny v CAD systémech a je popsáno programové řešení
knihovny (C++).
1
Jméno a příjmení, titul, škola, fakulta, katedra, adresa školy, spojení (e-mail)
2
IMPLEMENTOVANÁ GEOMETRICKÁ PRIMITIVA
Jedním ze základních rámců projektu je rozhodnutí, která primitiva bude knihovna
obsahovat. Pro první verzi bylo rozhodnuto implementovat primitiva v souladu
s profesionálním uživatelským softwarem 3Dipsos. Tento software je vyvíjen firmou Mensi a
ta v současné době patří pod společnost Trimble. V software 3Dipsos jsou geometrická
primitiva nazývána „constructed entities“ („EC“). Jedná se o tato primitiva:
2D: Straight line (přímka), Circle (kružnice), Ellipse (elipsa), Plane (vertical,
horizontal ...) (rovina (vertikální, horizontální)).
3D: Sphere (with known radius ...) (koule (se známým poloměrem)), Cylinder
(válec), Circular torus (kružnicový torus), Rectangular torus (pravoúhlý torus), Cone (kužel),
Eccentric cone (excentrický kužel), Ellipsoid of revolution (rotační elipsoid), Box (kvádr),
Pyramid (pyramida), Bounding box (ohraničený kvádr), Bounding cylinder (ohraničený
válec).
Primitiva mohou být vázána různými podmínkami. V době psaní článku byla
implementována tučně vypsaná primitiva. Aktuální stav knihovny bude prezentován v rámci
prezentace na konferenci.
3
DŮVODY PRO VYTVOŘENÍ KNIHOVNY SPATFIG
Je to základní složka software k vyhodnocení mračna bodů při zpravování geometricky
definovatelných ploch a objektů (druhou základní složkou je vytváření trojúhelníkových sítí
na geometricky nedefinovaných plochách).
Není dostupná žádná free software alternativa.
Nedávno zakoupený profesionální software 3Dipsos neprovádí rozbory přesnosti,
nepracuje s kovarianční maticí měření a není u něj znám algoritmus výpočtu.
Skupiny pracující s oblasti 3D skenování často tyto funkce, včetně rozborů přesností,
potřebují k vyhodnocení experimentů.
V systému LORS (laserový a optický rotační 3D skener více v [1]) může nahradit
komplexnějším způsobem výpočetní sešity z prostředí MathCad, které sloužily pro výpočet
konfiguračních parametrů systému (laserová rovina, parametry točny) více v [2].
4
MATEMATICKÉ ŘEŠENÍ KNIHOVNY SPATFIG
4.1 Vyrovnání
Při řešení konfiguračních parametrů systému LORS bylo použito přímé řešení pomocí
tzv. „vyrovnání měření podmínkových s neznámými“ (počet normálních rovnic = počet
všech rovnic (počet bodů) + počet určovaných neznámých). Toto řešení bylo dostačující pro
konfiguraci systému, protože pro určení roviny bylo používáno 10-30 bodů a pro určení
točny (vyrovnání kružnice v prostoru) 5-10 bodů.
Pro proložení geometrického primitiva až tisíci bodů nebyl tento způsob vhodný a
proto bylo vyrovnání nahrazeno tzv. „vyrovnáním měření zprostředkujících s podmínkami
pro neznámé“ (počet normálních rovnic = počet určovaných neznámých + počet doplňujících
podmínek) s úpravou na ekvivalentní rovnice oprav (tzv. fingovaná měření). Toto řešení je
v teorii vyrovnávacího počtu známo jako tzv. „regresní analýza“. Více informací v [3].
4.2 Problematika vhodného obecného popisu geometrického primitiva
Pro popis jednotlivých primitiv byly použity obecné tvary rovnic známé z analytické
geometrie v prostoru.
U ploch druhého stupně je zamýšleno použití rovnic v tzv. „standardním tvaru“
doplněných o koeficienty prostorové transformace nebo o souřadnice středu primitiva a
vektory definující jeho určující osy.
4.3 Problematika určení přibližných hodnot hledaných koeficientů
V případě prokládání primitiv mračnem bodů je určení přibližných hodnot koeficientů
primitiv trochu nezvyklou záležitostí. Problémem je, že každý odhad může být velmi
nepřesný a proto se jednotlivé odhady mohou velmi lišit. To je způsobeno například velkou
hustotou a relativně malou přesností (např. střední chyba měřené délky je srovnatelná
s krokem skeneru).
Proto je nejprve náhodně vybrán velký počet kombinací nutného počtu bodů. Pro
každou kombinaci je případně testována vhodnost konfigurace (například u roviny je
ošetřeno, aby trojice určujících bodů neležela na jedné přímce ani blízko ní). A následně jsou
vyloučeny odlehlé odhady přibližných hodnot, u kterých je předpokládáno normální
rozdělení.
U některých složitějších primitiv je výpočet přibližných hodnot řešen numericky.
5
DALŠÍ VYUŽITÍ KNIHOVNY SPATFIG
Kromě samostatného využívání knihovny je možné implementovat SPATFIG do
libovolného CAD systému například pomocí knihoven „dll“ (dynamic link library).
Tím je možno využít již desítky let vyvíjené pracovní prostředí nejrozšířenějších CAD
systémů jako je AutoCad a Microstation. Důkazem tohoto trendu je produkt CloudWorx
firmy Leica, který je implementací softwaru Cyclone pro Microstation a AutoCad (Cyclone
je původní software pro vyhodnocení mračna bodů firmy Leica).
Byla provedena implementace stávající verze knihovny SPATFIG do systému
Microstation V8 s využitím programovacího jazyka VBA a dll knihoven viz. Obr. 1).
Obr. 1)
6
Implementace SPATFIG do Microstation
PROGRAMOVÉ ŘEŠENÍ KNIHOVNY SPATFIG
Knihovna je napsána v jazyce C++ (První verze knihovny byla vytvořena v rámci
doktorandského předmětu „Objektové programování v C++“ a v rámci grantu IGS ČVUT
2004).
SPATFIG využívá knihovnu tříd „gmatvec“. Z toho důvodu by měla být také šířena pod
veřejnou licencí GNU GPL.
7
ZÁVĚR
Byla představena vyvíjená knihovna tříd a funkcí SPATFIG, která je určena k
prokládání geometrických primitiv v prostoru (2D: přímka, rovina, kružnice; 3D: koule,
válec, jehlan, ...) podle MNČ. Prokládání primitiv je zkladní funkcí pro zpracování mračna
bodů. V knihovně jsou řešeny odhady středních chyb vyrovnaných neznámých koeficientů,
jejich kovarianční matice a jsou uvažovány případné kovarianční matice měření.
V příspěvku jsou dále uvedeny důvody k vzniku této knihovny, je popsáno matematické
řešení knihovny (vyrovnání, výpočet přibližných hodnot koeficientů), jsou prezentovány
možnosti využití implementace knihovny v CAD systémech a je popsáno programové řešení
knihovny.
Je zamýšlen další rozvoj této knihovny v rámci mé disertační práce a případné zapojení
diplomantů. Kromě účasti dalších řešitelů v rámci ČVUT je možné a vítané i zapojení
řešitelů z jiných pracovišť.
Literatura
[1] KOSKA, B. - KAŠPAR, M. - POSPÍŠIL, J. - ŠTRONER, M. - KŘEMEN, T.:
Development of Rotation Scanner, Testing of Laser Scanners. Konference INGEO
2004, Bratislava.
[2] KOSKA, B. - ŠTRONER, M. - POSPÍŠIL, J.: Algoritmus určování rovnice obecné
roviny pro laserové skenování včetně rozborů přesnosti.In: Stavební obzor. 2004, roč.
13, č. 2, s. 55-60. ISSN 1210-4027.
[3] HAMPACHER, M. - RADOUCH, V. : Teorie chyb a vyrovnávací počet 20. Praha:
ČVUT, 1997. 140 s. ISBN 80-01-01703-6.
Recenzoval
Ing. Martin Štroner, Ph.D., ČVUT, FSv, K154 - Katedra speciální geodézie, Thákurova 7,
Praha 6 - Dejvice, 166 29, odborný asistent, [email protected]

Podobné dokumenty

Rozbor přesnosti před měřením modelováním

Rozbor přesnosti před měřením modelováním Martin Štroner, Jitka Suchá, 10.2007 V případě, že výpočet zpracovávané úlohy se bude řešit vyrovnáním MNČ, je nutné rozbor přesnosti před měřením provádět vytvořením modelu. Stejně jako při rozbor...

Více

Možnosti využití technologie laserového skenování k dokumentaci

Možnosti využití technologie laserového skenování k dokumentaci obrazové korelaci. Autoři příspěvku mají k dispozici software PhotoModeler Scanner (na trhu od 2008), který je funkčním rozšířením zavedeného softwaru pro průsekovou fotogrammetrii. V současné době...

Více

Veřejná knihovna tříd a funkcí SPATFIG k ortogonálnímu prokládání

Veřejná knihovna tříd a funkcí SPATFIG k ortogonálnímu prokládání LSS LORS (laserový a optický rotační skener, viz. [ 27]), kde bylo nutné při konfiguraci systému řešit OP roviny laseru a dále kružnice ve 3D při určování osy točny. Vzhledem k zaměření autora přís...

Více

Optoelektronické metody 3D zaměření povrchů předmětů

Optoelektronické metody 3D zaměření povrchů předmětů V předkládané studii je přiblížena druhá uváděná skupina nástrojů, tedy problematika prokládání geometrických útvarů množinou bodů v souladu s metodou nejmenších čtverců. Znalost a programové zprac...

Více

ZDE - Katedra speciální geodézie

ZDE - Katedra speciální geodézie Mapovánı́ jihlavského podzemı́ V návaznosti na práce v podzemı́ štoly Josef je možnost provést užitečné měřické práce v historickém podzemı́ města Jihlavy. Jedná se o kompletnı́ zp...

Více

PowerLeap PL-370/T (Rev.2), Návod pro Rychlý Start

PowerLeap PL-370/T (Rev.2), Návod pro Rychlý Start používáte Intel Box CPU a jeho chladič, nahraďte, prosím, úchytku Intelu za specializovanou úchytku PowerLeap, která je součástí dodávky; poté opatrně připojte napájecí kabel, zapněte počítač a upg...

Více