Žemės vandens paviršius.

Kas, bangos, sustabdė tave,

Kas apribojo tavo galingą bėgimą,

Kas yra tyliame ir tankiame tvenkinyje

Ar maištaujantis srautas apsisuko?
A. S. Puškinas

Pavadinime keliamas klausimas gali sukelti nuostabą: ar ne dėl to vandens paviršius vadinamas lygiu, nes jis linkęs užimti griežtą horizontali padėtis; kalbėdami apie lygį, jie turi omenyje kažkokią plokštumą, o kas gali būti lygesnis už vandens paviršių? Nenuostabu, kad jie taip sako!

Nenuginčysime tradicinių idėjų, bet patikslinkime: frazė „vandens paviršius“ tinka tuo atveju, kai vanduo nejuda. Tačiau tai praktiškai niekada neįvyksta. Vanduo turi kitokį charakterį...

Atsigręžiant į natūralius vandens telkinius

projektų, retai randame patvirtinimą

vyraujančios idėjos apie idealą

horizontalus vandens lygis, o štai pavyzdžiai

jos nehorizontalumai yra visur – nuo

vandens lašai į vandenyną. Nehorizontalus

matomas net mikro lygiu. Pavyzdžiui,

lygiu stiklinėje arba ploname vamzdelyje

vanduo visada turi aiškią įgaubtą formą,

atitinkantis didžiausią koeficientą

pas padavėją paviršiaus įtempimas tarp

skysčiai (išskyrus gyvsidabrį). Pagal tai

dėl tos pačios priežasties vandens lašas neišsiskleidžia

ant vaško popieriaus ir apskritai esant nulinei gravitacijai

lieka rutulio formos.

Horizontalaus vandens lygio pažeidimas

paviršius pastebimas ir makro lygmeniu. Tolumoje

iš vandenynų ir jūrų, jų paviršius yra

mums atrodo griežtai horizontalus. Bet jei

jūra plečiasi prieš tavo akis,

vaikščiok žvilgsniu horizontu – tu

pamatysi ne tiesią liniją, o lanką... Ir plane-

konteinerių mastelis vandenynų ir jūrų jų vandens

paviršius tikrai sferinis, tai

pakartoja kontūrą gaublys ir jos verksmas -

vertę lemia fizikos dėsniai.

Žinoma, planetų kreivumas yra kitas dalykas

ne vandenyno vandens „paviršius“, tai periodiškai

sutrikdyta ilgų bangų perėjimo

atoslūgiai ir srautai, susiję su padėtimi

Mėnulis ir Saulė. Potvynių metu nuolydis yra

nukreipta į sausumą, atoslūgių metu – į

išvirkščia pusė.

Potvynio bangos aukštis skiriasi

vietų Žemėje ir priklauso nuo krantų formos.

Didžiausi potvyniai Žemėje (15,6–18 m)

įrašytas Fundy įlankoje (Atlanto vandenyne

Kanados pakrantė). Europos konferencijoje

Tinente didžiausias potvynis (iki 13,5 m)

pastebėta toliau vakarinis krantas Prancūzija, in

Bretanė. Rusijoje tokių potvynių pasitaiko

randami Okhotsko jūros Penžinskajos įlankoje - iki

12,9 m. Tai didžiausia atoslūgių vieta

visame Ramiajame vandenyne.

Be potvynių pusiausvyros lygio

nya vandenyno jo horizontalumas yra pastovus

iškreiptas vėjo bangų

srovės, audros bangos ir netoli pakrantės

gov – banglenčių pliūpsniai. Pats galingiausias

Žemė šilta srovė Golfo srovė atrodo

„išgaubta“ upė, iškilusi virš paviršiaus

ness Atlanto vandenynas 1-2 m.

Taigi „vandenyno paviršius“ yra tik romanas -

vaizdinė išraiška, apie ką turėjau omenyje

dėmesio puikus geografijos ekspertas

Vandenynų rašytojas Žiulis Vernas. Jo baneris

Kapitonas Nemo ne kartą neigė

„vandenyno paviršiaus“ idealizavimas: „Lengva

vandens paviršiumi nubėgo raibulis... Šviesa

vėjelis šiek tiek barškino vandens paviršių... Nieko

vandens paviršiuje iškilusios bangos...“ Ir štai

pagrindinė išvada: „Užšalęs vandens paviršius, į

jo nuostabai, visai priešingai nei tikėjosi

Jis nepasirodė toks lygus kaip veidrodis.

Taigi vandens "paviršius" yra retenybė.

Puškinas netgi matė „švelnią“ Juodąją jūrą

briedis kitokios nuotaikos:

Triukšmauti, triukšmauti, paklusni burė.

Nerimas po manimi, paniuręs vandenynas.

O kokios emocijos mus užvaldo pamačius

grėsmingas vandenyno paviršius paveiksluose

I.K. Aivazovskis! Vandenynas yra šalia mūsų didybės

Jūrų tapytojas niekada nėra ramus.

Bet gal ieškant „veidrodžio“

vandens verta pasukti į mažesnius plotus

vandens telkiniai? Ar negalime ten rasti idėjų pavyzdžių?

Ar tai tikrai plokščio vandens lėktuvas?

Ne, priešingai populiariam įsitikinimui,

vandens lygis didelių ežerų paviršiuje

taip pat negali būti griežtai horizontalus. Jis

turi „iškraipymų“ ilgų, akį traukiančių formų

nepastebimos bangos – vadinamosios seiches.

Jie atsiranda veikiami išorės

jėgos: atmosferos slėgio pokyčiai,

vėjo kryptis ir greitis, seisminis

drebėjimai, bankų griūtys.

Seičams būdingas didelis laikotarpis

namuose (nuo kelių minučių iki dešimčių valandų)

ir pastebima amplitudė (nuo milimetrų iki

kelis metrus). Taip, Ženevos ežere

(Šveicarija) seiche amplitudė siekia 2 m s

ilgesniam nei vienos valandos laikotarpiui. Ir pakankamai

izoliuotas ir seklus Azovas

jūra, seichai buvo stebimi iki 23 val

valandų ir 10-25 cm amplitudė.

Kažkas panašaus vyksta suomių kalboje

įlanka, kur gilus ciklonas su stipriu

