public class Vlnenie extends Object
Táto trieda slúži na oživenie vlnenia obrázkov, plátien i sveta.
Animácia vlnenia použitého v rámci programovacieho rámca je vykonávaná automaticky počas činnosti časovača a zvlnený raster objektu (napríklad plátna alebo obrázka) je v rámci programovacieho rámca tiež použitý automaticky a to v čase kreslenia vlniaceho sa objektu.
Vlnenie pracuje pomocou dvoch výškových máp (obrazne nazývaných v tejto dokumentácii aj hladinou), ktoré sú striedavo prepočítavané tak, ako keby tvorili striedajúce sa snímky postupujúcej animácie. Na základe hodnoty aktuálnej snímky mapy je výsledný obraz v každom okamihu animácie zdeformovaný tak, ako keby slnečné lúče prechádzali „krivou šošovkou“ (čiže takou šošovkou, ktorej povrch obsahuje rôzne deformity) umiestnenou nad stred vlniacej sa plochy (s tým, že tvar tejto „krivej šošovky“ sa dynamicky mení). Časti hladiny môžu byť ľubovoľne aktivované alebo deaktivované, takže je možné presne určiť, ktorá časť zobrazovenej plochy bude ovplyvnená vlnením, a ktorá nie. Možnosti vlnenia najlepšie ukazuje nasledujúci príklad.
Príklad:
Tento vyčerpávajúci príklad ukazuje mnoho spôsobov použitia tejto triedy. Na svoje fungovanie vyžaduje nasledujúci obrázok slnečnice (fotografiu vyhotovil a mierne upravil autor programovacieho rámca): slnecnica.png.
Po spustení sú použiteľné nasledujúce klávesy na ovládanie aplikácie (robota a/alebo plochy vlnenia – podrobnosti sú v komentároch príkladu):
MEDZERA | – | pozastavenie a obnovenie animácie vlnenia |
ESCAPE | – | okamžité upokojenie hladiny |
DELETE | – | zrušenie všetkých zmien – vymazanie zmrazených oblastí vlnenia, vymazanie prípadnej kresby na podlahe a obnovenie pôvodného obrázka |
A | – | kruhové šplechnutie na pozícii robota |
S | – | kružnicové šplechnutie na pozícii robota |
D | – | štvorcový vzruch na pozícii robota |
F | – | vlnka na pozícii robota v tvare
pyramídy na nedokonalej kruhovej podstave; v kombinácii s klávesom
SHIFT znamená zmrazenie vlnky |
X | – | „krídlové šplechnutie“ s použitím tvaru kruhu |
C | – | „krídlové šplechnutie“ s použitím tvaru štvorca |
V | – | „krídlové šplechnutie“ s použitím tvaru hviezdy |
E | – | búrlivé rozvlnenie obrazu |
R | – | náhodné rozčerenie hladiny |
T | – | jemné pravidelné rozvlnenie hladiny |
G | – | zmrazenie oblasti hviezdy na pozícii robota |
H | – | izolácia deaktivovanej oblasti vlnenia |
U | – | zapnutie alebo vypnutie pomocného robota tvoriaceho efekt vlajky |
P | – | zapnutie alebo vypnutie pomocného robota tvoriaceho efekt dažďa |
I | – | zväčšenie robota |
O | – | zmenšenie robota |
HORE | – | posun robota dopredu; alebo
v kombinácii s klávesom CTRL rolovanie mapy vlnenia smerom
hore; alebo v kombinácii s klávesom SHIFT pretáčanie mapy
vlnenia smerom hore |
DOLE | – | posun robota dozadu; alebo
v kombinácii s klávesom CTRL rolovanie mapy vlnenia smerom
dole; alebo v kombinácii s klávesom SHIFT pretáčanie mapy
vlnenia smerom dole |
VĽAVO | – | pootočenie robota vľavo; alebo
v kombinácii s klávesom CTRL rolovanie mapy vlnenia smerom
vľavo; alebo v kombinácii s klávesom SHIFT pretáčanie mapy
vlnenia smerom
vľavo |
VPRAVO | – | pootočenie robota vpravo;
alebo v kombinácii s klávesom CTRL rolovanie mapy vlnenia
smerom vpravo; alebo v kombinácii s klávesom SHIFT pretáčanie
mapy vlnenia smerom vpravo |
J | – | posunutie robota dopredu a vytvorenie bariéry (zmrazenie čiary) na dráhe robota |
N | – | posunutie robota dozadu a vytvorenie bariéry (zmrazenie čiary) na dráhe robota |
import
knižnica.*;public
class
TestovanieVlneniaextends
GRobot
{// Atribút na uloženie predlohy vlnenia (obrázka slnečnice):
private
Obrázok
predloha;// Atribút na uloženie vlnenia, s ktorým budeme v tomto príklade
// manipulovať
private
Vlnenie
vlnenie;// Atribúty na uloženie inštancií dvoch pomocných robotov:
private
GRobot
vlajka, dážď;// Konštruktor.
private
TestovanieVlnenia() {// Volanie nadradeného konštruktora – úprava rozmerov plátien.
super
(850
,650
);// Vypnutie automatického prekresľovania:
Svet
.nekresli
();// Nastavenie parametrov robota:
farba
(červená
);hrúbkaČiary
(3
);zdvihniPero
();nekresliTvary
();veľkosť
(50
);rýchlosť
(veľkosť
() /10
,false
);vypĺňajTvary
(true
);// Prečítanie a nakreslenie predlohy vlnenia:
predloha =Obrázok
.čítaj
("slnecnica.png"
);podlaha
.obrázok
(predloha);// Aktivovanie vlnenia pre celý svet (ak by sme identifikátor „Svet“
// nahradili identifikátorom „podlaha,“ vlnila by sa len podlaha,
// robot by nebol ovlpyvnený; ak by sme ho nahradili identifikátorom
// „predloha,“ vlnil by sa len obrázok predlohy, ktorý by sme museli
// neustále kresliť na podlahu alebo strop, aby bolo jeho vlnenie
// viditeľné):
Svet
.pridajVlnenie
();// Uloženie aktívnej inštancie vlnenia (ak by sme vlnili iný objekt
// než Svet, tak by sme identifikátor „Svet“ museli nahradiť správnym
// identifikátorom – pozri komentár príkazu vyššie):
vlnenie =Svet
.vlnenie
();// Vytvorenie inštancie pomocného robota na vlajku:
vlajka =new
GRobot
() { {// Nastavenie parametrov robota:
vpravo
(90
);rýchlosť
(20
,false
);zdvihniPero
();skry
(); }@
Overridepublic
void
aktivita
() {// Definícia správania počas jeho aktivity…
// Kontrola opustenia hraníc obrazovky a presun na
// protiľahnú stranu (pri neustálom pohybe zľava doprava by
// stačili len prvé dva riadky nasledujúcich dvoch
// konštrukcií, ale úplná kontrola zabezpečuje, že pomocník
// bude fungovať aj keď zmeníme smer jeho pohybu):
if
(polohaX
() >Svet
.najväčšieX
() +600
)polohaX
(Svet
.najmenšieX
() -600
);else
if
(polohaX
() <Svet
.najmenšieX
() -600
)polohaX
(Svet
.najväčšieX
() +600
);if
(polohaY
() >Svet
.najväčšieY
() +400
)polohaY
(Svet
.najmenšieY
() -400
);else
if
(polohaY
() <Svet
.najmenšieY
() -400
)polohaY
(Svet
.najväčšieY
() +400
);// Pridanie vlnky s veľkým rozmerom a malou intenzitou na
// aktuálnej pozícii pomocníka:
vlnenie.pridajVlnku
(this
,800
, -0.05
); } };// Vytvorenie inštancie pomocného robota na dážď:
dážď =new
GRobot
() { {// Nastavenie parametrov robota (vlastne ho stačí len skryť,
// aby neprekážal vo výhľade):
skry
(); }@
Overridepublic
void
aktivita
() {// Definícia správania počas jeho aktivity – presun na
// náhodnú pozíciu a pridanie vzruchu na hladinu:
náhodnáPoloha
(); vlnenie.pridajVzruch
(this
); } };// Spustenie časovača…
Svet
.spustiČasovač
(); }
@
Overridepublic
void
aktivita
() {// Robot bude počas svojho pohybu vlniť prostredie s polomerom podľa
// svojej veľkosti (intenzita má hodnotu 5):
vlnenie.pridajVlnku
(this
,veľkosť
(),5
); }@
Overridepublic
void
tik
() {// Ak by sme aktivovali vlnenie len pre obrázok, tu by sme ho mohli
// nakresliť:
// podlaha.obrázok(predloha);
// Automatické prekresľovanie v prípade potreby:
if
(Svet
.neboloPrekreslené
())Svet
.prekresli
(); }@
Overridepublic
void
stlačenieKlávesu
() {// Všeobecné funkcie na ovládanie vlnenia.
if
(ÚdajeUdalostí
.kláves
(Kláves
.MEDZERA
)) {// Pozastavenie a opätovné spustenie vlnenia:
if
(vlnenie.aktívne
()) vlnenie.deaktivuj
();else
vlnenie.aktivuj
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_ESCAPE
)) {// Okamžité zrušenie vlnenia hladiny:
vlnenie.upokojHladinu
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_DELETE
)) {// Zrušenie zamrazených oblastí vlnenia, upokojenie hladiny,
// vymazanie prípadnej kresby na podlahe s obnovením pôvodného
// obrázka:
vlnenie.aktivujHladinu
(); vlnenie.upokojHladinu
();podlaha
.vymažGrafiku
();podlaha
.obrázok
(predloha); }// Séria A – F: Rôzne spôsoby rozvlnenia na pozícii robota.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_A
)) {// Intenzívne kruhové šplechnutie (pozor, metóda „kruh“ definuje
// len hranice tvaru, ktoré môžu byť nakreslené ako čiara alebo
// vyplnené ako plocha; kruhový tvar šplechu v skutočnosti určuje
// hodnota true parametra „vyplnený“):
vlnenie.pridajVzruch
(kruh
(),true
); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_S
)) {// Intenzívne kružnicové šplechutie (pozor, metóda „kružnica“
// definuje len hranice tvaru, ktoré môžu byť nakreslené ako
// čiara alebo vyplnené ako plocha; kružnicový tvar šplechu
// v skutočnosti určuje hodnota false parametra „vyplnený“):
vlnenie.pridajVzruch
(kružnica
(),false
); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_D
)) {// Intenzívne štvorcové šplechnutie na pozícii robota
// a s veľkosťou robota:
vlnenie.pridajVzruch
(this
,veľkosť
()); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_F
)) {// Intenzívne rozvlnenie na pozícii robota, s veľkosťou robota
// a s tvarom pyramídy na nedokonalej kruhovej podstave (kláves SHIFT
// spôsobí, že vlnka zostane zmrazená):
vlnenie.pridajVlnku
(this
,veľkosť
(),765
,ÚdajeUdalostí
.klávesnica
().isShiftDown
()); }// Séria X – V: „Krídlové“ šplechnutia – po stranách robota.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_X
)) {// Krídlové šplechnutie v tvare kružnice a kruhu – platí to isté
// ako pri skratke VK_A – vyššie:
posuňVľavo
(veľkosť
() *2
); vlnenie.pridajVzruch
(kružnica
(),false
);posuňVpravo
(veľkosť
() *4
); vlnenie.pridajVzruch
(kruh
(),true
);posuňVľavo
(veľkosť
() *2
); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_C
)) {// Krídlové šplechnutie v tvare štvorca ako obrysu aj ako
// vyplnenej plochy – platí to isté ako pri kreslení kružnice
// a kruhu – metódy robota určujú len obrys, skutočný spôsob
// (ne)vyplnenia určuje druhý parameter metódy pridajVzruch:
posuňVľavo
(veľkosť
() *2
); vlnenie.pridajVzruch
(kresliŠtvorec
(),false
);posuňVpravo
(veľkosť
() *4
); vlnenie.pridajVzruch
(vyplňŠtvorec
(),true
);posuňVľavo
(veľkosť
() *2
); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_V
)) {// Krídlové šplechnutie v tvare hviezdy ako obrysu aj ako
// vyplnenej plochy – platí to isté ako pri kreslení kružnice
// a kruhu – metódy robota určujú len obrys, skutočný spôsob
// (ne)vyplnenia určuje druhý parameter metódy pridajVzruch:
posuňVľavo
(veľkosť
() *2
); vlnenie.pridajVzruch
(kresliHviezdu
(),false
);posuňVpravo
(veľkosť
() *4
); vlnenie.pridajVzruch
(vyplňHviezdu
(),true
);posuňVľavo
(veľkosť
() *2
); }// Séria E – T: Rôzne spôsoby celoplošného rozvlnenia.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_E
)) {// Intenzívne, búrlivé, rozvlnenie obrazu pomocou samého seba
// zadaného ako mapy vlnenia:
vlnenie.pridajVzruch
(predloha); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_R
)) {// Rozčerenie hladiny náhodným šumom:
vlnenie.rozčerHladinu
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_T
)) {// Pridanie gobálnych pravidelných vlniek hladiny:
vlnenie.rozvlňHladinu
(); }// Dvojica G, H: Zmrazovanie hladiny.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_G
)) {// Zmrazí hviezdu na pozícii robota (ak zmrazenie nastalo
// v čase vlnenia, okraje zmrazenej oblasti môžu generovať
// vysokofrekvenčný šum – tento efekt je možné eliminovať
// funkciou pod skratkou VK_H):
vlnenie.deaktivujHladinu
(hviezda
()); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_H
)) {// Izoluje deaktivovanú hladinu, aby nenastávalo vysokofrekvenčné
// rušenie pri jej okrajoch:
vlnenie.izolujDeaktivovanúHladinu
(); }// Dvojica U, P: Aktivovanie alebo deaktivovanie pomocníkov na
// vlnenie hladiny.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_U
)) {// Aktivuje robot prechádzajúci zľava doprava simulujúci
// vlnenie vlajky:
if
(vlajka.aktívny
()) vlajka.deaktivuj
();else
vlajka.aktivuj
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_P
)) {// Aktivuje robot náhodne pridávajúci vzruchy na hladinu, čím
// simuluje kvapky dažďa (dopadajúce na hladinu z pohľadu
// pozorovateľa):
if
(dážď.aktívny
()) dážď.deaktivuj
();else
dážď.aktivuj
(); }// Dvojica I, O: Zmena rozmeru robota.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_I
)) {// Zväčšenie robota.
veľkosť
(veľkosť
() +10
);rýchlosť
(veľkosť
() /10
,false
); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_O
)) {// Zmenšenie robota.
veľkosť
(veľkosť
() -10
);rýchlosť
(veľkosť
() /10
,false
); }// Skupina ovládania robota a celej plochy vlnenia.
else
if
(ÚdajeUdalostí
.kláves
(Kláves
.HORE
)) {// (Kláves berie do úvahy riadiace klávesy CTRL alebo SHIFT.)
if
(ÚdajeUdalostí
.klávesnica
().isControlDown
())// CTRL – roluje rozvlnenú hladinu hore:
vlnenie.roluj
(0
,10
);else
if
(ÚdajeUdalostí
.klávesnica
().isShiftDown
())// SHIFT – pretáča rozvlnenú hladinu hore:
vlnenie.pretoč
(0
,10
);else
// Inak pohne robotom dopredu:
dopredu
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.DOLE
)) {// (Kláves berie do úvahy riadiace klávesy CTRL alebo SHIFT.)
if
(ÚdajeUdalostí
.klávesnica
().isControlDown
())// CTRL – roluje rozvlnenú hladinu dole:
vlnenie.roluj
(0
, -10
);else
if
(ÚdajeUdalostí
.klávesnica
().isShiftDown
())// SHIFT – pretáča rozvlnenú hladinu dole:
vlnenie.pretoč
(0
, -10
);else
// Inak pohne robotom vzad:
vzad
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VPRAVO
)) {// (Kláves berie do úvahy riadiace klávesy CTRL alebo SHIFT.)
if
(ÚdajeUdalostí
.klávesnica
().isControlDown
())// CTRL – roluje rozvlnenú hladinu vpravo:
vlnenie.roluj
(10
,0
);else
if
(ÚdajeUdalostí
.klávesnica
().isShiftDown
())// SHIFT – pretáča rozvlnenú hladinu vpravo:
vlnenie.pretoč
(10
,0
);else
// Inak pootočí robot vpravo:
vpravo
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VĽAVO
)) {// (Kláves berie do úvahy riadiace klávesy CTRL alebo SHIFT.)
if
(ÚdajeUdalostí
.klávesnica
().isControlDown
())// CTRL – roluje rozvlnenú hladinu vľavo:
vlnenie.roluj
(-10
,0
);else
if
(ÚdajeUdalostí
.klávesnica
().isShiftDown
())// SHIFT – pretáča rozvlnenú hladinu vľavo:
vlnenie.pretoč
(-10
,0
);else
// Inak pootočí robot vľavo:
vľavo
(); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_J
)) {// Vytvorí prekážku vlnenia pri pohybe robot dopredu –
// „zmrazí čiaru na dráhe pohybu robota“:
začniCestu
();dopredu
(); vlnenie.deaktivujHladinu
(cesta
(),false
); }else
if
(ÚdajeUdalostí
.kláves
(Kláves
.VK_N
)) {// Vytvorí prekážku vlnenia pri pohybe robota vzad –
// „zmrazí čiaru na dráhe pohybu robota“:
začniCestu
();vzad
(); vlnenie.deaktivujHladinu
(cesta
(),false
); } }@
Overridepublic
void
stlačenieTlačidlaMyši
() {// Stlačenie tlačidla myši má rovnaký efekt ako ťahanie myšou:
ťahanieMyšou
(); }@
Overridepublic
void
ťahanieMyšou
() {if
(ÚdajeUdalostí
.tlačidloMyši
(ĽAVÉ
)) {// Ľavé tlačidlo určí robotu nový cieľ:
cieľNaMyš
(); }else
{// Ostatné tlačidlá pridávajú vzruchy na hladinu:
vlnenie.pridajVzruch
(ÚdajeUdalostí
.polohaMyši
()); } }// Hlavná metóda.
public
static
void
main(String
... args) {Svet
.použiKonfiguráciu
("TestovanieVlnenia.cfg"
);new
TestovanieVlnenia(); } }
slnecnica.png – obrázok slnečnice na prevzatie.
Výsledok:
Vo výslednom animovanom obrázku sú zostrihané dve akcie. Najprv
vytvorenie vlnky na pozícii robota (klávesová skratka F
v rámci tohto príkladu) a vyčkanie na upokojenie hladiny. Potom nasleduje
prestrih na ukážku, ktorej začiatočný stav bol pripravený zmrazením hviezdy
v úplne začiatočnej fáze búrlivého rozvlnenia (skratky E
a G
v rámci tohto príkladu), presunom na pozíciu mierne vľavo
dole pod hviezdou (klikaním myšou) a vyčkaním na úplné upokojenie hladiny
(táto prípravná fáza je z animácie vystrihnutá). Z tohto stavu prejde robot
krížom popod zmrazenú hviezdu (kliknutím myšou) a vyčká na úplné upokojenie
hladiny. Potom sa celý proces zopakuje. (Všimnite si, že zmrazená hviezda
sa nevlní, ale prechádzajúci robot v nej vidno.)
Ukážka animácií vlnenia
(ukážka je zmenšená a mierne zrýchlená).
Poďakovanie a poznámky k implementácii
Za pomoc pri implementácii algoritmu v tejto triede vďačím viacerým informačným zdrojom na internete, ktoré mi pomohli získať prehľad o problematike, najviac však Neilovi Wallisovi a jeho článku „Simulate ripples on water“ z decembra 2004.
Autor predstavuje algoritmus založený na dvojitom zásobníku pixelov, používanom na vykonávanie výpočtov jednotlivých snímok simulácie vlnenia. Pôvodný algoritmus bol v prvej fáze upravený a prenesený z prostredia Java Appletov do prostredia programovacieho rámca GRobot a bol vylepšený tak, aby vlnenie neprechádzalo vzájomne cez ľavý a pravý okraj rastra. Autor sám tento nedostatok na svojej stránke opisuje, no úmyselne necháva jeho vyriešenie na tých, ktorí sa jeho riešením chcú inšpirovať.
Potom pribudli ďalšie možnosti ako úprava parametrov algoritmu, definovanie rôznych druhov vzruchov, možnosť indikovať pozastavenie činnosti, samostatná simulácia série krokov vlnenia bez viazanosti na časovač a možnosť definovania masky tekutiny, ktorá dovoľuje definovať aktívne a neaktívne oblasti vlnenia. Výsledný produkt vo forme tejto triedy vo všeobecnosti značne rozširuje možnosti použitia pôvodného (jednoduchšieho) algoritmu (v rámci programovacieho rámca GRobot i mimo nej, pretože trieda je navrhnutá a napísaná tak, aby bola použiteľná aj samostatne).
Použitý zdroj:
Poznámka: Táto trieda používa na generovanie pseudonáhodných čísiel implementáciu Mersennovho twistera z CERNu z roku 1999. Uvedená implementácia bola použitá aj v rámci procesu implementácie vlastnej optimalizovanej verzie generátora pseudonáhodných čísiel s binomickým rozložením. (Pozri zdroj nižšie.)
Súvisiaci zdroj:
Konštruktor a opis |
---|
Vlnenie(BufferedImage zdroj,
int útlm)
Toto je konštruktor novej inštancie vlnenia.
|
Modifikátor a typ | Metóda a opis |
---|---|
boolean |
aktivne()
Alias pre
aktívne . |
boolean |
aktívne()
Overí, či je táto inštancia aktívna, to jest, či má byť vlnenie rastra
automaticky prepočítavané počas udalostí časovača.
|
void |
aktivuj()
Nastaví príznak aktivity na
true . |
void |
aktivujHladinu()
Aktivuje hladinu na celej ploche vlniaceho sa obrázka.
|
void |
aktivujHladinu(double x,
double y)
Aktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov,
na hladine so stredom na určenej pozícii.
|
void |
aktivujHladinu(double x,
double y,
int rozsah)
Aktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah určuje
polovicu strany štvorca) so stredom na určenej pozícii.
|
void |
aktivujHladinu(Image obrázok)
Aktivuje hladinu podľa zadaného obrázka.
|
void |
aktivujHladinu(Poloha poloha)
Aktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov,
na hladine so stredom na určenej pozícii.
|
void |
aktivujHladinu(Poloha poloha,
int rozsah)
Aktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah
určuje polovicu strany štvorca) so stredom na určenej pozícii.
|
void |
aktivujHladinu(Shape tvar)
Aktivuje body máp vlnenia podľa zadaného tvaru.
|
void |
aktivujHladinu(Shape tvar,
boolean vyplnený)
Aktivuje body máp vlnenia podľa zadaného tvaru.
|
void |
aktivujHladinu(Shape tvar,
double hrúbkaČiary)
Aktivuje body máp vlnenia podľa zadaného tvaru.
|
void |
deaktivuj()
Nastaví príznak aktivity na
false . |
void |
deaktivujHladinu()
Deaktivuje celú plochu hladiny vlniaceho sa obrázka.
|
void |
deaktivujHladinu(double x,
double y)
Deaktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov,
na hladine so stredom na určenej pozícii.
|
void |
deaktivujHladinu(double x,
double y,
int rozsah)
Deaktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah
určuje polovicu strany štvorca) so stredom na určenej pozícii.
|
void |
deaktivujHladinu(Image obrázok)
Deaktivuje hladinu podľa zadaného obrázka.
|
void |
deaktivujHladinu(Poloha poloha)
Deaktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov,
na hladine so stredom na určenej pozícii.
|
void |
deaktivujHladinu(Poloha poloha,
int rozsah)
Deaktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah
určuje polovicu strany štvorca) so stredom na určenej pozícii.
|
void |
deaktivujHladinu(Shape tvar)
Deaktivuje body máp vlnenia podľa zadaného tvaru.
|
void |
deaktivujHladinu(Shape tvar,
boolean vyplnený)
Deaktivuje body máp vlnenia podľa zadaného tvaru.
|
void |
deaktivujHladinu(Shape tvar,
double hrúbkaČiary)
Deaktivuje body máp vlnenia podľa zadaného tvaru.
|
void |
izolujDeaktivovanuHladinu()
Alias pre
izolujDeaktivovanúHladinu . |
void |
izolujDeaktivovanúHladinu()
Izoluje oblasti deaktivovanej hladiny.
|
void |
odoberVlnku(double x,
double y,
double polomer)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň určuje parametrom násobokIntenzity a zmraz
predvolené hodnoty 765 a false . |
void |
odoberVlnku(double x,
double y,
double polomer,
double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň určuje parametru zmraz predvolenú hodnotu
false . |
void |
odoberVlnku(double x,
double y,
double polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo. |
void |
odoberVlnku(double x,
double y,
int polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda odoberie oblasť vlnky so zadaným polomerom a intenzitou na
zadanej pozícii, pričom ju zároveň umožní nechať zmrazenú.
|
void |
odoberVlnku(Poloha poloha,
double polomer)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametrom násobokIntenzity a zmraz
predvolené hodnoty 765 a false . |
void |
odoberVlnku(Poloha poloha,
double polomer,
double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametru zmraz predvolenú hodnotu
false . |
void |
odoberVlnku(Poloha poloha,
double polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň umožňuje zadať polohu stredu oblasti ako jeden parameter
poloha . |
void |
odoberVzruch(double x,
double y)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
|
void |
odoberVzruch(double x,
double y,
double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom.
|
void |
odoberVzruch(double x,
double y,
double rozsahVzruchu,
double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom a intenzitou.
|
void |
odoberVzruch(double x,
double y,
int rozsahVzruchu,
int intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom a intenzitou.
|
void |
odoberVzruch(Image obrázok)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme zadaného
obrázka.
|
void |
odoberVzruch(Image obrázok,
int posunIntenzity)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme
zadaného obrázka s možnosťou posunutia výslednej intenzity hladiny
pre všetky ovplyvnené body (v zápornom smere).
|
void |
odoberVzruch(Poloha poloha)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
|
void |
odoberVzruch(Poloha poloha,
double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom.
|
void |
odoberVzruch(Poloha poloha,
double rozsahVzruchu,
double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom a intenzitou.
|
void |
odoberVzruch(Shape tvar)
Odoberie z hladiny vzruch v zadanom tvare.
|
void |
odoberVzruch(Shape tvar,
boolean vyplnený)
Odoberie z hladiny vzruch v zadanom tvare.
|
void |
odoberVzruch(Shape tvar,
boolean vyplnený,
int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body.
|
void |
odoberVzruch(Shape tvar,
double hrúbkaČiary)
Odoberie z hladiny vzruch v zadanom tvare.
|
void |
odoberVzruch(Shape tvar,
double hrúbkaČiary,
int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body.
|
void |
odoberVzruch(Shape tvar,
int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body.
|
void |
posun(double x,
double y)
Nastaví úroveň posunu v osiach x a y, o ktorú budú posunuté tvary
Javy pri ich použití na definovanie tekutiny alebo vzruchov.
|
double |
posunX()
Vráti posun v smere horizontálnej osi (osi x).
|
double |
posunY()
Vráti posun v smere vertikálnej osi (osi y).
|
void |
pretoc(double Δx,
double Δy)
Alias pre
pretoč . |
void |
pretoč(double Δx,
double Δy)
Pretočí mapu vlnenia o želaný počet bodov v horizontálnom
a vertikálnom smere.
|
void |
pridajVlnku(double x,
double y,
double polomer)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň určuje parametrom násobokIntenzity a zmraz
predvolené hodnoty 765 a false . |
void |
pridajVlnku(double x,
double y,
double polomer,
double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň určuje parametru zmraz predvolenú hodnotu
false . |
void |
pridajVlnku(double x,
double y,
double polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo. |
void |
pridajVlnku(double x,
double y,
int polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda pridá oblasť vlnky so zadaným polomerom a intenzitou na
zadanej pozícii, pričom ju zároveň umožní nechať zmrazenú.
|
void |
pridajVlnku(Poloha poloha,
double polomer)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametrom násobokIntenzity a zmraz
predvolené hodnoty 765 a false . |
void |
pridajVlnku(Poloha poloha,
double polomer,
double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametru zmraz predvolenú hodnotu
false . |
void |
pridajVlnku(Poloha poloha,
double polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň umožňuje zadať polohu stredu oblasti ako jeden parameter
poloha . |
void |
pridajVzruch(double x,
double y)
Pridanie základného vzruchu na zadanej pozícii.
|
void |
pridajVzruch(double x,
double y,
double rozsahVzruchu)
Pridanie základného vzruchu so zadaným rozsahom na zadanej pozícii.
|
void |
pridajVzruch(double x,
double y,
double rozsahVzruchu,
double intenzitaVzruchu)
Pridanie základného vzruchu so zadaným rozsahom a intenzitou
na zadanej pozícii.
|
void |
pridajVzruch(double x,
double y,
int rozsahVzruchu,
int intenzitaVzruchu)
Pridanie základného vzruchu so zadaným rozsahom a intenzitou
na zadanej pozícii.
|
void |
pridajVzruch(Image obrázok)
Pridá k hladine vzruchy podľa masky reprezentovanej vo forme zadaného
obrázka.
|
void |
pridajVzruch(Image obrázok,
int posunIntenzity)
Pridá k hladine vzruchy podľa masky reprezentovanej vo forme zadaného
obrázka s možnosťou posunutia výslednej intenzity hladiny pre všetky
ovplyvnené body.
|
void |
pridajVzruch(Poloha poloha)
Pridanie základného vzruchu na zadanej pozícii.
|
void |
pridajVzruch(Poloha poloha,
double rozsahVzruchu)
Pridanie základného vzruchu so zadaným rozsahom na zadanej pozícii.
|
void |
pridajVzruch(Poloha poloha,
double rozsahVzruchu,
double intenzitaVzruchu)
Pridanie základného vzruchu so zadaným rozsahom a intenzitou
na zadanej pozícii.
|
void |
pridajVzruch(Shape tvar)
Pridá na hladine vzruch v zadanom tvare.
|
void |
pridajVzruch(Shape tvar,
boolean vyplnený)
Pridá na hladine vzruch v zadanom tvare.
|
void |
pridajVzruch(Shape tvar,
boolean vyplnený,
int posunIntenzity)
Pridá na hladine vzruch v zadanom tvare s možnosťou posunutia výslednej
intenzity hladiny pre všetky ovplyvnené body.
|
void |
pridajVzruch(Shape tvar,
double hrúbkaČiary)
Pridá na hladine vzruch v zadanom tvare.
|
void |
pridajVzruch(Shape tvar,
double hrúbkaČiary,
int posunIntenzity)
Pridá na hladine vzruch v zadanom tvare s možnosťou posunutia výslednej
intenzity hladiny pre všetky ovplyvnené body.
|
void |
pridajVzruch(Shape tvar,
int posunIntenzity)
Pridá na hladine vzruch v zadanom tvare s možnosťou posunutia výslednej
intenzity hladiny pre všetky ovplyvnené body.
|
void |
roluj(double Δx,
double Δy)
Roluje mapu vlnenia o želaný počet bodov v horizontálnom
a vertikálnom smere.
|
void |
rozcerHladinu()
Alias pre
rozčerHladinu . |
void |
rozcerHladinu(int spodnáHranicaŠumu,
int hornáHranicaŠumu)
Alias pre
rozčerHladinu . |
void |
rozcerHladinu(short spodnáHranicaŠumu,
short hornáHranicaŠumu)
Alias pre
rozčerHladinu . |
void |
rozčerHladinu()
Pridá náhodný šum k úrovniam hladiny vlnenia – pridá náhodné vzruchy.
|
void |
rozčerHladinu(int spodnáHranicaŠumu,
int hornáHranicaŠumu)
Alias pre
rozčerHladinu . |
void |
rozčerHladinu(short spodnáHranicaŠumu,
short hornáHranicaŠumu)
Pridá náhodný šum k úrovniam hladiny vlnenia – pridá náhodné
vzruchy.
|
void |
rozvlnHladinu()
Alias pre
rozvlňHladinu . |
void |
rozvlňHladinu()
Pridá pravidelné jemné vlnenie po celej ploche hladiny s predvolenou
dĺžkou vlny
25.0 a predvolenou amplitúdou 1.0 . |
void |
rozvlnHladinu(double dĺžkaVlny)
Alias pre
rozvlňHladinu . |
void |
rozvlňHladinu(double dĺžkaVlny)
Pridá pravidelné jemné vlnenie po celej ploche hladiny so zadanou
dĺžkou vlny a predvolenou amplitúdou
1.0 . |
void |
rozvlnHladinu(double dĺžkaVlny,
double amplitúda)
Alias pre
rozvlňHladinu . |
void |
rozvlňHladinu(double dĺžkaVlny,
double amplitúda)
Pridá pravidelné vlnenie po celej ploche hladiny so zadanou dĺžkou
vlny a amplitúdou.
|
void |
simuluj(int počet)
Vykoná výpočet niekoľkých snímok procesu vlnenia naraz – posunie
simuláciu vlnenia o niekoľko snímok dopredu.
|
void |
uberVlnku(double x,
double y,
double polomer)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň určuje parametrom násobokIntenzity a zmraz
predvolené hodnoty 765 a false . |
void |
uberVlnku(double x,
double y,
double polomer,
double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň určuje parametru zmraz predvolenú hodnotu
false . |
void |
uberVlnku(double x,
double y,
double polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo. |
void |
uberVlnku(double x,
double y,
int polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda odoberie oblasť vlnky so zadaným polomerom a intenzitou na
zadanej pozícii, pričom ju zároveň umožní nechať zmrazenú.
|
void |
uberVlnku(Poloha poloha,
double polomer)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametrom násobokIntenzity a zmraz
predvolené hodnoty 765 a false . |
void |
uberVlnku(Poloha poloha,
double polomer,
double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametru zmraz predvolenú hodnotu
false . |
void |
uberVlnku(Poloha poloha,
double polomer,
double násobokIntenzity,
boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz) , ibaže
umožňuje zadať parameter polomer ako reálne číslo
a zároveň umožňuje zadať polohu stredu oblasti ako jeden parameter
poloha . |
void |
uberVzruch(double x,
double y)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
|
void |
uberVzruch(double x,
double y,
double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom.
|
void |
uberVzruch(double x,
double y,
double rozsahVzruchu,
double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom a intenzitou.
|
void |
uberVzruch(double x,
double y,
int rozsahVzruchu,
int intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom a intenzitou.
|
void |
uberVzruch(Image obrázok)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme zadaného
obrázka.
|
void |
uberVzruch(Image obrázok,
int posunIntenzity)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme
zadaného obrázka s možnosťou posunutia výslednej intenzity hladiny
pre všetky ovplyvnené body (v zápornom smere).
|
void |
uberVzruch(Poloha poloha)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
|
void |
uberVzruch(Poloha poloha,
double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom.
|
void |
uberVzruch(Poloha poloha,
double rozsahVzruchu,
double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným
rozsahom a intenzitou.
|
void |
uberVzruch(Shape tvar)
Odoberie z hladiny vzruch v zadanom tvare.
|
void |
uberVzruch(Shape tvar,
boolean vyplnený)
Odoberie z hladiny vzruch v zadanom tvare.
|
void |
uberVzruch(Shape tvar,
boolean vyplnený,
int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body.
|
void |
uberVzruch(Shape tvar,
double hrúbkaČiary)
Odoberie z hladiny vzruch v zadanom tvare.
|
void |
uberVzruch(Shape tvar,
double hrúbkaČiary,
int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body.
|
void |
uberVzruch(Shape tvar,
int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body.
|
void |
upokojHladinu()
Upokojí hladinu vlnenia – odoberie všetky vzruchy.
|
int |
urovenPrahu()
Alias pre
úroveňPrahu . |
int |
úroveňPrahu()
Zistí aktuálnu úroveň prahu používaného pri aktivácii a deaktivácii
hladiny pomocou masky, čo zahŕňa aj aktiváciu alebo deaktiváciu
s použitím tvarov.
|
void |
urovenPrahu(int úroveň)
Alias pre
úroveňPrahu . |
void |
úroveňPrahu(int úroveň)
Určí novú úroveň prahu používaného pri aktivácii a deaktivácii hladiny
pomocou masky, čo zahŕňa aj aktiváciu alebo deaktiváciu s použitím
tvarov.
|
int |
utlm()
Alias pre
útlm . |
int |
útlm()
Vráti aktuálnu hodnotu útlmu vĺn tejto inštancie vlnenia.
|
void |
utlm(int útlm)
Alias pre
útlm . |
void |
útlm(int útlm)
Nastaví novú hodnotu útlmu vĺn tejto inštancie vlnenia.
|
void |
vykonaj()
Vykoná proces vlnenia – prepočíta ďalšiu snímku.
|
BufferedImage |
zvlnenyRaster()
Alias pre
zvlnenýRaster . |
BufferedImage |
zvlnenýRaster()
Táto metóda vráti rastrový obrázok inštancie typu
BufferedImage obsahujúci aktuálny zvlnený
obraz svojej predlohy. |
public Vlnenie(BufferedImage zdroj, int útlm)
Toto je konštruktor novej inštancie vlnenia. V rámci programovacieho rámca je používaný automaticky pri vzniku požiadavky na pridanie efektu vlnenia k určitej súčasti programovacieho rámca.
Poznámka: V podstate ide o plátna stropu a podlahy (pozri Plátno.pridajVlnenie()
),
o plochu sveta ako takého (pozri
Svet.pridajVlnenie()
)
a o obrázky programovacieho rámca (pozri
Obrázok.pridajVlnenie()
).
Trieda Vlnenie
je naprogramovaná tak, aby bola použiteľná
aj mimo programovacieho rámca GRobot. V takom prípade je potrebné
vytvoriť jej inštanciu pomocou tohto konštruktora. Ten prijíma
inštanciu obrázka BufferedImage
, ktorý musí byť
typu BufferedImage.TYPE_INT_ARGB
,
inak konštrukcia vlnenia zlyhá. Útlm určuje rýchlosť utlmenia vzruchov
na virtuálnej hladine vlnenia (pozri aj metódu útlm
).
Ak sú všetky podmienky splnené a vytvorenie vlnenia bolo úspešné,
programátor musí ešte zariadiť pravidelné spúšťanie metódy
vykonaj
(najlepšie v rekacii časovača), ktorá
zabezpečuje simuláciu vlnenia a tiež prekresľovanie zvlneného rastra,
ktorý získa metódou zvlnenýRaster
.
Pripomenutie faktov: Animácia vlnenia použitého v rámci programovacieho rámca je vykonávaná automaticky počas činnosti časovača a zvlnený raster je v rámci programovacieho rámca tiež použitý automaticky v čase kreslenia objektu.
zdroj
– obraz predlohy, ktorá má byť vlnená, napríklad
obrázok programovacieho rámca GRobot,
plátno a podobneútlm
– predvolená hodnota útlmu vlnenia (hodnoty v rozsahu 0 – 31;
pozri aj metódu útlm
)public boolean aktívne()
Overí, či je táto inštancia aktívna, to jest, či má byť vlnenie rastra automaticky prepočítavané počas udalostí časovača.
true
– inštancia je aktívna; false
–
inštancia je neaktívna;aktivuj()
,
deaktivuj()
public boolean aktivne()
Alias pre aktívne
.
public void aktivuj()
Nastaví príznak aktivity na true
. Tento príznak je
kontrolovaný svetom počas udalostí časovača. V aktivovanej inštancii
je vlnenie automaticky prepočítavané svetom grafického robota.
Poznámka: Aktivácia alebo deaktivácia
inštancie vlnenia nemá vplyv na aktivované a deaktivované časti
hladiny – pozri napríklad metódy aktivujHladinu(x, y, rozsah)
, aktivujHladinu(tvar, vyplnený)
, deaktivujHladinu(x, y, rozsah)
alebo deaktivujHladinu(tvar,
vyplnený)
.
aktívne()
,
deaktivuj()
public void deaktivuj()
Nastaví príznak aktivity na false
. Tento príznak je
kontrolovaný svetom počas udalostí časovača. Vlnenie deaktivovanej
inštancie nie je automaticky prepočítavané svetom grafického robota.
Poznámka: Táto informácia vyžaduje spresnenie.
Deaktivácia neznamená úplné zastavenie prepočtov súvisiacich s vlnením,
len zastavenie prepočtov súvisiacich so zmenami vo vnútorných výškových
mapách vlnenia, čiže s animáciou vlnenia. Ak by boli zastavené všetky
prepočty, znamenalo by to, že keby sa obsah predlohy vlnenia (čiže
pôvodného nezvlneného obrázka) zmenil, tak by sa to vo výslednom
(zvlnenom) rastri nikdy neprejavilo. To nie je cieľom deaktivácie.
Cieľom deaktivácie je len „zamraziť“ vlnenie. V skutočnosti sa táto
trieda správa tak, že vždy pri poskytovaní zvlneného rastra overí, či je inštancia aktívna a ak nie je, tak
raster aktualizuje bez ohľadu na to, či obsah predlohy bol alebo nebol
zmenený (pretože pri aktívnom vlnení sa to deje automaticky počas
animácie vlnenia).
(Preto je v prípade potreby vykonávania viacerých akcií s rastrom
v rámci jedného tiku časovača výhodnejšie poskytnutý raster dočasne
uložiť do lokálnej premennej a pracovať s uloženou verziou. Aby
zbytočne nenastávalo mnohonásobné prepočítavanie zvlneného rastra.)
Poznámka: Aktivácia alebo deaktivácia
inštancie vlnenia nemá vplyv na aktivované a deaktivované časti
hladiny – pozri napríklad metódy aktivujHladinu(x, y, rozsah)
, aktivujHladinu(tvar, vyplnený)
, deaktivujHladinu(x, y, rozsah)
alebo deaktivujHladinu(tvar,
vyplnený)
.
public int úroveňPrahu()
Zistí aktuálnu úroveň prahu používaného pri aktivácii a deaktivácii
hladiny pomocou masky, čo zahŕňa aj aktiváciu alebo deaktiváciu
s použitím tvarov. Prah stanovuje hodnotu, pod ktorou už body masky
nie sú brané do úvahy. Predvolená hodnota je 24
.
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public int urovenPrahu()
Alias pre úroveňPrahu
.
public void úroveňPrahu(int úroveň)
Určí novú úroveň prahu používaného pri aktivácii a deaktivácii hladiny
pomocou masky, čo zahŕňa aj aktiváciu alebo deaktiváciu s použitím
tvarov. Prah stanoví hodnotu, pod ktorou už body masky nebudú brané do
úvahy. (Predvolená hodnota je 24
.)
úroveň
– nová úroveň prahu používaného pri aktivácii a deaktivácii
hladiny pomocou maskyúroveňPrahu()
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public void urovenPrahu(int úroveň)
Alias pre úroveňPrahu
.
public void aktivujHladinu()
Aktivuje hladinu na celej ploche vlniaceho sa obrázka. (Zruší všetky zmeny v súvislosti s deaktivovaním častí vlniacej sa plochy.)
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
,
aktivujHladinu(Image)
public void aktivujHladinu(double x, double y)
Aktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov, na hladine so stredom na určenej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastiaktivujHladinu()
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
public void aktivujHladinu(double x, double y, int rozsah)
Aktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah určuje polovicu strany štvorca) so stredom na určenej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsah
– rozsah štvorcovej oblasti (polomer vpísanej kružnice)aktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
public void aktivujHladinu(Poloha poloha)
Aktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov, na hladine so stredom na určenej pozícii.
poloha
– poloha stredu oblastiaktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
public void aktivujHladinu(Poloha poloha, int rozsah)
Aktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah určuje polovicu strany štvorca) so stredom na určenej pozícii.
poloha
– poloha stredu oblastirozsah
– rozsah štvorcovej oblasti (polomer vpísanej kružnice)aktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
public void aktivujHladinu(Image obrázok)
Aktivuje hladinu podľa zadaného obrázka. Ak obrázok nemá zhodné rozmery s rozmermi máp vlnenia, bude použitý tak, ako keby bol nakreslený v strede mapy vlnenia (ak je väčší, nadbytočné časti budú ignorované, ak je menší, chýbajúce časti budú považované za prázdne). Jednotlivé body máp vlnenia budú aktivované podľa toho, či hodnota vypočítaná z jasu a priehľadnosti bodu na zadanom obrázku prekročí aktuálnu úroveň prahu inštancie vlnenia.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na aktiváciu hladiny podľa aktuálnej
úrovne prahuúroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
,
aktivujHladinu()
,
deaktivujHladinu()
public void aktivujHladinu(Shape tvar)
Aktivuje body máp vlnenia podľa zadaného tvaru. Tvar je považovaný za
vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do vnútornej
masky (čo je v podstate obrázok), ktorú použije rovnakým spôsobom ako
metóda aktivujHladinu(obrázok)
. Preto je
aj pre túto metódu relevantný prah.
tvar
– tvar, podľa ktorého bude aktivovaná prislúchajúca časť
hladinyúroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public void aktivujHladinu(Shape tvar, boolean vyplnený)
Aktivuje body máp vlnenia podľa zadaného tvaru. Tvar bude použitý ako
vyplnený alebo obkreslený čiarou podľa hodnoty druhého parametra. Pri
nevyplnených tvaroch je použitá predvolená hrúbka čiary 6.0
bodov. Táto metóda funguje tak, že zadaný tvar nakreslí (vyplní alebo
obkreslí) do vnútornej masky (čo je v podstate obrázok), ktorú použije
rovnakým spôsobom ako metóda aktivujHladinu(obrázok)
. Preto je aj pre túto metódu relevantný
prah.
tvar
– tvar, podľa ktorého bude aktivovaná prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako obreslená čiara (s predvolenou
hrúbkou 6.0
bodov)úroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public void aktivujHladinu(Shape tvar, double hrúbkaČiary)
Aktivuje body máp vlnenia podľa zadaného tvaru. Tvar bude použitý ako
obkreslená čiara s hrúbkou podľa hodnoty druhého parametra. Táto
metóda funguje tak, že zadaný tvar nakreslí (obkreslí) so zadanou
hrúbkou čiary do vnútornej masky (čo je v podstate obrázok), ktorú
použije rovnakým spôsobom ako metóda aktivujHladinu(obrázok)
. Preto je aj pre túto metódu relevantný
prah.
tvar
– tvar, podľa ktorého bude aktivovaná prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruúroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public void deaktivujHladinu()
Deaktivuje celú plochu hladiny vlniaceho sa obrázka. Je to použiteľné na inverzné povoľovanie vlniacich sa oblastí – najprv deaktivujeme celú hladinu a následne aktivujeme len tie časti, ktoré chceme, aby sa vlnili.
aktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
,
aktivujHladinu(Image)
public void deaktivujHladinu(double x, double y)
Deaktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov, na hladine so stredom na určenej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastiaktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
public void deaktivujHladinu(double x, double y, int rozsah)
Deaktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah určuje polovicu strany štvorca) so stredom na určenej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsah
– rozsah štvorcovej oblasti (polomer vpísanej kružnice)aktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
,
deaktivujHladinu(Poloha, int)
public void deaktivujHladinu(Poloha poloha)
Deaktivuje bod, resp. malú štvorcovú oblasť s veľkosťou 6 × 6 bodov, na hladine so stredom na určenej pozícii.
poloha
– poloha stredu oblastiaktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha, int)
public void deaktivujHladinu(Poloha poloha, int rozsah)
Deaktivuje štvorcovú oblasť na hladine so zadaným rozsahom (rozsah určuje polovicu strany štvorca) so stredom na určenej pozícii.
poloha
– poloha stredu oblastirozsah
– rozsah štvorcovej oblasti (polomer vpísanej kružnice)aktivujHladinu()
,
aktivujHladinu(double, double)
,
aktivujHladinu(double, double, int)
,
aktivujHladinu(Poloha)
,
aktivujHladinu(Poloha, int)
,
deaktivujHladinu()
,
deaktivujHladinu(double, double)
,
deaktivujHladinu(double, double, int)
,
deaktivujHladinu(Poloha)
public void deaktivujHladinu(Image obrázok)
Deaktivuje hladinu podľa zadaného obrázka. Ak obrázok nemá zhodné rozmery s rozmermi máp vlnenia, bude použitý tak, ako keby bol nakreslený v strede mapy vlnenia (ak je väčší, nadbytočné časti budú ignorované, ak je menší, chýbajúce časti budú považované za prázdne). Jednotlivé body máp vlnenia budú deaktivované podľa toho, či hodnota vypočítaná z jasu a priehľadnosti bodu na zadanom obrázku prekročí aktuálnu úroveň prahu inštancie vlnenia.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na deaktiváciu hladiny podľa aktuálnej
úrovne prahuizolujDeaktivovanúHladinu()
,
úroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public void deaktivujHladinu(Shape tvar)
Deaktivuje body máp vlnenia podľa zadaného tvaru. Tvar je považovaný za
vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do vnútornej
masky (čo je v podstate obrázok), ktorú použije rovnakým spôsobom ako
metóda deaktivujHladinu(obrázok)
.
Preto je aj pre túto metódu relevantný prah.
tvar
– tvar, podľa ktorého bude deaktivovaná prislúchajúca časť
hladinyizolujDeaktivovanúHladinu()
,
úroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape, boolean)
,
deaktivujHladinu(Shape, double)
public void deaktivujHladinu(Shape tvar, boolean vyplnený)
Deaktivuje body máp vlnenia podľa zadaného tvaru. Tvar bude použitý ako
vyplnený alebo obkreslený čiarou podľa hodnoty druhého parametra. Pri
nevyplnených tvaroch je použitá predvolená hrúbka čiary 6.0
bodov. Táto metóda funguje tak, že zadaný tvar nakreslí (vyplní alebo
obkreslí) do vnútornej masky (čo je v podstate obrázok), ktorú použije
rovnakým spôsobom ako metóda deaktivujHladinu(obrázok)
. Preto je aj pre túto metódu relevantný
prah.
tvar
– tvar, podľa ktorého bude deaktivovaná prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako obreslená čiara (s predvolenou
hrúbkou 6.0
bodov)izolujDeaktivovanúHladinu()
,
úroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, double)
public void deaktivujHladinu(Shape tvar, double hrúbkaČiary)
Deaktivuje body máp vlnenia podľa zadaného tvaru. Tvar bude použitý
ako obkreslená čiara s hrúbkou podľa hodnoty druhého parametra. Táto
metóda funguje tak, že zadaný tvar nakreslí (obkreslí) so zadanou
hrúbkou čiary do vnútornej masky (čo je v podstate obrázok), ktorú
použije rovnakým spôsobom ako metóda deaktivujHladinu(obrázok)
. Preto je aj pre túto metódu relevantný
prah.
tvar
– tvar, podľa ktorého bude deaktivovaná prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruizolujDeaktivovanúHladinu()
,
úroveňPrahu()
,
úroveňPrahu(int)
,
aktivujHladinu(Image)
,
aktivujHladinu(Shape)
,
aktivujHladinu(Shape, boolean)
,
aktivujHladinu(Shape, double)
,
deaktivujHladinu(Image)
,
deaktivujHladinu(Shape)
,
deaktivujHladinu(Shape, boolean)
public void izolujDeaktivovanúHladinu()
Izoluje oblasti deaktivovanej hladiny. Ak bola časť hladiny deaktivovaná počas „živej“ animácie vlnenia, to jest v stave, keď výškové mapy vlnenia obsahujú rozdielne údaje, bez ohľadu na to, či je inštancia vlnenia aktívna alebo nie, tak takmer určite vznikne na hraniciach zmrazenej oblasti stav, ktorý bude počas aktívnej animácie spôsobovať vznik vysokofrekvenčného vlnenia (hoci s malým dosahom). Tento jav nemusí byť vždy vnímaný ako negatívny, preto nie je potláčaný automaticky. Táto metóda ho však dokáže eliminovať, no dokáže tak urobiť len celoplošne. (To znamená, že ak by pre niektoré časti hladiny mal byť tento jav žiaduci, tak tie musia byť zmrazené dodatočne, po spustení tejto metódy.)
public void izolujDeaktivovanuHladinu()
Alias pre izolujDeaktivovanúHladinu
.
public double posunX()
Vráti posun v smere horizontálnej osi (osi x). Pre podrobnosti pozri
opis metódy posun(x, y)
.
posun(double, double)
,
posunY()
public double posunY()
Vráti posun v smere vertikálnej osi (osi y). Pre podrobnosti pozri
opis metódy posun(x, y)
.
posun(double, double)
,
posunX()
public void posun(double x, double y)
Nastaví úroveň posunu v osiach x a y, o ktorú budú posunuté tvary Javy pri ich použití na definovanie tekutiny alebo vzruchov. Tento posun má význam pri použití tvarov generovaných robotom na vlniace sa plochy, ktoré majú rôzne rozmery než sú rozmery plátien sveta. (Ide najmä o inštancie vlnenia obrázkov.) Je to preto, lebo tvary generované robotom sú síce vygenerované v súradnicovom priestore Javy, ale vzhľadom na rozmery plátien sveta a pri použití v obrázkoch s inými rozmermi, by neboli správne umiestnené.
V rámci programovacieho rámca GRobot je posun inštancií vlnenia obrázkov upravený automaticky. (Iné inštancie vlnenia používané v rámci programovacieho rámca nemusia mať posun upravovaný. V podstate ide už len o plátna a samotnú grafickú plochu sveta.)
Posun má význam pri používaní vlnenia siahajúc za hranice programovacieho rámca.
public int útlm()
Vráti aktuálnu hodnotu útlmu vĺn tejto inštancie vlnenia.
public int utlm()
Alias pre útlm
.
public void útlm(int útlm)
Nastaví novú hodnotu útlmu vĺn tejto inštancie vlnenia. Povolené sú hodnoty v rozsahu 0 – 31 a všetky hodnoty mimo tohto rozsahu budú posunuté na najbližšiu platnú hranicu. Nulový útlm neznamená nekonečné vlnenie, ale to, že vlny odznejú tak, ako je to prirodzené pre implementovaný algoritmus vlnenia. Horná hranica určuje opačný extrém. V podstate majú v skutočnosti zmysel len hodnoty v rozsahu 0 – 30, pretože útlm s hodnotou 31 znamená, že vlny budú okamžite eliminované, takže vo výsledku nebude viditeľné žiadne vlnenie obrazu.
útlm
– nová hodnota útlmu vĺn (odporúčané hodnoty: 0 – 30)public void utlm(int útlm)
Alias pre útlm
.
public void upokojHladinu()
Upokojí hladinu vlnenia – odoberie všetky vzruchy.
public void rozčerHladinu()
Pridá náhodný šum k úrovniam hladiny vlnenia – pridá náhodné vzruchy.
public void rozcerHladinu()
Alias pre rozčerHladinu
.
public void rozčerHladinu(short spodnáHranicaŠumu, short hornáHranicaŠumu)
Pridá náhodný šum k úrovniam hladiny vlnenia – pridá náhodné vzruchy.
Poznámka: Táto metóda používa Mersennov twistr z CERNu (1999). Pozri aj poznámku v hlavnom opise tejto triedy.
spodnáHranicaŠumu
– najnižšia možná vygenerovaná náhodná hodnota,
ktorá bude pridaná k hladine vlnenia (odporúčaná je záporná hodnota
hornej hranice šumu)hornáHranicaŠumu
– najvyššia možná vygenerovaná náhodná hodnota,
ktorá bude pridaná k hladine vlnenia (odporúčané sú hodnoty
v rozmedzí 30
– 70
)public void rozcerHladinu(short spodnáHranicaŠumu, short hornáHranicaŠumu)
Alias pre rozčerHladinu
.
public void rozčerHladinu(int spodnáHranicaŠumu, int hornáHranicaŠumu)
Alias pre rozčerHladinu
.
public void rozcerHladinu(int spodnáHranicaŠumu, int hornáHranicaŠumu)
Alias pre rozčerHladinu
.
public void rozvlňHladinu()
Pridá pravidelné jemné vlnenie po celej ploche hladiny s predvolenou
dĺžkou vlny 25.0
a predvolenou amplitúdou 1.0
.
Poznámka: Vlnenie bude utlmené relatívne rýchlo, preto musí byť v prípade požadovania jeho stálej prítomnosti pravidelne obnovované.
rozvlňHladinu(double)
,
rozvlňHladinu(double, double)
public void rozvlnHladinu()
Alias pre rozvlňHladinu
.
public void rozvlňHladinu(double dĺžkaVlny)
Pridá pravidelné jemné vlnenie po celej ploche hladiny so zadanou
dĺžkou vlny a predvolenou amplitúdou 1.0
.
Poznámka: Vlnenie bude utlmené relatívne rýchlo, preto musí byť v prípade požadovania jeho stálej prítomnosti pravidelne obnovované.
dĺžkaVlny
– požadovaná dĺžka vlny pridávaného plošného vlneniarozvlňHladinu()
,
rozvlňHladinu(double, double)
public void rozvlnHladinu(double dĺžkaVlny)
Alias pre rozvlňHladinu
.
public void rozvlňHladinu(double dĺžkaVlny, double amplitúda)
Pridá pravidelné vlnenie po celej ploche hladiny so zadanou dĺžkou vlny a amplitúdou.
Poznámka: Vlnenie bude časom utlmené, preto musí byť v prípade požadovania jeho stálej prítomnosti pravidelne obnovované.
dĺžkaVlny
– požadovaná dĺžka vlny pridávaného plošného vlneniaamplitúda
– požadovaná amplitúda pridávaného plošného vlneniarozvlňHladinu()
,
rozvlňHladinu(double)
public void rozvlnHladinu(double dĺžkaVlny, double amplitúda)
Alias pre rozvlňHladinu
.
public void pridajVlnku(double x, double y, int polomer, double násobokIntenzity, boolean zmraz)
Táto metóda pridá oblasť vlnky so zadaným polomerom a intenzitou na zadanej pozícii, pričom ju zároveň umožní nechať zmrazenú. Oblasť „vlnky“ by v priestore vyzerala ako pyramída, ktorej podstava je zabrúsená do tvaru nedokonalého kruhu. Tento tvar je výsledkom úsilia o zachovanie čo najmenšej výpočtovej náročnosti – v algoritme sú v dvojnásobnom cykle použité len základné aritmetické operácie a jednoduché vetvenie. Tvar podstavca s pyramídou pri pohľade zvrchu názornejšie ukazujú nasledujúce obrázky (všetky tri zobrazujú tú istú výškovú mapu vlnky, len sú vyhotovené v troch farebných odtieňoch):
Čiernobiele zobrazenie výškovej mapy vlnky. |
Žltočervené zobrazenie výškovej mapy vlnky. |
Modrozelené zobrazenie výškovej mapy vlnky. |
||
(Polomer vlnky bol 100 bodov; najvyššia intenzita je v strede.) |
Výsledná maximálna intenzita vlnky je závislá ako od parametra
násobokIntenzity
, tak od polomeru, pretože čím väčší je zadaný
polomer, tým vyššia bude pyramída. Nasledujúca séria obrázkov ukazuje
nárast intenzity v závislosti od zväčšovania polomeru pri zachovaní
rovnakej hodnoty parametra násobokIntenzity
:
Polomer: 20 bodov. |
Polomer: 40 bodov. |
Polomer: 60 bodov. |
Polomer: 80 bodov. |
Polomer: 100 bodov. |
Ak má parameter zmraz
hodnotu true
, tak budú
všetky tie časti hladiny, ktoré boli touto metódou ovplyvnené, zároveň
zmrazené. Pozor, metóda nemôže ovplyvniť alebo zmraziť už zmrazené
časti hladiny!
Metóda má viacero klonov, ktoré umožňujú jej jednoduchšie použitie…
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenépridajVlnku(double, double, double, double, boolean)
,
pridajVlnku(Poloha, double, double, boolean)
,
pridajVlnku(double, double, double, double)
,
pridajVlnku(Poloha, double, double)
,
pridajVlnku(double, double, double)
,
pridajVlnku(Poloha, double)
,
odoberVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, int, double, boolean)
public void pridajVlnku(double x, double y, double polomer, double násobokIntenzity, boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenépridajVlnku(double, double, int, double, boolean)
,
pridajVlnku(Poloha, double, double, boolean)
,
pridajVlnku(double, double, double, double)
,
pridajVlnku(Poloha, double, double)
,
pridajVlnku(double, double, double)
,
pridajVlnku(Poloha, double)
public void pridajVlnku(Poloha poloha, double polomer, double násobokIntenzity, boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň umožňuje zadať polohu stredu oblasti ako jeden parameter
poloha
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenépridajVlnku(double, double, int, double, boolean)
,
pridajVlnku(double, double, double, double, boolean)
,
pridajVlnku(double, double, double, double)
,
pridajVlnku(Poloha, double, double)
,
pridajVlnku(double, double, double)
,
pridajVlnku(Poloha, double)
public void pridajVlnku(double x, double y, double polomer, double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň určuje parametru zmraz
predvolenú hodnotu
false
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotoupridajVlnku(double, double, int, double, boolean)
,
pridajVlnku(double, double, double, double, boolean)
,
pridajVlnku(Poloha, double, double, boolean)
,
pridajVlnku(Poloha, double, double)
,
pridajVlnku(double, double, double)
,
pridajVlnku(Poloha, double)
public void pridajVlnku(Poloha poloha, double polomer, double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametru zmraz
predvolenú hodnotu
false
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotoupridajVlnku(double, double, int, double, boolean)
,
pridajVlnku(double, double, double, double, boolean)
,
pridajVlnku(Poloha, double, double, boolean)
,
pridajVlnku(double, double, double, double)
,
pridajVlnku(double, double, double)
,
pridajVlnku(Poloha, double)
public void pridajVlnku(double x, double y, double polomer)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň určuje parametrom násobokIntenzity
a zmraz
predvolené hodnoty 765
a false
. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkypridajVlnku(double, double, int, double, boolean)
,
pridajVlnku(double, double, double, double, boolean)
,
pridajVlnku(Poloha, double, double, boolean)
,
pridajVlnku(double, double, double, double)
,
pridajVlnku(Poloha, double, double)
,
pridajVlnku(Poloha, double)
public void pridajVlnku(Poloha poloha, double polomer)
Táto metóda funguje úplne rovnako ako metóda
pridajVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametrom násobokIntenzity
a zmraz
predvolené hodnoty 765
a false
. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkypridajVlnku(double, double, int, double, boolean)
,
pridajVlnku(double, double, double, double, boolean)
,
pridajVlnku(Poloha, double, double, boolean)
,
pridajVlnku(double, double, double, double)
,
pridajVlnku(Poloha, double, double)
,
pridajVlnku(double, double, double)
public void odoberVlnku(double x, double y, int polomer, double násobokIntenzity, boolean zmraz)
Táto metóda odoberie oblasť vlnky so zadaným polomerom a intenzitou na
zadanej pozícii, pričom ju zároveň umožní nechať zmrazenú. Metóda funguje
úplne rovnako ako metóda pridajVlnku(x, y, polomer, násobokIntenzity, zmraz)
s tým
rozdielom, že pyramída je od mapy vlnenia v aktívnej sníme odčítaná.
To znamená, že pri zastavenej simulácii by sa po sebe nasledujúce volania
metódy pridajVlnku
a odoberVlnku
s rovnakými parametrami vzájomne
zrušili. Na pokojnej hladine vyvolá volanie tejto metódy vlnenie
s negatívnou začiatočnou fázou vlnky. Rozdielny efekt je najlepšie
vidieť na zmrazených vlnkách (pozri obrázok nižšie).
Začiatočná fáza vlnenia po volaní metódy pridajVlnku . |
Začiatočná fáza vlnenia po volaní metódy odoberVlnku . |
|
(Obrázky sú orezané a zväčšené.) |
(Aj táto metóda, podobne ako pridajVlnku
, má viacero klonov, ktoré umožňujú jej
jednoduchšie použitie…)
Poznámka: Všetky metódy tejto triedy, ktorých názov sa začína slovom „odober“ majú definovanú plnohodnotnú alternatívnu metódu, ktorej názov sa začína slovom „uber“ a naopak. Obidve metódy sú vzájomnými úplnými kópiami.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenéodoberVlnku(double, double, double, double, boolean)
,
odoberVlnku(Poloha, double, double, boolean)
,
odoberVlnku(double, double, double, double)
,
odoberVlnku(Poloha, double, double)
,
odoberVlnku(double, double, double)
,
odoberVlnku(Poloha, double)
,
pridajVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, int, double, boolean)
public void odoberVlnku(double x, double y, double polomer, double násobokIntenzity, boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenéodoberVlnku(double, double, int, double, boolean)
,
odoberVlnku(Poloha, double, double, boolean)
,
odoberVlnku(double, double, double, double)
,
odoberVlnku(Poloha, double, double)
,
odoberVlnku(double, double, double)
,
odoberVlnku(Poloha, double)
public void odoberVlnku(Poloha poloha, double polomer, double násobokIntenzity, boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň umožňuje zadať polohu stredu oblasti ako jeden parameter
poloha
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenéodoberVlnku(double, double, int, double, boolean)
,
odoberVlnku(double, double, double, double, boolean)
,
odoberVlnku(double, double, double, double)
,
odoberVlnku(Poloha, double, double)
,
odoberVlnku(double, double, double)
,
odoberVlnku(Poloha, double)
public void odoberVlnku(double x, double y, double polomer, double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň určuje parametru zmraz
predvolenú hodnotu
false
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouodoberVlnku(double, double, int, double, boolean)
,
odoberVlnku(double, double, double, double, boolean)
,
odoberVlnku(Poloha, double, double, boolean)
,
odoberVlnku(Poloha, double, double)
,
odoberVlnku(double, double, double)
,
odoberVlnku(Poloha, double)
public void odoberVlnku(Poloha poloha, double polomer, double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametru zmraz
predvolenú hodnotu
false
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouodoberVlnku(double, double, int, double, boolean)
,
odoberVlnku(double, double, double, double, boolean)
,
odoberVlnku(Poloha, double, double, boolean)
,
odoberVlnku(double, double, double, double)
,
odoberVlnku(double, double, double)
,
odoberVlnku(Poloha, double)
public void odoberVlnku(double x, double y, double polomer)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň určuje parametrom násobokIntenzity
a zmraz
predvolené hodnoty 765
a false
. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkyodoberVlnku(double, double, int, double, boolean)
,
odoberVlnku(double, double, double, double, boolean)
,
odoberVlnku(Poloha, double, double, boolean)
,
odoberVlnku(double, double, double, double)
,
odoberVlnku(Poloha, double, double)
,
odoberVlnku(Poloha, double)
public void odoberVlnku(Poloha poloha, double polomer)
Táto metóda funguje úplne rovnako ako metóda
odoberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametrom násobokIntenzity
a zmraz
predvolené hodnoty 765
a false
. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkyodoberVlnku(double, double, int, double, boolean)
,
odoberVlnku(double, double, double, double, boolean)
,
odoberVlnku(Poloha, double, double, boolean)
,
odoberVlnku(double, double, double, double)
,
odoberVlnku(Poloha, double, double)
,
odoberVlnku(double, double, double)
public void uberVlnku(double x, double y, int polomer, double násobokIntenzity, boolean zmraz)
Táto metóda odoberie oblasť vlnky so zadaným polomerom a intenzitou na
zadanej pozícii, pričom ju zároveň umožní nechať zmrazenú. Metóda funguje
úplne rovnako ako metóda pridajVlnku(x, y, polomer, násobokIntenzity, zmraz)
s tým
rozdielom, že pyramída je od mapy vlnenia v aktívnej sníme odčítaná.
To znamená, že pri zastavenej simulácii by sa po sebe nasledujúce volania
metódy pridajVlnku
a uberVlnku
s rovnakými parametrami vzájomne
zrušili. Na pokojnej hladine vyvolá volanie tejto metódy vlnenie
s negatívnou začiatočnou fázou vlnky. Rozdielny efekt je najlepšie
vidieť na zmrazených vlnkách (pozri obrázok nižšie).
Začiatočná fáza vlnenia po volaní metódy pridajVlnku . |
Začiatočná fáza vlnenia po volaní metódy uberVlnku . |
|
(Obrázky sú orezané a zväčšené.) |
(Aj táto metóda, podobne ako pridajVlnku
, má viacero klonov, ktoré umožňujú jej
jednoduchšie použitie…)
Poznámka: Všetky metódy tejto triedy, ktorých názov sa začína slovom „uber“ majú definovanú plnohodnotnú alternatívnu metódu, ktorej názov sa začína slovom „odober“ a naopak. Obidve metódy sú vzájomnými úplnými kópiami.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenéuberVlnku(double, double, double, double, boolean)
,
uberVlnku(Poloha, double, double, boolean)
,
uberVlnku(double, double, double, double)
,
uberVlnku(Poloha, double, double)
,
uberVlnku(double, double, double)
,
uberVlnku(Poloha, double)
,
pridajVlnku(double, double, int, double, boolean)
,
odoberVlnku(double, double, int, double, boolean)
public void uberVlnku(double x, double y, double polomer, double násobokIntenzity, boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenéuberVlnku(double, double, int, double, boolean)
,
uberVlnku(Poloha, double, double, boolean)
,
uberVlnku(double, double, double, double)
,
uberVlnku(Poloha, double, double)
,
uberVlnku(double, double, double)
,
uberVlnku(Poloha, double)
public void uberVlnku(Poloha poloha, double polomer, double násobokIntenzity, boolean zmraz)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň umožňuje zadať polohu stredu oblasti ako jeden parameter
poloha
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouzmraz
– ak je hodnota tohto parametra rovná true
, tak
budú všetky ovplyvnené časti hladiny zároveň zmrazenéuberVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, double, double, boolean)
,
uberVlnku(double, double, double, double)
,
uberVlnku(Poloha, double, double)
,
uberVlnku(double, double, double)
,
uberVlnku(Poloha, double)
public void uberVlnku(double x, double y, double polomer, double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň určuje parametru zmraz
predvolenú hodnotu
false
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouuberVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, double, double, boolean)
,
uberVlnku(Poloha, double, double, boolean)
,
uberVlnku(Poloha, double, double)
,
uberVlnku(double, double, double)
,
uberVlnku(Poloha, double)
public void uberVlnku(Poloha poloha, double polomer, double násobokIntenzity)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametru zmraz
predvolenú hodnotu
false
. Ďalšie podrobnosti sa dočítate v opise uvedenej
metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkynásobokIntenzity
– násobok intenzity vlnky – úroveň intenzity
v každom bode bude násobená touto hodnotouuberVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, double, double, boolean)
,
uberVlnku(Poloha, double, double, boolean)
,
uberVlnku(double, double, double, double)
,
uberVlnku(double, double, double)
,
uberVlnku(Poloha, double)
public void uberVlnku(double x, double y, double polomer)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo
a zároveň určuje parametrom násobokIntenzity
a zmraz
predvolené hodnoty 765
a false
. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipolomer
– polomer vlnkyuberVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, double, double, boolean)
,
uberVlnku(Poloha, double, double, boolean)
,
uberVlnku(double, double, double, double)
,
uberVlnku(Poloha, double, double)
,
uberVlnku(Poloha, double)
public void uberVlnku(Poloha poloha, double polomer)
Táto metóda funguje úplne rovnako ako metóda
uberVlnku(x, y, (int)polomer, násobokIntenzity, zmraz)
, ibaže
umožňuje zadať parameter polomer
ako reálne číslo, umožňuje
zadať polohu stredu oblasti ako jeden parameter poloha
a zároveň určuje parametrom násobokIntenzity
a zmraz
predvolené hodnoty 765
a false
. Ďalšie
podrobnosti sa dočítate v opise uvedenej metódy.
poloha
– poloha stredu oblastipolomer
– polomer vlnkyuberVlnku(double, double, int, double, boolean)
,
uberVlnku(double, double, double, double, boolean)
,
uberVlnku(Poloha, double, double, boolean)
,
uberVlnku(double, double, double, double)
,
uberVlnku(Poloha, double, double)
,
uberVlnku(double, double, double)
public void pridajVzruch(double x, double y)
Pridanie základného vzruchu na zadanej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastipridajVzruch(double, double, double)
,
pridajVzruch(double, double, double, double)
,
pridajVzruch(Poloha)
,
pridajVzruch(Poloha, double)
,
pridajVzruch(Poloha, double, double)
,
uberVzruch(double, double)
,
odoberVzruch(double, double)
,
pridajVzruch(Image)
public void pridajVzruch(double x, double y, double rozsahVzruchu)
Pridanie základného vzruchu so zadaným rozsahom na zadanej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)pridajVzruch(double, double)
,
pridajVzruch(double, double, double, double)
,
pridajVzruch(Poloha)
,
pridajVzruch(Poloha, double)
,
pridajVzruch(Poloha, double, double)
public void pridajVzruch(double x, double y, int rozsahVzruchu, int intenzitaVzruchu)
Pridanie základného vzruchu so zadaným rozsahom a intenzitou na zadanej pozícii. (Toto je pôvodná metóda, ktore prekrytie ovplyvní všetky metódy, ktoré sú jej klonmi.)
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude pripočítaná ku každému
bodu výškovej mapy v rámci ovplyvnenej oblastipridajVzruch(double, double)
,
pridajVzruch(double, double, double)
,
pridajVzruch(double, double, double, double)
,
pridajVzruch(Poloha)
,
pridajVzruch(Poloha, double)
,
pridajVzruch(Poloha, double, double)
public void pridajVzruch(double x, double y, double rozsahVzruchu, double intenzitaVzruchu)
Pridanie základného vzruchu so zadaným rozsahom a intenzitou na zadanej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude pripočítaná ku každému
bodu výškovej mapy v rámci ovplyvnenej oblastipridajVzruch(double, double)
,
pridajVzruch(double, double, double)
,
pridajVzruch(Poloha)
,
pridajVzruch(Poloha, double)
,
pridajVzruch(Poloha, double, double)
,
pridajVzruch(double, double, int, int)
public void pridajVzruch(Poloha poloha)
Pridanie základného vzruchu na zadanej pozícii.
poloha
– poloha stredu oblastipridajVzruch(double, double)
,
pridajVzruch(double, double, double)
,
pridajVzruch(double, double, double, double)
,
pridajVzruch(Poloha, double)
,
pridajVzruch(Poloha, double, double)
public void pridajVzruch(Poloha poloha, double rozsahVzruchu)
Pridanie základného vzruchu so zadaným rozsahom na zadanej pozícii.
poloha
– poloha stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)pridajVzruch(double, double)
,
pridajVzruch(double, double, double)
,
pridajVzruch(double, double, double, double)
,
pridajVzruch(Poloha)
,
pridajVzruch(Poloha, double, double)
public void pridajVzruch(Poloha poloha, double rozsahVzruchu, double intenzitaVzruchu)
Pridanie základného vzruchu so zadaným rozsahom a intenzitou na zadanej pozícii.
poloha
– poloha stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude pripočítaná ku každému
bodu výškovej mapy v rámci ovplyvnenej oblastipridajVzruch(double, double)
,
pridajVzruch(double, double, double)
,
pridajVzruch(double, double, double, double)
,
pridajVzruch(Poloha)
,
pridajVzruch(Poloha, double)
public void pridajVzruch(Image obrázok)
Pridá k hladine vzruchy podľa masky reprezentovanej vo forme zadaného obrázka. Ak obrázok (maska) nemá zhodné rozmery s rozmermi výškových máp vlnenia, bude použitý tak, ako keby bol nakreslený v strede mapy vlnenia (ak je väčší, nadbytočné časti budú ignorované, ak je menší, chýbajúce časti budú považované za prázdne). Hodnoty bodov výškovej mapy vlnenia budú potom ovplyvnené súčtom negatívnych hodnôt farebných zložiek jednotlivých bodov obrázka. Čierne body znamenajú maximálny nárast intenzity, farby s najvyššími hodnotami jedinej farebnej zložky (červenej, zelenej alebo modrej) znamenajú dvojtretinový nárast intenzity a biele body znamenajú nulový nárast intenzity. Popri tom je zároveň braná do úvahy aj úroveň priehľadnosti jednotlivých bodov masky. Neviditeľné body sú paušálne ignorované a intenzita polopriehľadných bodov je adekvátne znížená.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na pridanie vzruchov k aktuálnej výškovej mape vlneniapridajVzruch(Image, int)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double)
,
pridajVzruch(Shape, double, int)
,
uberVzruch(Image)
,
odoberVzruch(Image)
,
pridajVzruch(double, double)
public void pridajVzruch(Image obrázok, int posunIntenzity)
Pridá k hladine vzruchy podľa masky reprezentovanej vo forme zadaného
obrázka s možnosťou posunutia výslednej intenzity hladiny pre všetky
ovplyvnené body. Ak je posun intenzity nulový, tak je výsledok
vykonania tejto metódy rovnaký ako pri metóde
pridajVzruch(obrázok)
(pozrite si aj jej
opis). Ak je posun intenzity rovný napríklad presne hodnote
765
, tak všetky čisto čierne nepriehľadné body masky budú
mať na stav hladiny nulový vplyv. Jednoducho posun intenzity ovplyvní
výsledok v kladnom alebo zápornom smere. Aj pri tejto metóde platí,
že neviditeľné body sú paušálne ignorované.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na pridanie vzruchov k aktuálnej výškovej mape vlneniaposunIntenzity
– posun výslednej intenzity jednotlivých bodov
maskypridajVzruch(Image)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double)
,
pridajVzruch(Shape, double, int)
public void pridajVzruch(Shape tvar)
Pridá na hladine vzruch v zadanom tvare. Tvar je považovaný za
vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do vnútornej
masky (čo je v podstate obrázok), ktorú použije rovnakým spôsobom ako
metóda pridajVzruch(obrázok)
. (Pozrite si
aj opis uvedenej metódy.)
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinypridajVzruch(Image)
,
pridajVzruch(Image, int)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double)
,
pridajVzruch(Shape, double, int)
public void pridajVzruch(Shape tvar, int posunIntenzity)
Pridá na hladine vzruch v zadanom tvare s možnosťou posunutia výslednej
intenzity hladiny pre všetky ovplyvnené body. Tvar je považovaný za
vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do vnútornej
masky (čo je v podstate obrázok), ktorú použije rovnakým spôsobom ako
metóda pridajVzruch(obrázok,
posunIntenzity)
. (Pozrite si aj opis uvedenej metódy.)
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyposunIntenzity
– posun výslednej intenzity jednotlivých bodov
maskypridajVzruch(Image)
,
pridajVzruch(Image, int)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double)
,
pridajVzruch(Shape, double, int)
public void pridajVzruch(Shape tvar, boolean vyplnený)
Pridá na hladine vzruch v zadanom tvare. Tvar je považovaný za
vyplnenú plochu alebo kreslenú čiaru podľa hodnoty parametra
vyplnený
. Metóda funguje tak, že zadaný tvar nakreslí alebo
vyplní do vnútornej masky (čo je v podstate obrázok), ktorú použije
rovnakým spôsobom ako metóda pridajVzruch(obrázok)
. (Pozrite si aj opis uvedenej metódy.)
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako nakreslená čiara (s predvolenou
hrúbkou 6.0
bodov)pridajVzruch(Image)
,
pridajVzruch(Image, int)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double)
,
pridajVzruch(Shape, double, int)
public void pridajVzruch(Shape tvar, double hrúbkaČiary)
Pridá na hladine vzruch v zadanom tvare. Tvar je považovaný za
čiaru nakreslenú so zadanou hrúbkou. Metóda funguje tak, že zadaný
tvar nakreslí do vnútornej masky (čo je v podstate obrázok), ktorú
použije rovnakým spôsobom ako metóda pridajVzruch(obrázok)
. (Pozrite si aj opis uvedenej metódy.)
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvarupridajVzruch(Image)
,
pridajVzruch(Image, int)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double, int)
public void pridajVzruch(Shape tvar, boolean vyplnený, int posunIntenzity)
Pridá na hladine vzruch v zadanom tvare s možnosťou posunutia výslednej
intenzity hladiny pre všetky ovplyvnené body. Tvar je považovaný za
vyplnenú plochu alebo kreslenú čiaru podľa hodnoty parametra
vyplnený
. Metóda funguje tak, že zadaný tvar nakreslí alebo
vyplní do vnútornej masky (čo je v podstate obrázok), ktorú použije
rovnakým spôsobom ako metóda pridajVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis uvedenej
metódy.)
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako nakreslená čiara (s predvolenou
hrúbkou 6.0
bodov)posunIntenzity
– posun výslednej intenzity jednotlivých bodov
maskypridajVzruch(Image)
,
pridajVzruch(Image, int)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, double)
,
pridajVzruch(Shape, double, int)
public void pridajVzruch(Shape tvar, double hrúbkaČiary, int posunIntenzity)
Pridá na hladine vzruch v zadanom tvare s možnosťou posunutia výslednej
intenzity hladiny pre všetky ovplyvnené body. Tvar je považovaný za
čiaru nakreslenú so zadanou hrúbkou. Metóda funguje tak, že zadaný
tvar nakreslí do vnútornej masky (čo je v podstate obrázok), ktorú
použije rovnakým spôsobom ako metóda pridajVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis uvedenej
metódy.)
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruposunIntenzity
– posun výslednej intenzity jednotlivých bodov
maskypridajVzruch(Image)
,
pridajVzruch(Image, int)
,
pridajVzruch(Shape)
,
pridajVzruch(Shape, int)
,
pridajVzruch(Shape, boolean)
,
pridajVzruch(Shape, boolean, int)
,
pridajVzruch(Shape, double)
public void uberVzruch(double x, double y)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastiuberVzruch(double, double, double)
,
uberVzruch(double, double, double, double)
,
uberVzruch(Poloha)
,
uberVzruch(Poloha, double)
,
uberVzruch(Poloha, double, double)
,
pridajVzruch(double, double)
,
odoberVzruch(double, double)
,
uberVzruch(Image)
public void uberVzruch(double x, double y, double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)uberVzruch(double, double)
,
uberVzruch(double, double, double, double)
,
uberVzruch(Poloha)
,
uberVzruch(Poloha, double)
,
uberVzruch(Poloha, double, double)
public void uberVzruch(double x, double y, int rozsahVzruchu, int intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom a intenzitou. (Toto je pôvodná metóda, ktore prekrytie ovplyvní všetky metódy, ktoré sú jej klonmi.)
Poznámka: Všetky metódy tejto triedy, ktorých názov sa začína slovom „uber“ majú definovanú plnohodnotnú alternatívnu metódu, ktorej názov sa začína slovom „odober“ a naopak. Obidve metódy sú vzájomnými úplnými kópiami.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude odpočítaná od hodnoty
každého bodu výškovej mapy v rámci ovplyvnenej oblastiuberVzruch(double, double)
,
uberVzruch(double, double, double)
,
uberVzruch(double, double, double, double)
,
uberVzruch(Poloha)
,
uberVzruch(Poloha, double)
,
uberVzruch(Poloha, double, double)
public void uberVzruch(double x, double y, double rozsahVzruchu, double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom a intenzitou.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude odpočítaná od hodnoty
každého bodu výškovej mapy v rámci ovplyvnenej oblastiuberVzruch(double, double)
,
uberVzruch(double, double, double)
,
uberVzruch(Poloha)
,
uberVzruch(Poloha, double)
,
uberVzruch(Poloha, double, double)
,
uberVzruch(double, double, int, int)
public void uberVzruch(Poloha poloha)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
poloha
– poloha stredu oblastiuberVzruch(double, double)
,
uberVzruch(double, double, double)
,
uberVzruch(double, double, double, double)
,
uberVzruch(Poloha, double)
,
uberVzruch(Poloha, double, double)
public void uberVzruch(Poloha poloha, double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom.
poloha
– poloha stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)uberVzruch(double, double)
,
uberVzruch(double, double, double)
,
uberVzruch(double, double, double, double)
,
uberVzruch(Poloha)
,
uberVzruch(Poloha, double, double)
public void uberVzruch(Poloha poloha, double rozsahVzruchu, double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom a intenzitou.
poloha
– poloha stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude odpočítaná od hodnoty
každého bodu výškovej mapy v rámci ovplyvnenej oblastiuberVzruch(double, double)
,
uberVzruch(double, double, double)
,
uberVzruch(double, double, double, double)
,
uberVzruch(Poloha)
,
uberVzruch(Poloha, double)
public void odoberVzruch(double x, double y)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastiodoberVzruch(double, double, double)
,
odoberVzruch(double, double, double, double)
,
odoberVzruch(Poloha)
,
odoberVzruch(Poloha, double)
,
odoberVzruch(Poloha, double, double)
,
pridajVzruch(double, double)
,
uberVzruch(double, double)
,
uberVzruch(Image)
public void odoberVzruch(double x, double y, double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)odoberVzruch(double, double)
,
odoberVzruch(double, double, double, double)
,
odoberVzruch(Poloha)
,
odoberVzruch(Poloha, double)
,
odoberVzruch(Poloha, double, double)
public void odoberVzruch(double x, double y, int rozsahVzruchu, int intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom a intenzitou. (Toto je pôvodná metóda, ktore prekrytie ovplyvní všetky metódy, ktoré sú jej klonmi.)
Poznámka: Všetky metódy tejto triedy, ktorých názov sa začína slovom „odober“ majú definovanú plnohodnotnú alternatívnu metódu, ktorej názov sa začína slovom „uber“ a naopak. Obidve metódy sú vzájomnými úplnými kópiami.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude odpočítaná od hodnoty
každého bodu výškovej mapy v rámci ovplyvnenej oblastiodoberVzruch(double, double)
,
odoberVzruch(double, double, double)
,
odoberVzruch(double, double, double, double)
,
odoberVzruch(Poloha)
,
odoberVzruch(Poloha, double)
,
odoberVzruch(Poloha, double, double)
public void odoberVzruch(double x, double y, double rozsahVzruchu, double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom a intenzitou.
x
– horizontálna súradnica stredu oblastiy
– vertikálna súradnica stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude odpočítaná od hodnoty
každého bodu výškovej mapy v rámci ovplyvnenej oblastiodoberVzruch(double, double)
,
odoberVzruch(double, double, double)
,
odoberVzruch(Poloha)
,
odoberVzruch(Poloha, double)
,
odoberVzruch(Poloha, double, double)
,
odoberVzruch(double, double, int, int)
public void odoberVzruch(Poloha poloha)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii.
poloha
– poloha stredu oblastiodoberVzruch(double, double)
,
odoberVzruch(double, double, double)
,
odoberVzruch(double, double, double, double)
,
odoberVzruch(Poloha, double)
,
odoberVzruch(Poloha, double, double)
public void odoberVzruch(Poloha poloha, double rozsahVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom.
poloha
– poloha stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)odoberVzruch(double, double)
,
odoberVzruch(double, double, double)
,
odoberVzruch(double, double, double, double)
,
odoberVzruch(Poloha)
,
odoberVzruch(Poloha, double, double)
public void odoberVzruch(Poloha poloha, double rozsahVzruchu, double intenzitaVzruchu)
Odobratie štvorcovej oblasti vzruchu na zadanej pozícii so zadaným rozsahom a intenzitou.
poloha
– poloha stredu oblastirozsahVzruchu
– hodnota rozsahu určená polovicou strany štvorca
ovplyvnenej oblasti (tiež v tvare štvorca)intenzitaVzruchu
– hodnota, ktorá bude odpočítaná od hodnoty
každého bodu výškovej mapy v rámci ovplyvnenej oblastiodoberVzruch(double, double)
,
odoberVzruch(double, double, double)
,
odoberVzruch(double, double, double, double)
,
odoberVzruch(Poloha)
,
odoberVzruch(Poloha, double)
public void uberVzruch(Image obrázok)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme zadaného obrázka. Ak obrázok (maska) nemá zhodné rozmery s rozmermi výškových máp vlnenia, bude použitý tak, ako keby bol nakreslený v strede mapy vlnenia (ak je väčší, nadbytočné časti budú ignorované, ak je menší, chýbajúce časti budú považované za prázdne). Hodnoty bodov výškovej mapy vlnenia budú potom ovplyvnené súčtom negatívnych hodnôt farebných zložiek jednotlivých bodov obrázka. Čierne body znamenajú maximálny úbytok intenzity, farby s najvyššími hodnotami jedinej farebnej zložky (červenej, zelenej alebo modrej) znamenajú dvojtretinový úbytok intenzity a biele body znamenajú nulový úbytok intenzity. Popri tom je zároveň braná do úvahy aj úroveň priehľadnosti jednotlivých bodov masky. Neviditeľné body sú paušálne ignorované a intenzita polopriehľadných bodov je adekvátne znížená.
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na pridanie vzruchov k aktuálnej výškovej mape vlneniauberVzruch(Image, int)
,
uberVzruch(Shape)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double)
,
uberVzruch(Shape, double, int)
,
pridajVzruch(Image)
,
odoberVzruch(Image)
public void uberVzruch(Image obrázok, int posunIntenzity)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme
zadaného obrázka s možnosťou posunutia výslednej intenzity hladiny
pre všetky ovplyvnené body (v zápornom smere). Ak je posun intenzity
nulový, tak je výsledok vykonania tejto metódy rovnaký ako pri metóde
uberVzruch(obrázok)
(pozrite si aj jej
opis). Táto metóda pôsobí ako negatívna verzia metódy
pridajVzruch(obrázok, posunIntenzity)
.
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na odobratie vzruchov k aktuálnej výškovej mape vlneniaposunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)uberVzruch(Image)
,
uberVzruch(Shape)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double)
,
uberVzruch(Shape, double, int)
public void uberVzruch(Shape tvar)
Odoberie z hladiny vzruch v zadanom tvare. Tvar je považovaný za
vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do vnútornej
masky (čo je v podstate obrázok), ktorú použije rovnakým spôsobom ako
metóda uberVzruch(obrázok)
. (Pozrite si
aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyuberVzruch(Image)
,
uberVzruch(Image, int)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double)
,
uberVzruch(Shape, double, int)
public void uberVzruch(Shape tvar, int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body. Tvar je
považovaný za vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do
vnútornej masky (čo je v podstate obrázok), ktorú použije rovnakým
spôsobom ako metóda uberVzruch(obrázok,
posunIntenzity)
. (Pozrite si aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyposunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)uberVzruch(Image)
,
uberVzruch(Image, int)
,
uberVzruch(Shape)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double)
,
uberVzruch(Shape, double, int)
public void uberVzruch(Shape tvar, boolean vyplnený)
Odoberie z hladiny vzruch v zadanom tvare. Tvar je považovaný za
vyplnenú plochu alebo kreslenú čiaru podľa hodnoty parametra
vyplnený
. Metóda funguje tak, že zadaný tvar nakreslí alebo
vyplní do vnútornej masky (čo je v podstate obrázok), ktorú použije
rovnakým spôsobom ako metóda uberVzruch(obrázok)
. (Pozrite si aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako nakreslená čiara (s predvolenou
hrúbkou 6.0
bodov)uberVzruch(Image)
,
uberVzruch(Image, int)
,
uberVzruch(Shape)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double)
,
uberVzruch(Shape, double, int)
public void uberVzruch(Shape tvar, double hrúbkaČiary)
Odoberie z hladiny vzruch v zadanom tvare. Tvar je považovaný za
čiaru nakreslenú so zadanou hrúbkou. Metóda funguje tak, že zadaný
tvar nakreslí do vnútornej masky (čo je v podstate obrázok), ktorú
použije rovnakým spôsobom ako metóda uberVzruch(obrázok)
. (Pozrite si aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruuberVzruch(Image)
,
uberVzruch(Image, int)
,
uberVzruch(Shape)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double, int)
public void uberVzruch(Shape tvar, boolean vyplnený, int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body. Tvar je
považovaný za vyplnenú plochu alebo kreslenú čiaru podľa hodnoty
parametra vyplnený
. Metóda funguje tak, že zadaný tvar
nakreslí alebo vyplní do vnútornej masky (čo je v podstate obrázok),
ktorú použije rovnakým spôsobom ako metóda uberVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis
uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako nakreslená čiara (s predvolenou
hrúbkou 6.0
bodov)posunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)uberVzruch(Image)
,
uberVzruch(Image, int)
,
uberVzruch(Shape)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, double)
,
uberVzruch(Shape, double, int)
public void uberVzruch(Shape tvar, double hrúbkaČiary, int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body. Tvar je
považovaný za čiaru nakreslenú so zadanou hrúbkou. Metóda funguje tak,
že zadaný tvar nakreslí do vnútornej masky (čo je v podstate obrázok),
ktorú použije rovnakým spôsobom ako metóda uberVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis
uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruposunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)uberVzruch(Image)
,
uberVzruch(Image, int)
,
uberVzruch(Shape)
,
uberVzruch(Shape, int)
,
uberVzruch(Shape, boolean)
,
uberVzruch(Shape, boolean, int)
,
uberVzruch(Shape, double)
public void odoberVzruch(Image obrázok)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme zadaného obrázka. Ak obrázok (maska) nemá zhodné rozmery s rozmermi výškových máp vlnenia, bude použitý tak, ako keby bol nakreslený v strede mapy vlnenia (ak je väčší, nadbytočné časti budú ignorované, ak je menší, chýbajúce časti budú považované za prázdne). Hodnoty bodov výškovej mapy vlnenia budú potom ovplyvnené súčtom negatívnych hodnôt farebných zložiek jednotlivých bodov obrázka. Čierne body znamenajú maximálny úbytok intenzity, farby s najvyššími hodnotami jedinej farebnej zložky (červenej, zelenej alebo modrej) znamenajú dvojtretinový úbytok intenzity a biele body znamenajú nulový úbytok intenzity. Popri tom je zároveň braná do úvahy aj úroveň priehľadnosti jednotlivých bodov masky. Neviditeľné body sú paušálne ignorované a intenzita polopriehľadných bodov je adekvátne znížená.
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na pridanie vzruchov k aktuálnej výškovej mape vlneniaodoberVzruch(Image, int)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double)
,
odoberVzruch(Shape, double, int)
,
pridajVzruch(Image)
,
uberVzruch(Image)
public void odoberVzruch(Image obrázok, int posunIntenzity)
Odoberie z hladiny vzruchy podľa masky reprezentovanej vo forme
zadaného obrázka s možnosťou posunutia výslednej intenzity hladiny
pre všetky ovplyvnené body (v zápornom smere). Ak je posun intenzity
nulový, tak je výsledok vykonania tejto metódy rovnaký ako pri metóde
odoberVzruch(obrázok)
(pozrite si aj jej
opis). Táto metóda pôsobí ako negatívna verzia metódy
pridajVzruch(obrázok, posunIntenzity)
.
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
obrázok
– obrázok, ktorého intenzita a priehľadnosť bodov budú
použité na odobratie vzruchov k aktuálnej výškovej mape vlneniaposunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)odoberVzruch(Image)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double)
,
odoberVzruch(Shape, double, int)
public void odoberVzruch(Shape tvar)
Odoberie z hladiny vzruch v zadanom tvare. Tvar je považovaný za
vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do vnútornej
masky (čo je v podstate obrázok), ktorú použije rovnakým spôsobom ako
metóda odoberVzruch(obrázok)
. (Pozrite si
aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyodoberVzruch(Image)
,
odoberVzruch(Image, int)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double)
,
odoberVzruch(Shape, double, int)
public void odoberVzruch(Shape tvar, int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body. Tvar je
považovaný za vyplnený. Metóda funguje tak, že zadaný tvar nakreslí do
vnútornej masky (čo je v podstate obrázok), ktorú použije rovnakým
spôsobom ako metóda odoberVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis uvedenej
metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyposunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)odoberVzruch(Image)
,
odoberVzruch(Image, int)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double)
,
odoberVzruch(Shape, double, int)
public void odoberVzruch(Shape tvar, boolean vyplnený)
Odoberie z hladiny vzruch v zadanom tvare. Tvar je považovaný za
vyplnenú plochu alebo kreslenú čiaru podľa hodnoty parametra
vyplnený
. Metóda funguje tak, že zadaný tvar nakreslí alebo
vyplní do vnútornej masky (čo je v podstate obrázok), ktorú použije
rovnakým spôsobom ako metóda odoberVzruch(obrázok)
. (Pozrite si aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako nakreslená čiara (s predvolenou
hrúbkou 6.0
bodov)odoberVzruch(Image)
,
odoberVzruch(Image, int)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double)
,
odoberVzruch(Shape, double, int)
public void odoberVzruch(Shape tvar, double hrúbkaČiary)
Odoberie z hladiny vzruch v zadanom tvare. Tvar je považovaný za
čiaru nakreslenú so zadanou hrúbkou. Metóda funguje tak, že zadaný
tvar nakreslí do vnútornej masky (čo je v podstate obrázok), ktorú
použije rovnakým spôsobom ako metóda odoberVzruch(obrázok)
. (Pozrite si aj opis uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruodoberVzruch(Image)
,
odoberVzruch(Image, int)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double, int)
public void odoberVzruch(Shape tvar, boolean vyplnený, int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body. Tvar je
považovaný za vyplnenú plochu alebo kreslenú čiaru podľa hodnoty
parametra vyplnený
. Metóda funguje tak, že zadaný tvar
nakreslí alebo vyplní do vnútornej masky (čo je v podstate obrázok),
ktorú použije rovnakým spôsobom ako metóda odoberVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis
uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyvyplnený
– ak je true
, tak tvar bude použitý ako
vyplnený, v opačnom prípade ako nakreslená čiara (s predvolenou
hrúbkou 6.0
bodov)posunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)odoberVzruch(Image)
,
odoberVzruch(Image, int)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, double)
,
odoberVzruch(Shape, double, int)
public void odoberVzruch(Shape tvar, double hrúbkaČiary, int posunIntenzity)
Odoberie z hladiny vzruch v zadanom tvare s možnosťou posunutia
výslednej intenzity hladiny pre všetky ovplyvnené body. Tvar je
považovaný za čiaru nakreslenú so zadanou hrúbkou. Metóda funguje tak,
že zadaný tvar nakreslí do vnútornej masky (čo je v podstate obrázok),
ktorú použije rovnakým spôsobom ako metóda odoberVzruch(obrázok, posunIntenzity)
. (Pozrite si aj opis
uvedenej metódy.)
Poznámka: Úbytok intenzity neznamená jej útlm, ale odčítanie. To znamená, že efekt odčítania nejakej hodnoty od hladiny s nulovou intenzitou má za následok vyvolanie vlnenia so zápornou začiatočnou hodnotou „výšky,“ resp. hĺbky vlny.
tvar
– tvar, podľa ktorého bude ovplyvnená prislúchajúca časť
hladinyhrúbkaČiary
– hrúbka čiary použitého tvaruposunIntenzity
– posun výslednej intenzity jednotlivých bodov
masky (v zápornom smere)odoberVzruch(Image)
,
odoberVzruch(Image, int)
,
odoberVzruch(Shape)
,
odoberVzruch(Shape, int)
,
odoberVzruch(Shape, boolean)
,
odoberVzruch(Shape, boolean, int)
,
odoberVzruch(Shape, double)
public void roluj(double Δx, double Δy)
Roluje mapu vlnenia o želaný počet bodov v horizontálnom a vertikálnom smere. Rolovanie znamená, že tá časť mapy vlnenia, ktorá opustí plochu mapy v ľubovoľnom smere bude stratená.
Varovanie! Rolovanie a pretáčanie údajov inštancií vlnenia je takmer 10-násobne výpočtovo náročnejšie v porovnaní s rolovaním obrázkov a plátien sveta. Navyše, výsledok rolovania nemusí spĺňať všetky očakávania, pretože simulácia vlnenia je ovplyvňovaná rozmermi vlnenej plochy – prirodzeným dôsledkom algoritmu totiž je aj jeho správanie, ktoré ústi do toho, že sa vlny odrážajú od hraníc celej vlnenej plochy rovnako ako od hraníc deaktivovaných oblastí.
Δx
– posun v horizontálnom (vodorovnom) smereΔy
– posun vo vertikálnom (zvislom) smerepretoč(double, double)
public void pretoč(double Δx, double Δy)
Pretočí mapu vlnenia o želaný počet bodov v horizontálnom a vertikálnom smere. Pretočenie znamená, že tá časť mapy vlnenia, ktorá opustí plochu mapy v jenom smere (napr. hore) bude doplnená v protiľahlom smere (napr. dole) a naopak.
Varovanie! Rolovanie a pretáčanie údajov inštancií vlnenia je takmer 10-násobne výpočtovo náročnejšie v porovnaní s rolovaním obrázkov a plátien sveta. Navyše, výsledok rolovania nemusí spĺňať všetky očakávania, pretože simulácia vlnenia je ovplyvňovaná rozmermi vlnenej plochy – prirodzeným dôsledkom algoritmu totiž je aj jeho správanie, ktoré ústi do toho, že sa vlny odrážajú od hraníc celej vlnenej plochy rovnako ako od hraníc deaktivovaných oblastí.
Δx
– posun v horizontálnom (vodorovnom) smereΔy
– posun vo vertikálnom (zvislom) smereroluj(double, double)
public void pretoc(double Δx, double Δy)
Alias pre pretoč
.
public void vykonaj()
Vykoná proces vlnenia – prepočíta ďalšiu snímku. Táto metóda je
programovacím rámcom používaná automaticky počas činnosti časovača.
Vyžitie však môže nájsť v prípade deaktivovaných inštancií vlnenia na krokové posúvanie simulácie
vlnenia. Podobný účel plní metóda simuluj
, ktorá
je schopná posunúť simuláciu vlnenia o niekoľko snímok dopredu. (Tá
nie je programovacím rámcom používaná automaticky.)
simuluj(int)
public void simuluj(int počet)
Vykoná výpočet niekoľkých snímok procesu vlnenia naraz – posunie simuláciu vlnenia o niekoľko snímok dopredu. Táto metóda nie je používaná programovacím rámcom automaticky. Slúži na získanie rastra, ktorý je deformovaný v určitej pokročilej fáze vlnenia. V súčinnosti s deaktivovaním automatického prepočítavania počas časovača môže byť táto metóda využitá na získanie statických snímok (rastrov) deformovaných algoritmom vlnenia, ktorý bol vopred posunutý do určitej fázy, v ktorej ho ponecháme zamrazený a tým využiť tento algoritmus napríklad na simulovanie zvlneného skla.
počet
– počet snímok, ktoré majú byť prepočítanévykonaj()
public BufferedImage zvlnenýRaster()
Táto metóda vráti rastrový obrázok inštancie typu
BufferedImage
obsahujúci aktuálny zvlnený
obraz svojej predlohy. To znamená, že obraz v tejto inštancii je
pravidelne aktualizovaný a obsahuje algoritmicky prepočítaný zvlnený
obraz zdroja – predlohy, ktorá bola zadaná pri
konštrukcii tejto
inštancie vlnenia.
Rámec je vnútorne schopná rozpoznať, či má jeho konkrétna súčasť (napríklad plátno alebo obrázok) zapnutý mechanizmus vlnenia a ak je mechanizmus zapnutý, tak je počas kreslenia vykonaného v rámci programovacieho rámca vždy nakreslený zvlnený raster. Ak by ste však potrebovali zvlnený raster objektu použiť mimo programovacieho rámca, tak bez tejto metódy by to nebolo možné, pretože samotná inštancia objektu (to jest napríklad obrázka) navonok vždy reprezentuje len svoju nezvlnenú verziu.
Pripomenutie faktov: Animácia vlnenia použitého v rámci programovacieho rámca je vykonávaná automaticky počas činnosti časovača a zvlnený raster je v rámci programovacieho rámca tiež použitý automaticky v čase kreslenia objektu.
null
, ak vlnenie pre tento obrázok
nie je aktívnepublic BufferedImage zvlnenyRaster()
Alias pre zvlnenýRaster
.