Obsah

1. Vzory Čiar na Ihrisku

sk.fiit.jim.agent.models.LinePatternRecognition

Obrázok1: Vzory čiar na ihrisku


LinePatternRecognition

Typ triedy: public abstract

Trieda zoskupuje funkcie na rozpoznávanie vzorov na ihrisku.

isIntersection (ešte neimplementované)

Typ: public static

Návratová hodnota: boolean

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2

Funkcia zistí, či čiary predané ako parametre majú spoločný priesečník (T alebo +).

squareDistance

Typ: private static

Návratová hodnota: double

Parametre:
Vector3D a
Vector3D b

Vypočíta druhú mocninu vzdialenosti medzi bodmi.

isSamePoint

Typ: public static

Návratová hodnota: boolean

Parametre:
Vector3D a
Vector3D b

Zistí, či by body predané ako parameter mohli reprezentovať jeden bod. Najskôr sa vypočíta maximálna možná vzdialenosť od jedného bodu, do akej by sa mal nachádzať druhý bod, aby bolo možné povedať, že sa jedná o jeden a ten istý bod. Maximálna vzdialenosť je vzdialenosť medzi bodom a tým istým bodom otočeným o 4 stupne v oboch smeroch (horizontálne aj vertikálne), t.j. medzi bodom a = (r, phi, theta) a‘ = (r, phi + 4°, theta + 4°). 4° je maximálny možný rozdiel medzi bodmi (šum je z intervalu ).

haveSamePoint

Typ: public static

Návratová hodnota: byte

Parametre:
Vector3D point
ParsedLineWithFlags line

Vzor: „Vlajka a čiara“

Zistí, ktorý z bodov čiary môže byť totožný z bodom predaným ako argument.

Vráti:

V prípade, ak oba body sa nachádzajú v tolerovanej vzdialenosti šumu, za totožný bod sa považuje bod čiary, ktorý je bližšie k danému bodu.
Bod čiary musí byť koncovým bodom danej čiary.

haveSamePoint

Typ: public static

Návratová hodnota: byte

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2

Funkcia zistí, či dve čiary majú spoločný bod.

Vráti:

isCorner

Typ: public static

Návratová hodnota: byte

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2

Vzor:„roh“
Funkcia zistí, či čiary predané ako parametre predstavujú roh.

Vráti:

areCircleLines

Typ: public static

Návratová hodnota: byte

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2

Vzor:„časť kruhu“
Funkcia zistí, či čiary predané ako parametre predstavujú roh.

Vráti:

Poznámka:ak dve čiary majú spoločný koncový bod – môže sa jednať buď o roh alebo o časť kruhu. Pri rohu zvierajú čiary 90° uhol, pri časti kruhu to je 144°, ak je uhol menší ako 117° (v polovici medzi 90 a 144) → jedná sa o roh, inak ak je väčší ako 117° jedná sa o časť kruhu. 27° rozdiel je tolerancia spôsobená zašumením informácii o čiarach.

isT

(ešte neimplementované)

Typ: public static

Návratová hodnota: byte

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2

Vzor: „T“
Zistí, či je medzi čiarami „T“ priesečník.

Vracia:

isPlus

(ešte neimplementované)

Typ: public static

Návratová hodnota: byte

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2

Vzor: „+“

Vracia:

Vzor + sa nachádza iba medzi stredovou čiarou a kruhom.

isGoalBox

(pre funkčnosť vyžaduje doimplementovanie funkcie isT)

Typ: public static

Návratová hodnota: byte[]

Parametre:
ParsedLineWithFlags line1
ParsedLineWithFlags line2
ParsedLineWithFlags line3

Zistí, či čiary formujú časť bránkoviska.

Vracia:

goalAndLine

Typ: public static

Návratová hodnota: boolean

Parametre:
Vector3D point
ParsedLineWithFlags line

Vzor:„Bránka a čiara“
Zistí, či daná čiara je v blízkosti bránky (s toleranciou odchýlky je možné, že funkcia vráti hodnotu „true“ aj pre nejakú z čiar bránkoviska).