mi vakarų vėjai sukuria "kreipimą"

lygiai ir ilga banga, išsiskleidžia,

rieda į Nevos žiotis, sukeldamas garsiąją

potvyniai Sankt Peterburge. Puškinas, ne

neturėdamas sistemingų stebėjimų,

trumpai ir tiksliai apibūdino priešingą priežastį

Nevos tėkmė, tai yra, keičiasi jos nuolydis:

Bet vėjų stiprumas iš įlankos

Užblokuota Neva

Ji grįžo atgal, pikta, šniokščianti,

Ir užtvindė salas...

Paprasčiausią seiche modelį lengva pagaminti

stebėti vandens dubenyje. Sūpuoja jį vieną

kartų, jūs galite pamatyti, kaip kyla bangos,

pakartotinai atsispindi iš šonų, perduodamas

patrinkite paviršių. Jie stumia -

xya, chaotiškai sutampa vienas su kitu,

sukurti sudėtingą bangų sistemą.

Tačiau reikšmingiausi horizontalės iškraipymai

vandens lygio zoniškumas atsiranda ties

mobiliausias vandens kūnai- iš naujo

Akivaizdu, kad bet koks vandens srautas negali

būti griežtai horizontaliai būtent todėl

kad jis teka, vadinasi, turi nuolydį, nes

Kaip sakoma, be nuolydžio vanduo nenutekės. IR,

žvelgdami į išilginį upės profilį, mes

šlaito kryptį visada matome kaip dugną

upė ir jos paviršius.

Bet jei upės vaga pakankamai stabili,

vandens lygis jame nuolat kinta.

Neatsitiktinai jis matuojamas vandens skaitikliais

pranešimai skelbiami bent du kartus per

dieną, per didelį vandenį ir potvynius – kiekvieną

Jau laikas. Būtent šiais laikotarpiais upės ypač paveikiamos

agresyvūs, ypač kai jie kelia grėsmę

„šokti aukštai“ (vėl tik vaizdas)

išraiška, reiškianti aukščiausią

Didesnis lygio kilimas ir išėjimas upės vanduo už nugaros

savo kanalo ribas).

Aišku, kad reikia žinoti kaip

upė gali pakilti aukštai. Dauguma

miestai atsirado tuo metu, kai dar nebuvo

informacijos apie galimus svyravimus nėra

vandens lygis upėse, o dabar jų daug

žiauriai kenčia nuo periodinio kartojimo

besitęsiantys katastrofiški potvyniai. Generolas

žinomi potvyniai Kinijos, Indijos upėse,

JAV, kai kurios Europos šalys. Potvynis

susitikimai vyksta Sankt Peterburge, Archangelske,

Krasnojarskas, Blagoveščenskas, Krymskas ir

kituose miestuose ir apgyvendintose vietovėse Rusija.

Atsižvelgiant į liūdną potvynių patirtį

miestai, projektavimas ir statyba

naujos atliekamos privalomai įvertinus

aukščiausias vandens lygis. Bet kaip nustatyti

tokio pakilimo mastas? Tam jums reikia

žinoti upės vandens režimo dėsningumus ir

ežerų, turi ilgą stebėjimų seriją

juos. Pagal chronologinį dienos tvarkaraštį

reikšmingi vandens lygio pokyčiai (tai vadinama

hidrografas) galima spręsti apie vandens prigimtį

mityba, laikas ir dydis

ekstremalios situacijos.

Vandens lygio kilimo aukštis upėse

didelio vandens ar potvynių laikas priklauso nuo

daug priežasčių: kai kuriose upėse tai puiku

apie sniego atsargas ir jų tirpimo intensyvumą,

ant kitų – kritulių kiekis ir trukmė

lietaus atsiradimas, trečia - sąlygos

sušalimas ir lūžimas nuo ledo, draugystė

ledo dreifas, ketvirtoje - vėjo kryptis-

griovys ir potvyniai. Bet stipresnis

turi įtakos baseino dydis ir

upės vagos prigimtis. Aišku, tuo stipresnis

kanalą riboja krantai, tuo didesnė upė

Noriu išsiveržti už jos ribų ir dar aukščiau

ji turi keltis. Ir atvirkščiai: į

plačios pelkėtos salpos, kur nieko

neleidžia upei plisti plačiau, kylančiam vandeniui

nepilnametis. Ypatingai raminantis

paveikti upes... ežerus ir pelkes. Nei jų

daugiau upės baseine, tuo mažiau

vandens lygio svyravimai.

Koks yra tikrasis vandens lygio kilimas?

ant upių ir ežerų? Ir ar jie nėra vaisiai

meninės vaizduotės pasakojimai apie

multimetro šuoliai upės lygyje, apie vandenį

ny šachtos, apie kaimus, paslėptus po vandeniu,

apie didžiulių erdvių užliejimą, proporcingai

ratlankis su kai kurių valstybių plotu?

Kaip parodė ilgamečiai hidrologai,

stebėjimų stebėjimai, tokie įvykiai yra ne tik

įvyko ir vyksta, tačiau jie gali būti

ribota klasifikacija.

Didžiausias vandens lygio pakilimas užfiksuotas

tikėtinos žemumose, tekančiose giedromis upėmis

ryškūs krantai, nesant salpos. IN

tokiomis sąlygomis net mažose upėse svyravimai

lygis siekia 2-4 m, o vidutinis ir didelis

aukštas – vanduo gali pakilti į aukštį

kelių aukštų pastatai. Apie "gražią mėlyną"

Dunojus“ girdėjo visi, bet ne visi žino, kas tai yra

du tūkstančiai kilometrų nuo jos žiočių, Austrijoje,

Dunojaus vandens lygio svyravimų amplitudė

siekia beveik 15 m, pažymėta Budapešte

peršoka per 10 m Tačiau Europoje

Šuolio į aukštį rekordas priklauso... Gerai.

Kalugos srityje lygio svyravimų amplitudė

daugiau nei 120 metų laikotarpį

deniya pasiekė 19 m! Šiame fone pakyla

vandenys prie Dono atrodys nuosaikūs – „visi

„eiti“ 12–14 m, o Volgos aukštupyje (prieš sukūrimą

reguliuojantys rezervuarai) vandens virš 10 m

nepasikėlė.

Įveikta gana aukšta kartelė -

teka mūsų šiaurinės upės. Galingas vanduo

upeliai apriboti statūs ir stiprūs

krantų, galinčių pakilti į aukštumas

10-12 m Virpesių amplitudės ypač didelės

pirties lygiai Pechora. Beveik ant visko

per visą skirtumą tarp minimumo

o maksimalus lygis siekia 12 m.

Lygiai taip pat „šokantis“ Pečoros intakas yra upė

JAV. Kitas šiaurinis milžinas – Severnaja

Dvina yra beveik tokia pat gera, kaip ir jos kaimynė. IN

Ust-Pinegos regione, ilgalaikiai svyravimai

lygis viršijo 12 m gana „šokantis“.

ir Sukhonos upė, ypač jos žemupyje.

Dešimt metrų jo vandens lygio pakilimo nėra

kartą patyręs Veliky Ustyug.

Tačiau, nepaisant garsaus rusų-

"Jos upių potvyniai yra kaip jūros"

reikėtų ieškoti čempionų „šokime aukštyn“.

Azijoje. Didžiausias vandens lygio pakilimas

mūsų šalyje – iki 32 m – stebėta upėje

Tunguska. Laimei, ne ekonominis

Šioje srityje objektų nėra. Ir tarp pasaulio

milžiniškas upes padarė aukščiausią „šuolį“.

Kinijoje teka Jangdzė. Siauroje vietoje netoli miesto

Ichan jis pasiekia 50 m Kokios galios reikia?

bet turėti tokį aukštį!

Upės su potvyniais net negali

priartėti prie panašių rezultatų. Paprastai

vandens lygio svyravimų juose amplitudė

aukštupyje neviršija 1,5–2 m, in

vidutiniškai – 15-20 m. Dėl šios priežasties Volga

žemupyje, o Uralas per visą ilgį nėra žemiau

yra aukštesni nei 10 m.

Įtekančių upių rezultatai dar mažesni

lygumų pelkių ribose

riy - in Vakarų Sibiras, Polesėje. Čia toliau

didelės upės - Ob, Pripyat - amplitudė

lygio svyravimai vos siekia 8-10 m, at

mažos upės - 1-1,5 m.

Žemiausi rezultatai rodo

ežeras ir kalnų upės. Ilgalaikiai svyravimai

vandens lygio žeminimas net giliose upėse

neviršija 4-6 m Tai apima

Angara, Volchovas, Neva. Taip, per visą istoriją

stebėjimai prie Novaja Ladoga, virpesių amplitudė

Vandens lygis Volchove buvo 3,3 m.

Dar mažiau – Nevai, kurios tėkmė beveik

visiškai reguliuojama Ladoga.

Šiuo atžvilgiu kyla klausimas: kaip?

Ar mums reikia pakelti ežerus? Skirtingai nuo upių,

didelė ežerų talpa neleidžia jiems to padaryti

greitai ir lengvai pasiduoda orų užgaidoms

taip – ​​draugiškai tirpsta sniegas, intensyvus

lietus, pučiantys vėjai ir kt. Todėl am-

jų lygių amplitudė yra daug mažesnė, ypač

prie kietų ežerų. Ladogos ežero lygis,

pavyzdžiui, per stebėjimo laikotarpį daugiau nei

140 metų svyravo per 1,5-2,5 m, at

Baikalo, pasaulietiniai lygio svyravimai ne iš anksto

aukštis 2,2 m.

Rusijos teritorijoje labiausiai „kyla

bet" Ilmeno ežeras, jo lygių amplitudė

per visą stebėjimo laikotarpį viršija 7 m.

(Kaip neprisiminti legendos apie Kitežo miestą,

pateko po vandeniu?) Tai paaiškinama tuo

koks yra Ilmeno vandens paviršiaus plotas

apie 90 kartų mažiau ploto maitinti -

savo baseino. Štai kodėl ežeras toks audringas

reaguoja į menkiausius vandens kiekio pokyčius

jo didžiulis turtas. Apie tą patį

šiaurinis kaimynas Vologdoje elgiasi

rangas - Kubenskoje ežeras, aukščiausi pakilimai

lygis ten siekia 5-6 m

ežerai Rusijos šiaurėje ir šiaurės vakaruose

diapazonas 2-3 m.

Ir vis dėlto pasaulyje yra unikalus

beveik absoliučios horizontalės pavyzdys

tality vandens - tai be nutekėjimo Big

Druskos ežeras JAV šiaurės vakaruose. Tu-

iki plutos išdžiūvęs druskos sluoksnis pakartoja lygį

vandens ir užtikrina tokį lygų paviršių

paviršių, kuriame atliekami bandymai

ir itin greitų automobilių lenktynėse.

Bet jei lygių „iškraipymai“ būdingi

net ežerams, tai upėse jų dar daugiau

pastebimas. Dėl išilginio nuolydžio jokių abejonių

vandens srautas. Bet ar akivaizdu, kad yra a

pipirai? Sveikas protas raginimai:

jei toks būtų, vanduo judėtų skersai

upės – tarp krantų. Ši prielaida

gali atrodyti absurdiška – juk taip nėra

turi atsitikti!

Tačiau skersinis vandens nuolydis

upės vaga egzistuoja. Tai lengva patikrinti,

stebėdamas didelės žemumos upės gyvenimą.

Atkreipkite dėmesį į vandens elgseną

srautas skirtingais metų laikais. Prizmė -

eiti prie upės pavasarį, per didelį vandenį, per

Aš esu ledo dreifas. Nemokamai plaukiojančios ledo lytys

prieiti, kartais net prisiglausti

į krantus, o užstrigus ledui – dažnai

„ropoti“ ant jų. Tai rodo, kad

yra nuolydis, nukreiptas iš vidurio

upės į krantus. Jei sekate upę

potvynio pabaigoje, esant žemam vandeniui, lengva

bet pastebės, kad visi laisvai plaukioja

daiktai (rąstai, šakos, įvairios šiukšlės)

laikykitės upės vidurio, aiškiai identifikuodami

lojimas vandens srauto šerdį. Tas pats ant

kuriuo „plaukė piešti aštriaplaukiai plaukikai

kanojos“. Todėl yra šališkumas

nukreiptas iš krantų į upės vidurį.

Patyrę vandens turistai gali patvirtinti

ne tik išilginės, bet ir skersinės

ny srovės upės vagoje, ypač kur

pasikeičia strypo kryptis.

Kas paaiškina atsiradimą

sezoniniai kryptiniai skersiniai kampai

gimdos? Hidrologai mano, kad jų priežastis

yra reikšmingi srauto greičio pokyčiai

vanduo upės vagoje. Daugumos upių tūris

vanduo potvynio metu arba potvynio metu gali

ištirpsta dešimteriopai. Todėl kai upės vaga

persilieja vandeniu, didžiausias srautas-

žinių gebėjimas patenka į vidurį

upės dalis, kurioje trinties įtaka krantams ir

dugnas palyginti mažas ir nereikšmingas

turi įtakos srauto greičiui. Kaip rezultatas

didesnis slėgis, vandens lygis čia tampa

svyruoja aukščiau nei prie kranto. Ir tada jie sako:

— Upė užpustė. Kartais tai netgi pastebima

akis; didelėse ir giliose upėse viršija

vidutinio lygio pasiskirstymas pakrantėje

siekia 1 m Šiais atvejais su upės pločiu

1,5-2 km, skersinis nuolydis viršija 0,001,

o tai yra daug net ir išilginiam ES nuolydžiui.

natūralūs vandens telkiniai. Dėl šio skirtumo

lygių upėje juda vanduo iš

kanalo vidurio į krantus, kuris nuneša

ledo lytys už tavęs.

Pasibaigus potvyniui – upės vandens kiekis ir gylis

sumažėja, o slopinamasis poveikis didėja

dugno ir krantų grimzdimas. Tai veda prie

vandens lygis prie kranto yra aukštesnis,

nei upės viduryje, kanale atsiranda judėjimas

vandens srautas kryptimi nuo krantų į centrą.

Akivaizdu, kad upėje plūduriuoja objektai

bus linkęs į jos vidurį, todėl anot jų

galima nustatyti vietą upelyje

ir vandens režimo fazės – kilimas arba kritimas.

Apibrėžimas, žinoma, bus paviršutiniškas,

nes nematome, kas vyksta gelmėse

lovos. Upė meistriškai slepia galus vandenyje,

ir galima tik spėti, kad be to

išilginis greitis upėse yra

pipirų cirkuliacijos srovės.

Priežastis šis reiškinys buvo atidarytas

tik praėjusio amžiaus viduryje. Eksperimentinis

M. A. Velikanovo pasakos (1958),

N.I. Makkaveev ir kiti (1961) nustatė, kad

kad upės paviršius gali pakeisti savo

formos, formuoja įvairius šlaitus

įtakoja padidėjimas arba sumažėjimas

jo suvartojimas, išcentrinės jėgos buvimas

posūkių, Žemės sukimosi jėgų, vėjo ir

Dauguma sudėtingų atvejų oro judėjimas

išnykti upės vagos vingiuose, kur kartu su jėga

gravitacija, srauto greitį veikia centro-

bėgimo jėga, kuri „spaudžia“ srautą vandens link

išlenktas (pakirstas) krantas ir keli

pakelia vandens lygį. Kaip rezultatas

perteklius hidrostatinis slėgis in

apatinius sluoksnius, vanduo „išspaudžiamas“ ir nukreipiamas

juda link išgaubto kranto.

Taigi du skersiniai

srovės: vienas - „paviršius“, smūgiuojantis

į įgaubtą krantą, kitas - "apačioje", ant-

pataisyta priešinga pusė. IN

kiekvienas lenkiamas cirkuliacijos kryptimi

tavo. Posūkiuose į dešinę yra vandens čiurkšlės

judėkite pagal laikrodžio rodyklę, kairėje - kryptimi

karine kryptimi. Taip sukuriamas ratas

cirkuliacija upelyje.

Maišymas su pagrindine išilgine

srautas, įjungtos skirtingos krypties srovės

paviršių, o apačioje sukuria spiralę

(„spiralinis“) vandens judėjimas. Kai kurios upės

taip jos teka – „spirale“ nuo vingio iki

vingiuoja pasroviui.

Daugiau sunkesnis judėjimas upės įtekėjimas

„kritiniais“ sezoniniais laikotarpiais. Su svoriu

rudens potvynis išgaubta vandens forma

paviršius sukuria du besiskiriančius link

šlaitų krantai ir juos atitinkantys te-

skaitymai. Tuo pačiu metu, pasiekę dugną, jie keičiasi

kryptimi ir, susidūręs viduryje,

skubėti į paviršių. Vasaros mėnesiais

vandens judėjimas vyksta skirtingai:

paviršiniai srautai nukreipti į vidurį

upės susiduria ir eina į gelmes, kur

nukrypti link krantų. Taigi,

šiais laikotarpiais upės tėkmė susideda iš dviejų

juda lygiagrečiai, bet priešingai

susukti spiralės srautai.

Stebėjimai rodo, kad labiausiai

stabilus lygis upėse ir ežeruose vasarą ir

žiemos žemas vanduo. Tai laikotarpiai, kai antplūdis

vanduo yra ribotas ir gali net sustoti,

o patys lygiai minimalūs. Ir dažnai

vandens paviršius praranda natūralų atvirumą

tai yra, vasarą padengtas šilumą mėgstančiu vandeniu,

augmenija (antžolė, dumbliai),

o žiemą – ledas. Abu susilaiko

bangų vandens lygio svyravimai.

Tokie rezervuarai yra labai poetiški ir mylimi.

menininkai. Prisiminkite užaugusį tvenkinį

V. M. Vasnecovo paveiksle „Alionuška“ arba

peizažuose vandens lelijomis apaugę tvenkiniai

Claude'as Monetas...

Kalbant apie išlyginimo įtaką

ledo danga, tada ir čia tik įmanoma

žavisi Puškino stebėjimo galiomis,

kuris rado tikslų ir elegantišką palyginimą:

Tvarkingesnis nei madingas parketas

Upė šviečia, padengta ledu.

Be jokios abejonės, „užšalusios“ upės ir tvenkiniai

Kartais jie sukuria vandens veidrodžio įspūdį.

Ir, tiesą sakant, tikras horizontalumas

egzistuoja, bet tik labai nedaugelyje vandenų

daiktai, dažniausiai maži, uždari-

izoliuotas nuo išorinių poveikių,

ir net tada trumpam ir tam tikram laikui

ilgio gabalas. Taigi į klausimą,

pavadinime, tai nutinka dažniau

atsakyti neigiamai. Ir jei tai pusė -

gyventi, tada su didelėmis išlygomis...

Labai dažnai trimatėse programose, tiksliau žaidimuose, yra vandens erdvės. Jei kažkada buvo galima apsieiti su mėlynu stačiakampiu, rodančiu skystį, tai dabar toks vandens vaizdas atrodo juokingas ir niekaip nepatenkina neišsakytų reikalavimų realistinei grafikai. Kūrėjai susiduria su klausimu: kaip pavaizduoti vandens paviršių?

Kas tai apima? Išsiaiškinkime.
1. Atspindys – virš jo esančios erdvės atvaizdavimas vandens paviršiuje. Šis punktas bene svarbiausias vaizduojant daugiau ar mažiau tikrovišką vandenį.
2. Refrakcija – erdvės, esančios po vandens paviršiumi, atvaizdavimas.
3. Ūkas/vandens tankis – lūžio spalvos pokytis priklausomai nuo gylio (kuo giliau erdvė vandens paviršiaus atžvilgiu, tuo tamsesnė/drumstesnė ji atrodo).
4. Apšvietimas.
5. Bangos taip pat yra svarbus taškas kuriant tikrovišką vandens paviršių.

Dabar išsiaiškinkime, kas ir kaip įgyvendinama taikymo požiūriu.

1. Pirma, apibrėžkime, kas yra vanduo. Yra keletas atvejų:
- keturkampis
- Mažo polio modelis
- daugiakampis modelis.

Atsižvelgiant į atliekamą užduotį, pasirenkamas vienas iš įgyvendinimo būdų. Paprasčiausias yra tai, kad vandens paviršius yra kvadratas (du daugiakampiai). Fizinis judėjimas nėra. Efektas bangos paviršius galima pasiekti tik padedant specialios kortelės poslinkiai.
Žemo daugiakampio modelis – niekuo nesiskiria nuo ankstesnio, išskyrus tai, kad paviršius susideda iš kelių daugiakampių, kurie svyruoja pagal tam tikrą dėsnį (paprasčiausiu atveju sinusoidė). Tai sukuria „dinamiškesnio“ bangos judėjimo vaizdą.
Kelių daugiakampių modelis yra visiškai kitoks būdas. Bangos yra dinamiškai besikeičiančių primityvų matricos. Sąžiningiausias bangų vaizdas, bet kartu ir daugiausiai išteklių reikalaujantis pasirinkimas. Turėtų būti naudojamas tik tada, kai reikia aukščiausio lygio kokybės.
Dažniausiai naudojamas pirmasis arba antrasis variantas.

2. Refleksija. Atspindys vandens paviršiuje yra ne kas kita, kaip tekstūra. Vienintelis sunkumas yra tas, kad jis nuolat keičiasi ir vienos pastovios tekstūros nepakanka (išskyrus netikrą atspindį - dangaus tekstūrą; metodas yra nerealus ir turėtų būti naudojamas tik paspartinti atvaizdavimą, jei reikia). Išsiaiškinkime, iš kur gauti šį vaizdą. Atspindys vandens paviršiuje yra erdvės virš vandens vaizdas, bet atspindėtas horizontaliai.

Norėdami jį gauti, tiesiog reikia „atspindėti“ fotoaparatą vandens paviršiaus atžvilgiu.

3. Refrakcija. Viskas panašiai, išskyrus tai, kad refrakcijos vaizdas yra būtent toks vaizdas, kokį mato kamera, neatsižvelgiant į patį vandenį.

4. Apšvietimas. Nieko neįprasto, paprastas apšvietimas, toks pat kaip ir kitiems objektams (kad vanduo nebūtų vienspalvis).

5. Bangos. Kaip jau minėjome, bangos gali būti vaizduojamos dviem būdais (netikros bangos naudojant tekstūras ir teisingos bangos naudojant geometriją).
Jei viskas aišku su geometrija (kiekvienos viršūnės padėtis keičiasi priklausomai nuo fizinis įstatymas arba triukšmo žemėlapiai), tada klastotė tampa šiek tiek painesnė, bet tuo pačiu ir paprastesnė.
Netikras bangas galima atvaizduoti naudojant du dalykus: šviesą ir atspindžio / lūžio iškraipymą. Dauguma kokybiškus rezultatus pasiekta per dalijimasisšiais dviem būdais.


Naudodami įprastus žemėlapius apšviečiame vandenį taip, lyg jis būtų
Tikrai yra reljefo bangos.


Iškraipymo pagalba „ištepame“ atspindį/lūžį išilgai bangų struktūros.

Kaip jau minėta, apšviesime pagal bangų struktūrą naudodami įprastus žemėlapius.


Normalus žemėlapis

Įprastas žemėlapis yra grafinis failas, kurio r/g/b kanaluose yra įprasto vektoriaus koordinatės, o ne spalvos. Paprastai jis atrodo taip (žemėlapis, kuriame nesunku pamatyti objekto struktūrą, apšviestas mėlynai violetine spalva).

Iškraipysime vaizdą vandens paviršiuje (ar tai būtų lūžis, ar atspindys, ar abiejų derinys), naudodami tekstūros koordinačių poslinkio žemėlapį.


Tekstūros koordinačių poslinkio žemėlapis (du/dv žemėlapis)

Tekstūros koordinačių poslinkio žemėlapis (arba du/dv žemėlapis) taip pat yra žemėlapis su objekto struktūra, tačiau jo spalvos gali būti labai skirtingos (nuo pilkai rudos iki geltonai raudonos). Tokie žemėlapiai spalvų kanaluose saugo atstumus, kuriais keičiasi tekstūros koordinatės. Remiantis tuo, jie gali būti skirtingų formatų – tiek vieno kanalo (žemėlapiai su nespalvotu gradientu), tiek daugiakanaliai (pavyzdžiui, dviejų kanalų, skirti poslinkiams išilgai x ašies ir y). -ašį atskirai).

Taigi, panaudokime įgytas žinias kurdami nedidelį vandens traukimo planą mūsų programoje. Mums reikia:
1. keturratis;
2. dvi pagalbinės tekstūros (įprastas žemėlapis ir du/dv žemėlapis);
3. keli normalaus atspindžio atvaizdavimo būdai;
4. Shader, kuris perteiks visa tai.

Na, pereikime prie įgyvendinimo.

2. Įgyvendinimas

#define FVF_XYZ_TEX1 (D3DFVF_XYZ|D3DFVF_TEX1) struct VERTEX_XYZ_TEX1 ( VERTEX_XYZ_TEX1() ( ); VERTEX_XYZ_TEX1(D3DXVECTOR3 _pos, D3DXVECTOR) (tes_texpost); XVECTOR3 poz.; D3DXVECTOR2 tex);

Sukurkite viršūnių formato struktūrą ir apibrėžimą. Išsaugosime tik viršūnių koordinates ir tekstūros koordinates, nieko daugiau mums nereikia.

klasė CWATER ( privatus : LPDIRECT3DSURFACE9 psBackBuffer; LPDIRECT3DSURFACE9 psTextureReflect; D3DXMATRIX oldMatView; LPDIRECT3DVERTEXBUFFER9 vb_Water; LPDIRECT3DSURFACE9 pSurfaceZDSURFACE9 pSurfaceZDSURFACE9 pSurfaceZDBDSuffer; // Atspindžio tekstūros skiriamoji geba ir papildomas gylio buferis int iTextureResolution; float fWidthWater; plūduriuoti fDepthWater; // Vandens paviršiaus ilgis ir plotis viešas : LPDIRECT3DTEXTURE9 tex_Reflect; // Atspindžio tekstūra void PreRenderForReflection (Kamera *Kamera);

void PostRenderForReflection(Kamera *Kamera);

VANDUO ();

~VANDUO(); void Init(float _fWidthWater, float _fDepthWater, float fTexScale); // Inicijavimas void Draw(); );Čia yra pagrindinė vandens klasė. Čia matome keletą kintamųjų, apie kuriuos anksčiau net nebuvo užsiminta. Išsiaiškinkime, kodėl jie yra?

Į tekstūrą įtrauksime atspindį (ir lūžį, jei pageidaujama). Tai reiškia, kad pirmiausia turime sukurti šios tekstūros paviršių. Mes išsaugosime jį psTextureReflect. Prieš įtraukdami į jį vietos, turite nurodyti įrenginiui, kad atvaizduojama tekstūra, o ne galinis buferis. Tačiau norėdami vėliau teisingai įtraukti į galinį buferį, turite tai atsiminti ir grąžinti. Mes tai atsiminsime psBackBuffer.
Taip keičiame aktyvųjį Render Target, tačiau norint išvengti problemų piešiant į tekstūrą (braižoma taip, lyg būtų išjungtas gylio buferis arba neteisingai nustatytas kirpimas), reikia daryti ką nors kita. Faktas yra tas, kad galinio buferio dydis yra lygus tam tikrai reikšmei (dažniausiai 1024x768), o kai įtraukiame į tekstūrą, greičiausiai jis turi skirtingą skiriamąją gebą, o tai reiškia, kad šis gylio buferis jam netinka. Jį galite naudoti tik tuo atveju, jei buferio dydis yra didesnis arba

lygus dydžiui

tekstūra, į kurią piešiame.

Pasirodo, kad turėsime sukurti dar du paviršius (praeities prisiminimui ir esamo buferio saugojimui). Tai yra pSurfaceZBuffer ir pLastSurfaceZBuffer.

iTextureResolution – tekstūros skiriamoji geba atspindėjimui (kuo didesnė, tuo geresnis atspindys, bet ir daug resursų reikalaujantis metodas).

void CWATER::Init(plūduriuoti _fWidthWater=10.0f, plūduriuoti _fDepthWater=10.0f, plūduriuoti fTexScale=1.0f) ( fWidthWater=_fWidthWater; fDepthWater=_fDepthWater,Treikimo DT3 tureResolution, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &tex_Reflect idthWater, 0, fDepthWater; .pos = D3DXVECTOR3(0.0f, 0.0f, 0.0f); 0,0f,0,0f); p[k].pos = D3DXVECTOR3(0,0f, 0, fDepthWater) , 0, fDepthWater); p[k].tex = D3DXVECTOR2(fTexScale, fTexScale);

++k;

negaliojantis * pBuf;

vb_Vanduo->Užraktas(0, 6 * dydis(VERTEX_XYZ_TEX1), &pBuf, 0); memcpy(pBuf, p, 6 * dydis(VERTEX_XYZ_TEX1)); vb_Vanduo->Atrakinti();

void CWATER::PreRenderForReflection(Camera *Cam) ( D3DXVECTOR3 CamPos = Cam->GetCamPos(); D3DXVECTOR3 ViewPos = Cam->GetViewPos(); Cam->GetViewMat(&oldMatView); D3DXVECTOR3 float = CamPot. -ObjPos.y; h.y = CamPos.y - 2*tmp tmpv = &h,&hv,&D3DXVECTOR3(0.0f, 1.0f, 0.0f) -> D3DTrans. &MatrixView; „GetRenderTarget“ 245), 1.0f, 0L)

Tačiau ši funkcija atlieka maždaug pusę viso atspindžio atvaizdavimo darbo. Čia paimame fotoaparato padėtį ir padėtį, į kurią jis žiūri (žvilgsnio padėtis, o ne kryptis), prisimename dabartinę vaizdo matricą. Toliau vyksta nedidelės machinacijos norint perkelti kamerą į reikiamą vietą (kad atspindys būtų teisingas, fotoaparatą perkeliame vandens paviršiaus atžvilgiu, tai galima padaryti kitu būdu, pvz., per atspindį funkcijos iš vandens plokštumos (iš D3DX bibliotekos) ir pan., bet esmė lieka viena). Formuojame ir montuojame nauja matrica malonus. Tada išsaugokite ir nustatykite naujas įrenginio (paviršiaus) atvaizdavimo vertes. Ir, žinoma, išvalome tekstūrą.

void CWATER::PostRenderForReflection(Camera *Cam) ( Cam->SetViewMat(&oldMatView); D3DDevice->SetRenderTarget(0, psBackBuffer); D3DDevice->SetDepthStencilSurface(pLastSurfaceZBuffer);)

Įtraukus atspindį į tekstūrą, viskas turi būti grąžinta į savo vietas, kaip buvo prieš kameros transformaciją.

Dabar pažiūrėkime į antrąją viso vandens paviršiaus atvaizdo pusę – piešimo šešėlį.

statinis plūduras4x4 Mr= ( 0,5, 0, 0, 0, 0, 0,5, 0, 0, 0, 0, 0,5, 0, 0,5, 0,5, 0,5, 1);

Tai leidžia teisingai nubrėžti atspindį – „atspindėjimo matricą“. Ji yra tokia, kokia yra ir nieko čia keisti nereikia. Pastovus, taip sakant.

float f_height_wave; //bangos aukštis float4x4 WVP; //pasaulis * vaizdas * projekcijos matrica vienodas plūdimo laikas; //delta laikas – laikas, praėjęs vienam kadrui tekstūra tex_tex; //atspindėjimo tekstūra tekstūros tex_bumpMap; //tekstūra su nelygumu tekstūra tex_bumpdudv1; //tekstūra su koordinačių poslinkio koeficientais float3 vec_light_dir; //šviesos krypties vektorius float4 EyePosition; //kameros padėtis float4 LightColor; //šviesios spalvos float4 MatColor; //vandens spalva float4x4 Pasaulis; //pasaulio matrica float Ambient; //fono šviesa

Čia viskas aišku, išskyrus f_height_wave. Tai tekstūros koordinačių poslinkio koeficientas.


Bangos „aukštis“ = 12


Bangos „aukštis“ = 2

sampler tex = sampler_state (Texture = (tekso_tekstas); ADRESAS=CLAMP; ADRESSV=CLAMP;); sampler bumpMap = sampler_state (Texture = (tekso_bumpMap);MIPFILTER = LINEAR;MAGFILTER = LINEAR;MINFILTER = LINEAR;); sampler bumpdudv1 = sampler_state (Tekstūra = (tekso_bumpdudv1);MIPFILTER = LINIJAI;MAGFILTER = LINIJAI;MINFILTER = LINIJAI;); struct VS_INPUT ( float4 poz: POSITION; float2 texc:TEXCOORD0; ); struct VS_OUTPUT ( float4 poz: POSITION; //position float2 tex2:TEXCOORD0; //Tyrimo žemėlapio tekstūros koordinatės float2 tex3:TEXCOORD1; //tekstūros koordinatės du/dv žemėlapiui float4 pspos:TEXCOORD2; // padėtis (atspindėjimo koordinatėms apskaičiuoti) float3 ViewDir:TEXCOORD3; //kryptis nuo fotoaparato į viršų };

Čia taip pat nėra nieko neįprasto, standartinės procedūros.

VS_OUTPUT vs_main(VS_INPUT IN) ( VS_OUTPUT OUT; //apskaičiuokite vandens padėtį ekrano koordinačių sistemoje OUT.pos = mul(IN.pos,WVP); //žiūros kryptis OUT.ViewDir = EyePosition - mul(IN.pos,World); OUT.pspos = OUT.pos;//apskaičiuokite naujas tekstūros koordinates OUT.tex2.x = IN.texc.x + sin (laikas)*0,4;//tie. perkelti šias tekstūros koordinates OUT.tex2.y = IN.texc.y - cos (laikas)*0,3;// abiem kortelėms aukštyn ir žemyn OUT.tex3.x = IN.texc.x - sin (laikas)*0,4;//atitinkamai pagal laikrodžio rodyklę aplink apskritimą

OUT.tex3.y = IN.texc.y + cos (laikas)*0,3;

float4 ps_main (float2 texcoord2: texcoord0, float2 texcoord3: texcoord1, float4 pspos = 2,0f * tex2D (bumpMap, texCoord3.xy*0,5) - 1,0f float3 normalizuoti (colorOne+colorTwo + float3 (0,0,0,5,0,0)) ) ); xyz + = normaloffset inTexProj = mul(pspos,Mr result = tex2Dproj(tex, inTexProj), 1.0f); // float3 Reflect = reflektuoti(-LightDir, WorldNormal); float3 Reflect = reflektuoti (-LightDir, 1.14*I *WorldNormal);

float4 Specular = pow (0.5*(1.0+(taškas (Reflect, ViewDir))) ,256); rezultatas = LightColor * MatColor * rezultatas * I + Specular*LightColor; rezultatas.a = 1,0; grąžinti rezultatą; ) Fragmentų šešėliuotoje apskaičiuojame vidutinį normalų (ir tai galite padaryti kaip norite, yra daugybė variantų). Prieš normalizavimą (tai vis dar yra normalu), mes pakoreguojame normalų, šiek tiek pakreipdami jį link vektoriaus (0,1,0), nes vandens paviršius yra horizontalus. Jūs neprivalote to daryti, bet tokiu būdu rezultatas atrodo geriau (žinoma, galite redaguoti įprastą žemėlapį, bet

šis metodas

daug lengviau). Tada mes išverčiame įprastą pasaulio koordinates (tik apšvietimo tikslais). Mes darome tą patį, ką darėme su normaliu, kad pakeistume tekstūros koordinates (texturecoordoffset(2)). Tada padauginkite iš „bangos aukščio“ koeficiento. Ir tada ateina įdomiausia dalis: pridedame poslinkį prie vandens paviršiaus padėties

ekrano koordinates

Dabar pažvelkime į mūsų klasės naudojimą. Pridėkite failą su vandens klase:

Pastaba. Prie šaltinio kodo buvo pridėta maža klasė (EffectClass.h), kad būtų įkeltas efektas.
Klasė straipsnyje neaptariama, nes ji su ja susijusi tik netiesiogiai.

#include "water.h" #include "EffectClass.h" CWATER Water; CEFFECT pActiveEffect; plūduriuoti tt=0,0f; IDirect3DTexture9* tex1; IDirect3DTexture9* tex2;

Sukurkite vandenį ir dvi tekstūras (įprastą žemėlapį ir tekstūros koordinačių poslinkio žemėlapį).

Vandens traukimo funkcija:

void DrawWater() ( tt +=DeltaTime*0.3f; D3DXMATRIX world,matView,matProj; D3DXMatrixTranslation (&world, Water.ObjPos.x, Water.ObjPos.y, Water.ObjPos.z); ActiveCamera->GetViewMat(>GetView) ; D3DDevice->GetTransform(D3DTS_PROJECTION,&matProj); pActiveEffect.AddToConstWVP("WVP",&world); .7f,0.7 f)); pActiveEffect.AddToConstVec3("MatColor",&D3DXVECTOR3(0.7f,0.7f,0.7f)); TT); ,2.0f);

pActiveEffect.End(); )

tt yra pasaulinis kintamasis, kuris „auga“ su kiekvienu kadru. Nuo to priklauso kameros judėjimo greitis, bangų greitis ir kt. (ji simbolizuoja laiką). Viskas, kas vyksta prieš pActiveEffect.Begin(), yra tik šešėlių duomenų pildymas, todėl čia sustoti nereikia.

PActiveEffect.Begin(); pActiveEffect.Start(0); pActiveEffect.Finish();
pActiveEffect.End();

Šis derinys tik nurodo

aktyvi technika

ir praėjimas.

Vanduo.Draw() traukia vandenį.

Tex1->Paleidimas();

tex2->Paleisti ();

Na, piešimo funkcijoje:

DRAW_ALL_SCENE_OBJECTS_EXCEPT_WATER_ Water.PreRenderForReflection(ActiveCamera);

_DRAW_ALL_SCENE_OBJECTS_EXCEPT_WATER_ Water.PostRenderForReflection(ActiveCamera);

DrawWater();

Toliau nupiešiame visus objektus, kviečiame pasiruošimą piešti atspindį, vėl nupiešime visus objektus (jei jų yra keli, nepamirškite pakeisti pasaulio matricų), bet į tekstūrą ir grąžiname tas vertes, kurios buvo prieš įtraukiant į tekstūrą skambinant PostRenderForReflection . Galiausiai nupiešiame patį vandenį su atspindžiu ant jo (vadinkite funkciją DrawWater).
Tai viskas!

4. Šaltinio kodas

Čia galite atsisiųsti straipsnio pavyzdį su šaltinio kodu.

Tikiuosi, kad viskas jums pavyks! Žemės plutoje vandens vaidmuo yra išskirtinis. V. I. Vernadskis

Taip pat pažymima, kad Šiaurės pusrutulis Planeta iš esmės yra „žemyninė“ (39,4 proc. sausumos), o pietinė „okeaninė“ (19 proc.). Didžioji dalis žemyno paviršiaus matoma, jei esate virš upės žiočių. Luara: Aplink „žemyno ašigalį“ sausuma sudaro 47 procentus matomo ploto. „Okeaninis ašigalis“ bus netoli Naujosios Zelandijos (vanduo dengia 89 procentus paviršiaus). Taikymo sritisžemės reljefas reikšmingas: nuo 8848 metrų – Chomolungmos viršūnė iki 11020 metrų – Marianos įdubos dugnas. Tačiau, palyginti su geoido spinduliu, tai bus nereikšminga reikšmė: teigiami paviršiaus aukščiai yra tik 11/10 000, o neigiami 17/10 000. Vidutinis gylis vandenynas 6/10 000, Vidutinis aukštis Žemė yra apie 1/10 000, todėl Žemės reljefo skirtumai 10 metrų spinduliu bus nuo 1 iki 17 milimetrų vandenyno paviršiaus atžvilgiu. Iš čia ir daroma išvada: Žemėje vandens labai mažai, nors įvairiais vertinimais paviršinio vandens tūris siekia 1380-1450 milijonų kubinių kilometrų. Galbūt tiek pat vandensžemės viduriai

. S. M. Grigorjevo teigimu, paviršutiniškas ir Požeminis vanduo yra dinaminėje pusiausvyroje iki pat Mohorovičico paviršiaus dugno, o vanduo veikia kaip aktyvus aušinimo skystis, tirpiklį pernešanti medžiaga. silpnai išskaidyti žemyniniai masyvai su siauromis kalnų grandinių grandinėmis šiek tiek išsikiša. Prieš kelias dešimtis tūkstančių metų (pleistocene) Pasaulio vandenyno lygis buvo 100 metrų žemesnis. Ir nors didžiuliai šelfų jūrų plotai buvo sausa žemė, žemynų kontūrai nedaug skyrėsi nuo dabartinių. Žemynų kontūrai mažai pasikeistų, net jei Pasaulio vandenyno lygis nukristų 2-3 tūkstančiais metrų. M.V. Muratovas (1975) mano, kad tai yra vandenyno įdubimų dugno ypatybė – tikrasis Žemės paviršius, nepriklausomas nuo kiekio. paviršiaus vanduo. Pagrindinis skirtumas yra skirtinga struktūražemyninės ir vandenyninės erdvės kaip geologiniai antipodai, o tai paaiškinama planetų veiksniais, veikiančiais daugiau nei 4 milijardus metų.

Okeanologas H. Wrightas 1961 m. rašė: „... didžiuliai vandens plotai, kuriuos matome šiandien, augo lašas po lašo per visą mūsų planetos gyvenimą, nes vanduo smelkėsi iš Žemės gelmių. Labiausiai tikėtina, kad išorinis atsiradimas vandens apvalkalas reiškia eros, nutolusias nuo mūsų laikų 3 ar net 3,5 milijardo metų. Ir, ko gero, per tą laiką žemynų kontūrai taip ir nepasikeitė. Žinoma, giluminiai vandenynai atsirado palyginti neseniai. Pasaulio vandenyno druskėjimo procesas buvo galingas geologinis veiksnys, nes vanduo tirpo intensyviau akmenys pagrindinis aktorius. E. A. Dolginovas (1978) pažymėjo, kad dauguma jūros įlankos išsidėsčiusios zonose ir teritorijose, sudarytose iš juodųjų banginių, gneisų ir pagrindinės sudėties magminių uolienų, o žemynų kyšuliai ir pusiasaliai – iš stabilesnių granitoidų ir granitinių gneisų. Tai ypač aiškiai pastebima fiordų zonose, kurios, kaip taisyklė, susidaro pagrindinės sudėties pylimų vietoje.



Ar jums patiko straipsnis? Pasidalinkite su draugais!