Дэлхийн усны гадаргуу.

Хэн, давалгаа чамайг зогсоов

Таны хүчирхэг гүйлтийг хэн холбосон бэ?

Чимээгүй, өтгөн цөөрөмд хэн байна

Тэрслүү урсгал эргэсэн үү?
А.С. Пушкин

Гарчиг дээр тавьсан асуулт нь гайхшралыг төрүүлж магадгүй юм: усны гадаргыг яагаад ч юм түвшин гэж нэрлэдэг юм биш үү, яагаад гэвэл энэ нь хатуу байр суурь эзэлдэг. хэвтээ байрлал; Түвшингийн тухай ярихдаа тэд ямар нэгэн хавтгай гэсэн үг бөгөөд усны гадаргуугаас илүү хавтгай юу байж болох вэ? Тэд ингэж хэлэхэд гайхах зүйл алга!

Бид уламжлалт санаануудыг эсэргүүцэхгүй, гэхдээ тодруулъя: "Усны гадаргуу" гэсэн хэллэг нь ус хөдөлгөөнгүй байх тохиолдолд үнэн юм. Гэхдээ энэ нь бараг хэзээ ч тохиолддоггүй. Ус бол өөр шинж чанартай ...

Байгалийн усан сан руу шилжих

төслүүд, бид баталгаажуулалтыг олох нь ховор

идеалын талаархи санаанууд давамгайлж байна

хэвтээ усны түвшин, гэхдээ энд жишээ байна

түүний хэвтээ бус байдал нь хаа сайгүй байдаг - from

далай руу усны дусал. Хэвтээ бус

микро түвшинд хүртэл харагдах болно. Жишээлбэл,

стакан эсвэл нимгэн хоолойд түвшин

ус үргэлж тунгалаг хотгор хэлбэртэй байдаг;

хамгийн өндөр коэффициенттэй тохирч байна

зөөгч рүү гадаргуугийн хурцадмал байдалдунд

шингэн (мөнгөн уснаас бусад). Үүгээрээ

ижил шалтгаанаар усны дусал тархдаггүй

лав цаасан дээр, ерөнхийдөө тэг таталцлын үед

бөмбөг хэлбэртэй хэвээр байна.

Усны хэвтээ түвшинг зөрчих

гадаргуу нь макро түвшинд бас мэдэгдэхүйц юм. Зайд

далай ба тэнгисээс тэдгээрийн гадаргуу нь

бидэнд хатуу хэвтээ байдлаар харагдаж байна. Гэхдээ хэрэв

далай таны нүдний өмнө өргөжиж,

тэнгэрийн хаяанд харцаа алхаарай - чи

Та шулуун шугам биш, харин нумыг харах болно ... Мөн төлөвлөгөөнд -

далай, тэнгисийн усны савны хэмжээ

гадаргуу нь үнэхээр бөмбөрцөг хэлбэртэй, тэр

тоймыг давтана бөмбөрцөг, мөн түүний уйлах -

үнэ цэнэ нь физикийн хуулиар тодорхойлогддог.

Гаригийн муруйлт нь мэдээж өөр юм

далайн усны "гадаргуу" биш, энэ нь үе үе

урт долгион дамжин өнгөрөхөд эвдэрсэн

байрлалтай холбоотой уналт ба урсгал

Сар ба нар. Өндөр түрлэгийн үед налуу байдаг

газар руу чиглэсэн, бага түрлэгийн үед - зүг

урвуу тал.

Далайн давалгааны өндөр нь өөр өөр байдаг

Дэлхий дээр байрладаг бөгөөд эргийн хэлбэрээс хамаардаг.

Дэлхийн хамгийн өндөр түрлэг (15.6-18 м)

Фэнди булан (Атлантик

Канадын эрэг). Европын конвенцид

Тиненте хамгийн өндөр далайн түрлэг (13.5 м хүртэл)

дээр ажиглагдсан баруун банкФранц, онд

Бриттани. Орос улсад ийм түрлэг тохиолддог

Охотскийн тэнгисийн Пенжинская буланд байдаг - хүртэл

12.9 м

Номхон далай даяар.

Түвшин дэх түрлэгийн тэнцвэргүй байдлаас гадна

Далай тэнгисийн хэвтээ байдал нь тогтмол байдаг

салхины огцом өсөлтөөс болж гажсан

урсгал, шуурганы давалгаа, эрэг орчмын

gov - серфинг тэсрэлт. Хамгийн хүчирхэг

Дэлхий дулаан гүйдэл Gulf Stream харагдаж байна

гадаргаас дээш гарч буй "гүдгэр" гол

ness Атлантын далай 1-2 м-ээр.

Тиймээс "далайн гадаргуу" бол зүгээр л роман юм -

дүрслэлийн илэрхийлэл, миний хэлэх гэж байсан зүйл

газарзүйн шилдэг мэргэжилтэн анхаарлаа хандуулаарай

далайн зохиолч Жюль Верн. Түүний туг

Капитан Немо удаа дараа үгүйсгэж байсан

"далайн гадаргууг" идеал болгох: "Хялбар

усны гадаргуу дээгүүр давалгаа гүйв... Гэрэл

сэвшээ салхи усны гадаргууг үл ялиг сэгсэрлээ... Юу ч биш

усны гадаргуу дээр давалгаанууд дээш өргөгдсөн ..." Тэгээд энд байна

гол дүгнэлт: “Хөлдөөсөн усны гадаргуу, to

Түүний хүлээлтээс огтхон ч эсрэгээр нь гайхшруулав

Энэ нь толь шиг гөлгөр болсонгүй."

Тиймээс усны "гадаргуу" нь маш ховор байдаг.

Пушкин "зөөлөн" Хар тэнгисийг хүртэл харсан

өөр ааштай хандгай:

Дуу чимээ гаргах, дуу чимээ гаргах, дуулгавартай далбаа.

Миний доор санаа зов, гунигтай далай.

Мөн бид харах үед ямар сэтгэл хөдлөл биднийг даван туулж байна

Уран зураг дээрх далайн заналхийлсэн гадаргуу

И.К. Айвазовский! Далай манай агуу ихтэй ойролцоо байдаг

Далайн зураач хэзээ ч тайван байдаггүй.

Гэхдээ магадгүй "толин тусгал" хайж байгаа байх

усыг жижиг газар руу эргүүлэх нь зүйтэй

усны биетүүд? Бид тэндээс санаа бодлын жишээ олж чадахгүй байна уу?

Энэ үнэхээр хавтгай усан онгоц мөн үү?

Үгүй ээ, түгээмэл итгэл үнэмшлийн эсрэг,

томоохон нууруудын гадаргуу дээрх усны түвшин

мөн хатуу хэвтээ байж болохгүй. Тэр

урт, анхаарал татахуйц хэлбэрээр "гажуудсан" байдаг

үл мэдэгдэх долгион - seiches гэж нэрлэгддэг.

Тэд гадны нөлөөн дор үүсдэг

хүч: атмосферийн даралтын өөрчлөлт,

салхины чиглэл ба хурд, газар хөдлөлт

чичиргээ, банк нурах.

Seiches нь том үеээр тодорхойлогддог

гэр (хэдэн минутаас хэдэн арван цаг хүртэл)

болон мэдэгдэхүйц далайц (миллиметрээс

хэдэн метр). Тийм ээ, Женев нуур дээр

(Швейцарь) seiche далайц 2 м сек хүрдэг

нэг цагаас илүү хугацаагаар. Бас хангалттай

тусгаарлагдсан, гүехэн Азов

тэнгис, сэйхүүд 23 хүртэлх хугацаанд ажиглагдсан

цаг ба далайц 10-25 см.

Үүнтэй төстэй зүйл Финландад тохиолддог

булан, хаана хүчтэй нь гүн циклон

ми баруун салхи"халуу" үүсгэдэг

түвшин ба урт долгион, тархаж,

Невагийн аманд эргэлдэж, алдартай болсон

Санкт-Петербургт үерийн . Пушкин, үгүй

системчилсэн ажиглалт байхгүй,

эсрэг талын шалтгааныг товч бөгөөд үнэн зөв тайлбарлав

Невагийн урсгал, өөрөөр хэлбэл түүний налуу өөрчлөгддөг.

Гэхдээ булангийн салхины хүч

Неваг блоклосон

Тэр буцан алхаж, уурлаж, уурлаж,

Мөн арлуудыг үерт автуулсан ...

Seiche-ийн хамгийн энгийн загварыг үйлдвэрлэхэд хялбар байдаг

аягатай усанд ажигла. Түүнийг ганцаараа ганхуулж байна

Та долгион хэрхэн үүсч байгааг харж болно,

талаас нь дахин дахин тусгаж, шилжүүлэх

гадаргуу дээр үрнэ. Тэд түлхэж-

xya, эмх замбараагүй давхцаж,

нарийн төвөгтэй долгионы системийг бий болгох.

Гэхдээ хамгийн чухал гажуудал нь хэвтээ

-д усны түвшний бүсчлэл үүсдэг

хамгийн хөдөлгөөнт усны биетүүд- дахин

Мэдээжийн хэрэг, ямар ч усны урсгал байж чадахгүй

нарийн хэвтээ байх ёстой, учир нь

урсдаг, энэ нь налуутай гэсэн үг, учир нь,

Тэдний хэлснээр налуу байхгүй бол ус урсахгүй. БА,

голын уртааш дүрсийг харахад бид

Бид налуугийн чиглэлийг үргэлж ёроол гэж үздэг

гол ба түүний гадаргуу.

Гэхдээ голын ёроол хангалттай тогтвортой байвал

доторх усны түвшин байнга өөрчлөгддөг.

Үүнийг усны тоолуураар хэмждэг нь санамсаргүй хэрэг биш юм

Нийтлэлийг дор хаяж хоёр удаа хийнэ

өдөр, их ус, үерийн үед - бүр

Цаг нь боллоо. Энэ үед гол мөрөн, ялангуяа

түрэмгий, ялангуяа заналхийлж байх үед

"өндөр үсрэх" (дахин хэлэхэд зүгээр л зураг)

хамгийн дээдийг илэрхийлсэн илэрхийлэл

Илүү их түвшний өсөлт, гарах голын усард

өөрийн сувгийн хязгаар).

Үүнийг яаж мэдэх шаардлагатай нь ойлгомжтой

голын ус дээшлэх боломжтой. Олонхи

хотууд байхгүй үед үүссэн

болзошгүй хэлбэлзлийн талаар мэдээлэл байхгүй

голуудын усны түвшин, одоо тэдний олонх

үе үе давтахаас хэрцгий зовдог

үргэлжилж буй гамшигт үер. Генерал

Хятад, Энэтхэгийн гол мөрөн дээр үер болсон.

АНУ, зарим нь Европын орнууд. Үер

уулзалтууд Санкт-Петербург, Архангельск,

Красноярск, Благовещенск, Крымск болон

бусад хотууд болон хүн ам суурьшсан газар нутагОрос.

Хуучин үер усны гунигтай туршлагыг авч үзье

хотууд, зураг төсөл, барилга байгууламж

шинийг заавал харгалзан үзэж гүйцэтгэнэ

усны хамгийн өндөр түвшин. Гэхдээ яаж тодорхойлох вэ

ийм өсөлтийн хэмжээ? Үүний тулд танд хэрэгтэй

голын усны горимын зүй тогтлыг мэдэх ба

нууруудын талаар олон тооны ажиглалт хийсэн

тэд. Өдрийн цагийн хуваарийн дагуу

усны түвшний мэдэгдэхүйц өөрчлөлт (үүнийг нэрлэдэг

гидрограф) усны мөн чанарыг шүүж болно

хоол тэжээл, цаг хугацаа, хэмжээ

онцгой нөхцөл байдал.

Гол мөрний усны түвшин нэмэгддэг

их ус эсвэл үерийн цаг хугацаа хамаарна

олон шалтгаан: зарим гол дээр энэ нь маш сайн байдаг

цасны нөөц ба хайлалтын эрчмийн талаар;

бусад дээр - хур тунадасны хэмжээ, үргэлжлэх хугацаа

шүршүүрт орох, гуравдугаарт - нөхцөл байдал

хөлдөөх, мөс хагалах, нөхөрлөл

мөсний шилжилт, дөрөвдүгээрт - салхины чиглэл-

шуудуу, усны түрлэг. Гэхдээ илүү хүчтэй

ус цуглуулах талбайн хэмжээ болон

голын ёроолын шинж чанар. Мэдээжийн хэрэг, илүү хүчтэй

суваг нь эргээр хязгаарлагдах тусам гол нь том болно

Би түүний хязгаарыг давж, бүр илүү өндөрт гарахыг хүсч байна

тэр босох ёстой. Мөн эсрэгээр: in

юу ч байхгүй өргөн намгархаг үерийн

голын урсацыг илүү өргөн, ус өргөхөөс сэргийлдэг

бага. Ялангуяа тайвшруулах үйлчилгээтэй

гол мөрөн... нуур, намагт нөлөөлнө. Тэднээс илүү

голын сав газарт их байх тусам бага зэрэг

усны түвшний хэлбэлзэл.

Усны түвшний бодит өсөлт ямар байна вэ?

гол мөрөн, нуурууд дээр? Тэд жимс биш гэж үү

тухай уран сайхны төсөөллийн түүхүүд

мултиметр голын түвшинд үсрэх, усны тухай

ny босоо ам, усан дор нуугдсан тосгонуудын тухай,

өргөн уудам орон зайн үерийн тухай, тэнцүү

зарим муж улсын нутаг дэвсгэртэй хүрээлэх үү?

Урт хугацааны ус судлаачдын үзэж байгаагаар,

ажиглалтын ажиглалт, ийм үйл явдал нь зөвхөн биш юм

болсон, болж байгаа ч тэд op-

хязгаарлагдмал ангилал.

Усны түвшний хамгийн их өсөлт бүртгэгдсэн

тунгалаг урсдаг нам дор голын

үерийн татам байхгүй үед тод эрэг. IN

эдгээр нөхцөлд, тэр ч байтугай жижиг голууд, хэлбэлзэл

түвшин 2-4 м хүрдэг ба дунд болон том хэмжээтэй

өндөр - ус өндөрт хүрч болно

олон давхар барилга. "Үзэсгэлэнтэй цэнхэр" тухай

Дунай" дууг хүн бүр сонссон боловч энэ нь юу болохыг хүн бүр мэддэггүй

түүний амнаас хоёр мянган километрийн зайд Австри,

Дунай мөрний усны түвшний хэлбэлзлийн далайц

бараг 15 м хүрдэг, Будапешт тэмдэглэсэн

10 м-ээс дээш үсрэх түвшин Гэсэн хэдий ч Европт

Өндөр харайлтын дээд амжилтыг ... Ока эзэмшдэг.

Калуга мужид түвшний хэлбэлзлийн далайц

120 гаруй жилийн хугацаанд ус ажиглагдсан

Дения 19 м хүрэв! Үүний цаана өсдөг

Дон дээрх ус дунд зэргийн мэт санагдах болно - "бүгд

"явах" 12-14 м, дээд Волга дээр (бүтээлдэхээс өмнө

зохицуулах усан сан) 10 м-ээс дээш ус

боссонгүй.

Маш өндөр барыг даван туулах -

манай хойд голууд урсдаг. Хүчтэй ус

эгц, хүчтэйгээр хязгаарлагдмал горхи

эрэг, өндөрт гарах чадвартай

10-12 м хэлбэлзлийн далайц нь ялангуяа их байдаг

Печора дахь сауны түвшин. Бараг бүх зүйл дээр

хамгийн бага хоорондын зөрүүний туршид

ба хамгийн дээд түвшин 12 м хүрдэг.

Печорагийн нэгэн адил "үсэрдэг" цутгал бол гол юм

АНУ. Өөр нэг хойд аварга - Северная

Двина хөршөөсөө бараг дутуугүй сайн. IN

Усть-Пинега мужид урт хугацааны хэлбэлзэл

түвшин 12 м-ээс хэтэрсэн.

болон Сухона гол, ялангуяа түүний доод урсгалд.

Усны түвшин арван метрийн өсөлттэй байдаггүй

Великий Устюг нэг удаа туршлагатай.

Гэсэн хэдий ч Оросын алдартай хүмүүсийг үл харгалзан-

"Түүний голуудын үер далай шиг"

"Үсрэх" аваргуудыг хайх хэрэгтэй

Азид. Усны түвшний хамгийн их өсөлт

манай улсад - 32 м хүртэл - гол дээр ажиглагдсан

Тунгуска. Аз болоход эдийн засгийн хувьд ямар ч боломжгүй

Энэ хэсэгт объект байхгүй. Мөн дэлхийн дунд

аварга том голууд хамгийн өндөр "үсрэлт" хийсэн

Хятад дахь Хөх мөрөн урсдаг. Хотын ойролцоо нарийн газар

Энэ нь 50 м хүрдэг Ichan ямар эрчим хүч хэрэгтэй вэ?

гэхдээ ийм өндөрт хүрэх чадвартай!

Үерийн татамтай голууд бүр ч чадахгүй

ижил төстэй үр дүнд ойртох. Ихэвчлэн

тэдгээрийн доторх усны түвшний хэлбэлзлийн далайц

дээд хэсэгт 1.5-2 м-ээс хэтрэхгүй, д

дунджаар - 15-20 м Энэ шалтгааны улмаас Волга

доод урсгалд, Урал нь бүхэл бүтэн уртаараа доогуур биш юм.

10 м-ээс өндөр байна.

Дотор нь урсаж буй голуудын хувьд үр дүн нь бүр ч доогуур байна

намгархаг газрын дотор

riy - in Баруун Сибирь, Полесье хотод. Энд байна

том голууд - Об, Припят - далайц

түвшний хэлбэлзэл бараг 8-10 м хүрч байна

жижиг голууд - 1-1.5 м.

Хамгийн бага үр дүнг харуулж байна

нуур, уулын голууд. Урт хугацааны хэлбэлзэл

гүн гол мөрөнд ч усны түвшинг бууруулах

4-6 м-ээс ихгүй байх Эдгээрт багтана

Ангара, Волхов, Нева. Тийм ээ, түүхийн туршид

Новая Ладогагийн ойролцоох ажиглалт, чичиргээний далайц

Волхов дахь усны түвшин 3.3 м байв.

Урсгал нь бараг л байдаг Невагийн хувьд энэ нь бүр ч бага юм

Ладогагаар бүрэн зохицуулагддаг.

Үүнтэй холбогдуулан асуулт гарч ирнэ: яаж-

Бид нууруудыг өсгөх шаардлагатай юу? Голоос ялгаатай нь

нууруудын их багтаамж нь үүнийг хийх боломжийг олгодоггүй

цаг агаарын таагүй байдалд хурдан, амархан бууж өгдөг

тийм ээ - нөхөрсөг цас хайлж, хүчтэй

бороо, хүчтэй салхи гэх мэт. Тиймээс

ялангуяа тэдгээрийн түвшний далайц нь хамаагүй бага байдаг

хатуу нууруудын ойролцоо. Ладога нуурын түвшин,

жишээлбэл, түүнээс дээш ажиглалтын хугацаанд

140 жил 1.5-2.5 м-ийн дотор хэлбэлзэж, at

Байгаль нуур, дэлхийн түвшний хэлбэлзэл нь урьдчилан сэргийлэхгүй.

өндөр 2.2 м.

ОХУ-ын нутаг дэвсгэр дээр хамгийн их "өсөлт-

харин" Ильмен нуур, түүний түвшний далайц

ажиглалтын бүх хугацаанд 7 м-ээс дээш.

(Китеж хотын тухай домгийг яаж санахгүй байх вэ?

усан дор явсан уу?) Үүнийг ингэж тайлбарлаж байна

Илмений усны гадаргуугийн талбай хэд вэ

90 орчим удаа бага талбайтэжээх -

түүний усан сан. Тиймдээ ч нуур маш их шуургатай байдаг

усны агууламжийн өчүүхэн өөрчлөлтөд хариу үйлдэл үзүүлдэг

түүний асар том эд хөрөнгө. Ойролцоогоор ижил

Вологда дахь хойд хөрш нь биеэ авч явдаг

зэрэглэл - Кубенское нуур, хамгийн өндөр авиралт

Тэндхийн түвшин 5-6 м хүрдэг

Оросын хойд ба баруун хойд хэсэгт орших нуурууд дор байдаг.

2-3 м-ийн хооронд хэлбэлздэг.

Гэсэн хэдий ч дэлхийд өвөрмөц байдаг

бараг үнэмлэхүй хэвтээ байдлын жишээ

усны өндөр чанар - энэ бол ус зайлуулах суваггүй том юм

АНУ-ын баруун хойд хэсэгт орших давст нуур. Та-

царцдас хүртэл хатсан давсны давхарга нь түвшинг давтана

ус ба ийм жигд гадаргууг баталгаажуулдаг

үүн дээр туршилт хийж байгаа гадаргуу

мөн супер хурдан машины уралдаан.

Гэхдээ түвшний "гажиг" нь ердийн зүйл бол

нууруудын хувьд ч гэсэн, дараа нь гол мөрөн дээр тэд бүр ч их байдаг

мэдэгдэхүйц. Уртааш налуугийн талаар эргэлзээгүй

усны урсгал. Гэхдээ байгаа нь илт байна уу

чинжүү? Эрүүл ухаансануулга:

хэрэв тэнд байсан бол ус хөндлөн хөдөлнө

голууд - эрэг хооронд. Энэ таамаглал

утгагүй мэт санагдаж магадгүй - эцэст нь энэ нь тийм биш юм

болох ёстой!

Гэсэн хэдий ч усны хөндлөн налуу

голын сайр байдаг. Үүнийг шалгахад хялбар,

том нам дор голын амьдралыг харж байна.

Усны амьтдын зан төлөвт анхаарлаа хандуулаарай

жилийн янз бүрийн улиралд урсдаг. Призмо-

хавар, их устай үед, үеэр гол руу явах

Би мөсөн гулгуур юм. Чөлөөт хөвөгч мөсөн бүрхүүлүүд

ойртох, заримдаа бүр тэврэх

эрэг рүү, мөн мөс гацсан тохиолдолд ихэвчлэн

тэдэн дээр "мөлхөх". Энэ нь үүнийг харуулж байна

дундаас чиглэсэн налуу байдаг

голууд эрэг хүртэл. Хэрэв та голыг дагаж мөрдвөл

үерийн төгсгөлд ус багатай үед үүнийг хийхэд хялбар байдаг

гэхдээ хүн бүр чөлөөтэй хөвж байгааг анзаарах болно

объект (лог, мөчир, янз бүрийн хог хаягдал)

голын голд наалдаж, тодорхой тодорхойлох

усны урсгалын гол цөмийг хуцах. Үүнтэй ижил

нь "хурц цээжтэй усанд сэлэгчдийг зурсан

каноэ." Тиймээс өрөөсгөл тал бий

эргээс голын дунд хүртэл чиглэсэн.

Туршлагатай усны жуулчид баталж чадна

зөвхөн уртааш төдийгүй хөндлөнгийн оршихуй

голын ёроолд ny урсгал, ялангуяа хаана

бариулын чиглэл өөрчлөгдөнө.

үүссэнийг юу тайлбарлаж байна

улирлын чиглэлтэй хөндлөн өнцөг

хэвлий? Ус судлаачид тэдний шалтгаан гэдэгт итгэдэг

урсгалын хурдны мэдэгдэхүйц өөрчлөлтүүд юм

голын гольдрол дахь ус. Ихэнх голуудын хувьд эзэлхүүн

үер эсвэл үерийн үед ус

арав дахин хайлуулна. Тиймээс голын сайр үед

усаар халих, хамгийн том урсгал-

мэдлэг чадвар дунд нь ордог

эрэг дээрх үрэлтийн нөлөөгөөр голын хэсэг болон

ёроол нь харьцангуй жижиг, ач холбогдол багатай

урсгалын хурдад нөлөөлдөг. Үр дүнд нь

даралт ихсэх тусам усны түвшин энд болно

эргээс өндөрт нисдэг. Тэгээд тэд хэлэхдээ:

"Гол хавдсан байна." Заримдаа энэ нь бүр мэдэгдэхүйц юм

нүд; том ба гүн голууд дээр -

далайн эрэг дээрх дундаж түвшний тархалт

Эдгээр тохиолдолд голын өргөнтэй хамт 1 м хүрдэг

1.5-2 км, хөндлөн налуу нь 0.001-ээс их,

Энэ нь ЕХ-ны урт налуугийн хувьд ч маш их юм.

байгалийн гол горхи. Энэ ялгаанаас болж

голын түвшингээс усны хөдөлгөөн ажиглагдаж байна

хол зөөдөг банкууд руу сувгийн дунд

араас чинь мөсөн бүрхэг.

Үерийн төгсгөлд голын усны агууламж, гүн

буурч, дарангуйлах нөлөө нэмэгддэг

ёроол ба эргийн живэх. Энэ нь хүргэдэг

эрэг орчмын усны түвшин өндөр,

голын дундаас илүү сувагт хөдөлгөөн гарч ирдэг

эргээс төв рүү чиглэсэн усны урсгал.

Голын дээгүүр объектууд хөвж байгаа нь илт байна

түүний дунд хандлагатай байх болно, тиймээс тэдний дагуу

урсгал дахь байршлыг тодорхойлж болно

ба усны горимын үе шатууд - өсөлт эсвэл бууралт.

Тодорхойлолт нь мэдээжийн хэрэг өнгөцхөн байх болно,

Учир нь бид гүнд юу болж байгааг хардаггүй

ор. Гол нь төгсгөлийг усанд чадварлаг нууж,

Үүнээс гадна үүнийг зөвхөн тааж болно

гол мөрөнд уртааш хурд байдаг

чинжүү эргэлтийн гүйдэл.

Шалтгаан энэ үзэгдэлнээгдэв

зөвхөн өнгөрсөн зууны дундуур. Туршилтын

М.А.Великановын бүтээлүүд (1958),

Н.И.Маккавеев нар (1961) үүнийг тогтоосон

голын гадаргууг өөрчлөх боломжтой

хэлбэр, янз бүрийн налууг үүсгэдэг

өсөлт, бууралтаар нөлөөлдөг

түүний хэрэглээ, дээр төвөөс зугтах хүч байгаа эсэх

эргэлт, дэлхийн эргэлтийн хүч, салхи ба

Ихэнх нарийн төвөгтэй тохиолдлуудагаарын хөдөлгөөн

Хүчтэй хамт голын гольдролын тохойд алга болно

таталцал, урсгалын хурд нь төвөөс нөлөөлдөг.

урсгалыг ус руу "дарж" байгаа гүйлтийн хүч

нугалж (бууруулсан) банк болон хэд хэдэн

усны түвшинг дээшлүүлдэг. Үр дүнд нь

илүүдэл гидростатик даралт in

доод давхаргад усыг "шахаж" чиглүүлнэ

гүдгэр эрэг рүү шилжинэ.

Тиймээс хоёр хөндлөн

гүйдэл: нэг - "гадаргуу", нөлөөлж байна

хонхор эрэг рүү, нөгөө нь - "доод", дээр-

дотор зассан эсрэг тал. IN

тус бүр нь эргэлтийн чиглэлийг нугалав

чинийх. Баруун эргэхэд усны урсгал урсдаг

цагийн зүүний дагуу, зүүн талд - чиглэлд

цэргийн чиглэлд. Ийм байдлаар тойрог үүсдэг

урсгал дахь эргэлт.

Гол уртааштай холилдох

урсгал, өөр өөр чиглэлтэй гүйдэл дээр

гадаргуу ба доод хэсэгт спираль үүсгэдэг

Усны ("мушгиа") хөдөлгөөн. Зарим голууд

тэд ингэж урсдаг - "спираль хэлбэрээр" гулзайлтаас

доошоо тонгойдог.

Илүү илүү хэцүү хөдөлгөөнгол урсах

улирлын "чухал" үеүүд. Жинтэй

намрын үер усны гүдгэр хэлбэр

гадаргуу нь тийш зөрөх хоёрыг үүсгэдэг

налуу эрэг ба тэдгээрийн харгалзах тэ-

уншилтууд. Үүний зэрэгцээ ёроолд хүрч, тэд өөрчлөгддөг

чиглэл ба голд нь мөргөлдөж,

гадаргуу руу яарах. Зуны саруудад

Усны хөдөлгөөн өөр өөрөөр явагддаг:

гадаргын урсгал нь дунд руу чиглэнэ

гол мөрөн мөргөлдөж, гүн рүү очдог, хаана

эрэг рүү салах. Тиймээс,

эдгээр хугацаанд голын урсгал хоёроос бүрдэнэ

зэрэгцээ хөдөлж байгаа боловч эсрэгээрээ

эрчилсэн спираль урсгалууд.

Ажиглалтаас харахад хамгийн их

зуны улиралд гол мөрөн, нуурын усны түвшин тогтвортой ба

өвлийн ус багатай. Эдгээр нь хүн амын шилжилт хөдөлгөөний үеүүд юм

ус хязгаарлагдмал, бүр зогсох боломжтой,

мөн түвшин нь өөрөө хамгийн бага байдаг. Мөн ихэвчлэн

усны гадаргуу нь байгалийн нээлттэй байдлаа алддаг

өөрөөр хэлбэл зуны улиралд халуунд дуртай усаар бүрхэгдсэн байдаг.

ургамал (нугас, замаг),

өвлийн улиралд - мөс. Хоёулаа хойшоо барина

усны түвшний долгионы хэлбэлзэл.

Ийм усан сангууд нь маш яруу найраг, хайртай байдаг.

уран бүтээлчид. Хэт ургасан цөөрмийг санаарай

В.М.Васнецовын "Алёнушка" зурган дээр эсвэл

ландшафтын усны сараана цэцэг бүрхэгдсэн цөөрөм

Клод Моне...

Тэгшлэх нөлөөний тухайд

мөсөн бүрхүүл, дараа нь энд ч гэсэн энэ нь зөвхөн боломжтой юм

Пушкиний ажиглах чадварыг биширдэг,

үнэн зөв, гоёмсог харьцуулалтыг олсон хүн:

Загварлаг паркетаас илүү эмх цэгцтэй

Гол мөрөн гялалзаж, мөсөнд хучигдсан байдаг.

Ямар ч эргэлзээгүй, "хөлдөөсөн" гол, цөөрөм

Заримдаа тэд усны толин тусгал мэт сэтгэгдэл төрүүлдэг.

Тэгээд үнэхээр жинхэнэ хэвтээ байдал

байдаг, гэхдээ маш цөөхөн усан дээр л байдаг

объектууд, ихэвчлэн жижиг, хаалттай

гадны нөлөөллөөс тусгаарлагдсан,

тэр ч байтугай богино хугацаанд, тодорхой хугацаанд

уртын хэсэг. Тиймээс асуултад,

гарчигт оруулбал энэ нь илүү олон тохиолддог

сөрөг байдлаар хариулна уу. Хэрэв энэ нь хагас бол -

амьдрах, дараа нь том захиалгатай ...

Маш олон удаа гурван хэмжээст хэрэглээнд, илүү нарийвчлалтай тоглоомд усны орон зай байдаг. Хэрэв өмнө нь шингэнийг харуулсан цэнхэр тэгш өнцөгтөөр явах боломжтой байсан бол одоо усны ийм дүрс нь инээдтэй мэт санагдаж, бодит графикийн хэлээгүй шаардлагыг ямар ч байдлаар хангаж чадахгүй байна. Хөгжүүлэгчид асуултанд тулгарч байна: усны гадаргууг хэрхэн дүрслэх вэ?

Үүнд юу багтдаг вэ? Үүнийг олж мэдье.
1. Тусгал – түүний дээр байрлах орон зайн усны гадаргуу дээр харуулах. Илүү их эсвэл бага бодитой усыг дүрслэхдээ энэ цэг нь хамгийн чухал байж магадгүй юм.
2. Хугаралт – усны гадаргуу дор байрлах орон зайг харуулах.
3. Мананцар/усны нягт - гүнээс хамаарч хугарлын өнгө өөрчлөгдөх (усны гадаргуутай харьцуулахад орон зай гүнзгийрэх тусам харанхуй/үүлэрхэг харагдана).
4. Гэрэлтүүлэг.
5. Долгион нь усны гадаргууг бодитой болгох чухал цэг юм.

Одоо хэрэглээний үүднээс юу, хэрхэн хэрэгжиж байгааг олж мэдье.

1. Эхлээд ус гэж юу болохыг тодорхойлъё. Хэд хэдэн тохиолдол байдаг:
- дөрөв
- бага поли загвар
- олон өнцөгт загвар.

Хийж буй даалгавараас хамааран хэрэгжүүлэх аргуудын аль нэгийг сонгоно. Хамгийн энгийн нь усны гадаргуу нь дөрвөлжин (хоёр олон өнцөгт) юм. Биеийн хөдөлгөөнбайхгүй. Үр нөлөө долгионы гадаргуутусламжтайгаар л хүрч чадна тусгай картуудшилжилт хөдөлгөөн.
Бага олон өнцөгт загвар - өмнөхөөсөө ялгаатай биш, зөвхөн гадаргуу нь тодорхой хуулийн дагуу хэлбэлздэг хэд хэдэн олон өнцөгтүүдээс бүрддэг (хамгийн энгийн тохиолдолд синусоид). Энэ нь "илүү динамик" долгионы хөдөлгөөнийг бий болгодог.
Олон өнцөгт загвар нь огт өөр арга юм. Долгион нь динамикаар өөрчлөгдөж буй командуудын массив юм. Долгионуудын хамгийн шударга дүр төрх, гэхдээ бас хамгийн их нөөц шаарддаг сонголт. Зөвхөн шаардлагатай үед л ашиглах ёстой хамгийн дээд түвшинчанар.
Эхний эсвэл хоёр дахь сонголтыг ихэвчлэн ашигладаг.

2. Тусгал. Усны гадаргуу дээрх тусгал нь бүтэцээс өөр зүйл биш юм. Цорын ганц хүндрэл нь байнга өөрчлөгдөж байдаг бөгөөд нэг тогтмол бүтэц нь хангалтгүй байдаг (хуурамч тусгалыг эс тооцвол - тэнгэрийн бүтэц; арга нь бодит бус бөгөөд шаардлагатай бол зөвхөн дүрслэлийг хурдасгахын тулд ашиглах ёстой). Энэ зургийг хаанаас авахаа олж мэдье. Усны гадаргуу дээрх тусгал нь усан дээрх орон зайн дүрс боловч хэвтээ байдлаар тусгагдсан байдаг.

Үүнийг авахын тулд та усны гадаргуутай харьцуулахад камерыг "тусгах" хэрэгтэй.

3. Хугарал. Хугарлын дүрс нь усыг өөрөө харгалзахгүйгээр камерын яг харж байгаа дүр төрхийг эс тооцвол бүх зүйл төстэй юм.

4. Гэрэлтүүлэг. Ер бусын зүйл байхгүй, энгийн гэрэлтүүлэг, бусад объектуудтай адил (ус нь монохромат өнгө биш байхын тулд).

5. Долгион. Өмнө дурьдсанчлан долгионыг хоёр янзаар дүрсэлж болно (бүтэц ашиглан хуурамч долгион, геометр ашиглан зөв долгион).
Хэрэв геометрийн хувьд бүх зүйл тодорхой бол (орой бүрийн байрлал нь үүнээс хамаарч өөрчлөгддөг физик хуульэсвэл чимээ шуугиантай газрын зураг), дараа нь хуурамч нь бага зэрэг төөрөгдүүлсэн, гэхдээ нэгэн зэрэг энгийн болно.
Хуурамч долгионыг гэрэл ба тусгал/хугарлын гажуудал гэсэн хоёр зүйлээр дүрсэлж болно. Ихэнх чанарын үр дүндамжуулан хүрсэн хуваалцахэнэ хоёр арга.


Ердийн газрын зураг ашиглан бид усыг яг л байгаа мэт гэрэлтүүлдэг
Үнэхээр тусламжийн давалгаанууд байдаг.


Гажуудлын тусламжтайгаар бид долгионы бүтцийн дагуу тусгал / хугарлыг "т рхэцдэг".

Өмнө дурьдсанчлан бид ердийн газрын зургийг ашиглан долгионы бүтцийн дагуу гэрэлтүүлэх болно.


Ердийн газрын зураг

Энгийн газрын зураг нь r/g/b сувгууд нь өнгө биш харин хэвийн векторын координатуудыг агуулсан график файл юм. Дүрмээр бол энэ нь иймэрхүү харагдаж байна (цэнхэр ягаан өнгөөр ​​гэрэлтүүлсэн объектын бүтцийг харахад хэцүү биш газрын зураг).

Бид бүтэцтэй координатын шилжилтийн газрын зургийг ашиглан усны гадаргуу дээрх зургийг (хугарал, тусгал эсвэл хоёулангийнх нь хослол) гажуудуулна.


Бүтцийн координатын шилжилтийн зураг (du/dv зураг)

Бүтцийн координатын шилжилтийн зураг (эсвэл du/dv газрын зураг) нь мөн объектын бүтэцтэй газрын зураг боловч түүний өнгө нь маш өөр байж болно (саарал хүрэнээс шар-улаан хүртэл). Өнгөний суваг дахь ийм газрын зураг нь бүтэцтэй координат өөрчлөгдөх зайг хадгалдаг. Үүний үндсэн дээр тэдгээр нь нэг суваг (хар цагаан градиент бүхий газрын зураг) болон олон суваг (жишээлбэл, х тэнхлэг ба y дагуух офсетийг хадгалах хоёр суваг) аль аль нь янз бүрийн форматтай байж болно. -тэнхлэгийг тусад нь).

Тиймээс, олж авсан мэдлэгээ ашиглан програмдаа ус татах жижиг төлөвлөгөө гаргацгаая. Бидэнд хэрэгтэй:
1. дөрвөлжин;
2. хоёр туслах бүтэц (хэвийн зураг ба du/dv зураг);
3. ердийн тусгал үзүүлэх хэд хэдэн арга;
4. бүхэлд нь дүрслэх shader.

За ингээд хэрэгжилт рүүгээ орцгооё.

2. Хэрэгжилт

#тодорхойлох FVF_XYZ_TEX1 (D3DFVF_XYZ|D3DFVF_TEX1) VERTEX_XYZ_TEX1 ( VERTEX_XYZ_TEX1() ( ); VERTEX_XYZ_TEX1(D3DXVECTOR3 _post, D3DXV) =xte_poste;xte; ); D3DXVECTOR3 pos;

Орой форматын бүтэц, тодорхойлолтыг бий болгох. Бид зөвхөн оройн координат болон бүтэцтэй координатыг хадгалах болно, бидэнд өөр зүйл хэрэггүй.

анги CWATER (хувийн : LPDIRECT3DSURFACE9 psBackBuffer; LPDIRECT3DSURFACE9 psTextureReflect; D3DXMATRIX oldMatView; LPDIRECT3DVERTEXBUFFER9 vb_Water; LPDIRECT3DSURFACE9 pSurface9 pSurfaceZurface;pSurfaceZurface ; // Тусгалын бүтэц ба нэмэлт гүн буферийн нарийвчлал int iTextureResolution; float fWidthWater; float fDepthWater; // Усны гадаргуугийн урт ба өргөннийтийн : LPDIRECT3DTEXTURE9 tex_Reflect; // Тусгал бүтэц D3DXVECTOR3 ObjPos; // Усны зүүн хамгийн ойрын оройхүчингүй болгох PreRenderForReflection(Камер *Камер); хүчингүй PostRenderForReflection(Камер *Камер); CWATER(); ~УС(); void Init(float _fWidthWater, float _fDepthWater, float fTexScale); // Эхлэл хүчингүй болсон Draw(); );

Усны үндсэн анги энд байна. Эндээс бид өмнө нь дурдаагүй хэд хэдэн хувьсагчдыг харж байна. Тэд яагаад байгааг олж мэдье?

Бид тусгалыг (хэрэв хүсвэл хугарлыг) бүтэц рүү зурах болно. Энэ нь бид эхлээд энэ бүтэцтэй гадаргууг бий болгох хэрэгтэй гэсэн үг юм. Бид үүнийг psTextureReflect-д хадгалах болно. Түүнд орон зай зурахаасаа өмнө арын буферт биш харин бүтэц рүү нь буулгаж байгааг төхөөрөмжид зааж өгөх хэрэгтэй. Гэхдээ дараа нь арын буфер руу зөв зурахын тулд та үүнийг санаж, дараа нь буцааж өгөх хэрэгтэй. Бид үүнийг psBackBuffer дээр санах болно.

Ингэж бид идэвхтэй Render Target-ийг өөрчилдөг боловч бүтэц рүү зурахдаа асуудал гарахаас зайлсхийхийн тулд (гүн буфер идэвхгүй болсон эсвэл огтлолт буруу тохируулагдсан мэт зурсан) бид өөр зүйл хийх хэрэгтэй. Баримт нь арын буферийн хэмжээ нь тодорхой утгатай тэнцүү (ихэвчлэн 1024x768) бөгөөд бид бүтэц рүү зурах үед энэ нь өөр нягтралтай байх магадлалтай бөгөөд энэ нь гүний буфер нь түүнд тохирохгүй гэсэн үг юм. Та зөвхөн буферийн хэмжээ том эсвэл том бол үүнийг ашиглаж болно хэмжээтэй тэнцүүбидний зурдаг бүтэц.

Бид дахиад хоёр гадаргууг (өнгөрсөн үеийг санаж, одоогийн буферийг хадгалах) үүсгэх шаардлагатай болж байна. Эдгээр нь pSurfaceZBuffer ба pLastSurfaceZBuffer юм.
iTextureResolution – тусгахад зориулсан бүтцийн нягтрал (өндөр байх тусмаа сайн тусгах боловч илүү их нөөц шаарддаг арга).

CWATER::CWATER() ( ObjPos = D3DXVECTOR3(0.0f,5.0f,0.0f); vb_Water = NULL; tex_Reflect = NULL; iTextureResolution=1024; fWidthWater=10.0f; fDepthWater=1;)

Бүтээгч дээр бид анхдагч утгыг тохируулж, гадаргуугийн заагчийг дахин тохируулна.

CWATER::~CWATER() ( CLEAR(vb_Water); CLEAR(psTextureReflect); CLEAR(psBackBuffer); CLEAR(pLastSurfaceZBuffer); CLEAR(pSurfaceZBuffer); )

Устгагч дээр бид оройн буфер болон гадаргуугийн эзэлдэг санах ойг цэвэрлэдэг.

void CWATER::Init(float _fWidthWater=10.0f, float _fDepthWater=10.0f, float fTexScale=1.0f) ( fWidthWater=_fWidthWater; fDepthWater=_fDepthWater,DT3;ex; tureResolution, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &tex_Reflect idthWater, 0, fDepthWater2(fTexScale,fTexScale); .pos = D3DXVECTOR3(0.0f, 0.0f, 0.0f); D3DXVECTOR2(0.0f, 0.0f. 0,0f,0,0f); , 0, fDepthWater p[k].tex = D3DXVECTOR2(fTexScale, fTexScale); ++k; хүчингүй * pBuf; vb_Water->Lock(0, 6 * sizeof(VERTEX_XYZ_TEX1), &pBuf, 0); memcpy(pBuf, p, 6 * sizeof(VERTEX_XYZ_TEX1)); vb_Water-> Unlock(); D3DDevice->CreateDepthStencilSurface(iTextureResolution, iTextureResolution, D3DFMT_D24S8, D3DMULTISAMPLE_NONE, 0, ҮНЭН, &pSurfaceZBuffer, NULL); )

Эхлэх функцэд бид зургаан оройд (хоёр гурвалжин) оройн буфер үүсгэж, тусгалыг хадгалах бүтэц үүсгэж, нэмэлт арын буфер гадаргууг үүсгэдэг.

хүчингүй CWATER::Draw() ( D3DDevice -> SetFVF(FVF_XYZ_TEX1); D3DDevice -> SetStreamSource(0, vb_Water, 0, sizeof(VERTEX_XYZ_TEX1)); D3DDevice -> DrawPrimitive(D3DPT2, TRIANG)0

Зурах аргад ер бусын зүйл байхгүй - оройн формат, оройн буферийг тохируулах, дүрслэх функцийг дуудах (шэйдерээр ус татагдах болно гэдгийг анхаарна уу. энэ аргашэйдер ажиллаж эхэлсний дараа дуудагдсан; хэрэглээний жишээг үзнэ үү).

хүчингүй CWATER::PreRenderForReflection(Камер *Камер) ( D3DXVECTOR3 CamPos = Cam->GetCamPos(); D3DXVECTOR3 ViewPos = Cam->GetViewPos(); Cam->GetViewMat(&oldMatView); D3DXVECTOR3 цаг = CamPos; -ObjPos.y; h.y = CamPos.y - 2*tmp float tmpv = ViewPos.y; &h,&hv,&D3DXVECTOR3(0.0f, 1.0f, 0.0f) -> SetTransform(D3DTS_VIEW, &MatrixView); , 0л)

Гэхдээ энэ функц нь тусгал үзүүлэх бүх ажлын тал орчим хувийг гүйцэтгэдэг. Энд бид камерын байрлал, түүний харж буй байрлалыг (чиглэл биш харин харцын байрлал) авдаг бөгөөд одоогийн харах матрицыг санаарай. Дараа нь камерыг зөв газарт нь шилжүүлэх жижиг заль мэх байдаг (тусгал зөв байхын тулд бид камерыг усны гадаргуутай харьцуулахад шилжүүлдэг, үүнийг өөр аргаар, жишээлбэл, тусгалаар хийж болно. функцууд нь усны хавтгайгаас (D3DX номын сангаас) гэх мэт боловч цэг нь нэг хэвээр байна). Бид хэлбэржүүлж суулгана шинэ матрицтөрлийн. Дараа нь төхөөрөмжийн (гадаргуу) шинэ дүрслэх утгыг хадгалж, тохируулна уу. Мэдээжийн хэрэг, бид бүтэцийг цэвэрлэнэ.

хүчингүй CWATER::PostRenderForReflection(Camera *Cam) ( Cam->SetViewMat(&oldMatView); D3DDevice->SetRenderTarget(0, psBackBuffer); D3DDevice->SetDepthStencilSurface(pLastSurfaceZBuffer);

Тусгалыг бүтэц рүү оруулсны дараа бүх зүйлийг камерын өөрчлөлтөөс өмнөх шигээ буцааж өгөх ёстой.

Одоо усны гадаргууг бүхэлд нь дүрслэх хоёр дахь хагасыг харцгаая - зургийн shader.

статик float4x4 Mr= ( 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0.5, 0.5, 0.5, 1);

Энэ бол тусгалыг зөв зурах боломжийг бидэнд олгодог - "тусгалын матриц". Тэр бол хэн бэ, энд юу ч өөрчлөх шаардлагагүй. Тогтмол, Тиймээс ярих.

float f_height_wave; //долгионы өндөр float4x4 WVP; //дэлхий * харах * төсөөллийн матрицжигд хөвөх хугацаа; //дельта цаг - нэг кадрт өнгөрсөн хугацаа texture text_tex; // тусгал бүтэц texture tex_bumpMap; // овойлт бүхий бүтэц texture tex_bumpdudv1; //координатын шилжилтийн коэффициент бүхий бүтэц float3 vec_light_dir; //гэрлийн чиглэлийн вектор float4 Нүдний байрлал; //камерын байрлал float4 LightColor; //цайвар өнгө float4 MatColor; //усан өнгө float4x4 World; //дэлхийн matrix float Ambient; //арын гэрэл

Энд f_height_wave-аас бусад бүх зүйл тодорхой байна. Энэ бол бүтэцтэй координатын шилжилтийн коэффициент юм.


Долгионы "өндөр" = 12


Долгион "өндөр" = 2

дээж авагч tex = түүвэрлэгч_төлөв (Текстур = (текс_текс); ADDRESSU=CLAMP; ADDRESSV=CLAMP;); sampler bumpMap = sampler_state(Texture = (tex_bumpMap);MIPFILTER = LINEAR;MAGFILTER = LINEAR;MINFILTER = LINEAR;); дээж авагч bumpdudv1 = sampler_state(Texture = (tex_bumpdudv1);MIPFILTER = LINEAR;MAGFILTER = LINEAR;MINFILTER = LINEAR;); struct VS_INPUT ( float4 pos: POSITION; float2 texc:TEXCOORD0; ); struct VS_OUTPUT ( float4 pos: POSITION; // float2 tex2: TEXCOORD0 байрлал; // овойлт газрын зургийн бүтэц координатууд float2 tex3: TEXCOORD1; //du/dv газрын зургийн бүтэц координат float4 pspos: TEXCOORD2; //байрлал (тусгалын координатыг тооцоолох) float3 ViewDir: TEXCOORD3; //камераас дээш чиглэсэн чиглэл };

Энд бас ер бусын зүйл байхгүй, стандарт журам.

VS_OUTPUT vs_main(VS_INPUT IN) ( VS_OUTPUT OUT; //дэлгэцийн координатын систем дэх усны байрлалыг тооцоолох OUT.pos = mul(IN.pos,WVP); // чиглэлийг харах OUT.ViewDir = EyePosition - mul(IN.pos,World); OUT.pspos = OUT.pos; // шинэ бүтэцтэй координатыг тооцоолох OUT.tex2.x = IN.texc.x + нүгэл (хугацаа)*0.4; //тэд. эдгээр бүтэцтэй координатуудыг шилжүүлэх OUT.tex2.y = IN.texc.y - cos (цаг)*0.3; // дээш доош хоёр картын хувьд OUT.tex3.x = IN.texc.x - нүгэл (цаг)*0.4; //цагийн зүүний дагуу тойргийн эргэн тойронд OUT.tex3.y = IN.texc.y + cos (цаг)*0.3; OUT буцах; )

Энд оройн шэйдер байна. OUT.ViewDir дээр бид усны дөрвөлжин орой тус бүрийн камерын чиглэлийг хадгалдаг (бид үүнийг фрагментийн шэйдер рүү бүтэц координат болгон дамжуулдаг тул оройн хоорондох утгууд интерполяци хийх болно). Дараа нь бүтэцтэй координатууд байна. Бид хоёр бүтэцтэй (нэг нь ердийн газрын зурагтай, хоёр дахь нь бүтэцтэй координатын зөрүүтэй). Ус хаашаа ч урсахгүйн тулд бид тэдгээрийг тойрог хэлбэрээр (sin/cos) эсрэг чиглэлд шилжүүлдэг. Энэ бол бүтэцтэй гүйлгэх хамгийн түгээмэл сонголтуудын нэг юм. Үр дүн нь танд тохирсон бол та тэдгээрийг хүссэнээрээ хөдөлгөж болно.

float4 ps_main(float2 texCoord2: TEXCOORD0, float2 texCoord3: TEXCOORD1, float4 pspos: TEXCOORD2, float3 ViewDir:TEXCOORD3): COLOR ( float4 үр дүн; float3 colorOne = 2.0f * tex2D,x3 wo = 2.0f * tex2D (bumpMap, texCoord3.xy*0.5) - 1.0f float3 хэвийн = хэвийн болгох (colorOne+colorTwo + float3 (0.0,0.5,0.0) WorldNormal = хэвийн болгох (mul (хэвийн,(float3x3)); ) ); float3 texturecoordoffset = 2.0f * tex2D (bumpdudv1,texCoord2.xy) - 1.0f * float3 texturecoordoffset2= 2.0f * tex2D (bumpdudv1,texCoord3.xy*0.02)d; xyz + = normaloffset inTexProj = mul(pspos,Mr үр дүн = tex2Dproj(tex, inTexProj), 1.0f); // float3 Reflect = тусгах(-LightDir, WorldNormal); float3 Reflect = тусгах (-LightDir, 1.14*I *Дэлхийн хэвийн); float4 Specular = pow (0.5*(1.0+(цэг (Тусгал, ViewDir))) ,256); үр дүн = LightColor * MatColor * үр дүн * I + Specular*LightColor; үр дүн.a = 1.0; үр дүнг буцаах; )

Фрагментийн шэйдер дээр бид дундаж нормыг тооцдог (мөн та үүнийг хүссэнээрээ хийж болно, маш олон сонголт байдаг). Нормал болгохын өмнө (энэ нь хэвийн хэвээр байгаа) усны гадаргуу нь хэвтээ байрлалтай тул бид нормыг тохируулж, вектор руу (0,1,0) бага зэрэг налуу. Та үүнийг хийх шаардлагагүй, гэхдээ үр дүн нь ийм байдлаар илүү сайн харагдаж байна (мэдээжийн хэрэг та ердийн газрын зургийг засах боломжтой, гэхдээ энэ аргаилүү амархан). Дараа нь бид ердийнхөө дэлхийн координат руу хөрвүүлдэг (зөвхөн гэрэлтүүлгийн зориулалтаар). Бид бүтэцтэй координатыг нөхөхийн тулд ердийнхтэй ижил зүйлийг хийдэг (texturecoordoffset(2)). Дараа нь "долгионы өндөр" коэффициентээр үржүүлнэ. Дараа нь хамгийн сонирхолтой хэсэг ирдэг: бид усны гадаргуугийн байрлалд офсет нэмнэ дэлгэцийн координат, энэ бүгдийг тусгал матрицаар үржүүлээд tex2Dproj ашиглан тусгалын бүтэцээс уншина уу. Дараагийн алхам бол гэрэлтүүлгийг тооцоолох явдал юм. Энд гэрэлтүүлгийн арга, коэффициентийг туршиж үзэх нь зүйтэй бөгөөд энд хамгийн сонирхолтой сонголтууд байна.

техник технологи0 ( pass pass0 ( VertexShader = эмхэтгэх vs_2_0 vs_main(); PixelShader = ps_2_0 ps_main(); ) эмхэтгэх);

Мэдээжийн хэрэг, технологи, үүнгүйгээр эффект ажиллахгүй (энэ бүгдийг "нүцгэн" сүүдэрт хийж болно, гэхдээ би эффектийг илүүд үздэг).

3. Өргөдөл

Одоо манай ангийн хэрэглээг харцгаая. Усны ангилалтай файл нэмнэ үү:

Анхаарна уу. Эффектийг ачаалахын тулд эх кодонд жижиг анги (EffectClass.h) нэмэгдсэн.
Анги нь зөвхөн үүнтэй шууд бус холбоотой тул нийтлэлд тусгаагүй болно.

#include "water.h" #include "EffectClass.h" CWATER Ус; CEFFECT pActiveEffect; хөвөх tt=0.0f; IDirect3DTexture9* tex1; IDirect3DTexture9* tex2;

Ус ба хоёр бүтэц (хэвийн зураг ба бүтэцтэй координатын нүүлгэн шилжүүлэлтийн зураг) үүсгэх.

Ус зурах функц:

хүчингүй DrawWater() ( tt +=DeltaTime*0.3f; D3DXMATRIX ертөнц,matView,matProj; D3DXMatrixTranslation (&world, Water.ObjPos.x, Water.ObjPos.y, Water.ObjPos.z); ActiveView-()MatMat->Get ;D3DDevice->GetTransform(D3DTS_PROJECTION,&matProj); ,0.7f,0.7 f)); pActiveEffect.AddToConstVec3("MatColor",&D3DXVECTOR3(0.7f,0.7f,0.7f)); TT ,2.0f); pActiveEffect.AddToConstTexture("tex_bumpMap",pActiveEffect.AddToConstTexture("tex_bumpdudv1",tex2); pActiveEffect.End(); )

tt нь хүрээ тус бүрээр "өсдөг" глобал хувьсагч юм. Камерын хөдөлгөөний хурд, долгионы хурд гэх мэт нь үүнээс хамаарна. (энэ нь цаг хугацааг бэлэгддэг). pActiveEffect.Begin()-ийн өмнөх бүх зүйл зөвхөн шэйдерийн өгөгдлийг бөглөж байгаа тул энд зогсох шаардлагагүй.

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

Энэ хослол нь зөвхөн тодорхойлогддог идэвхтэй техникболон гарц.
Water.Draw() нь ус татахад хүргэдэг.

Програмыг эхлүүлэх функцэд дараах кодыг нэмнэ үү:

Ус.Init(400.0f, 400.0f, 10.0f); Water.ObjPos = D3DXVECTOR3(-200.0f,-10.0f,-200.0f); pActiveEffect.Init(); D3DXCreateTextureFromFile(D3DDevice, "water_bump.jpg", &tex1); D3DXCreateTextureFromFile(D3DDevice, "dudv.jpg", &tex2);

Энд бид усныхаа хэмжээ, хавтангийн коэффициент, дэлхийн усны байрлалыг тогтоож, эффектийг эхлүүлэхийг дуудаж, хоёр бүтэцийг ачаална.

Устгах функцэд нөөцийг (бүтэцийг) цэвэрлэхээ бүү мартаарай.

Tex1->Release(); tex2->Release();

За, зургийн функцэд:

УСНЫ_БУСАД_БҮХ_ҮЗЭГДЭЛИЙН_ОБЪЕКТИЙГ ЗУР. Ус.PreRenderForReflection(ActiveCamera); _УСНЫ_БҮХ_ҮЗЭСГЭЛЭНГИЙН_ОБЪЕКТИЙГ_ЗУРАХ_Ус.PostRenderForReflection(ActiveCamera); DrawWater();

Дараа нь бид бүх объектыг зурж, тусгалыг зурах бэлтгэлийг дуудаж, бүх объектыг дахин зурж (хэрэв хэд хэдэн байгаа бол дэлхийн матрицыг өөрчлөхөө бүү мартаарай), харин бүтэц рүү буцаана. PostRenderForReflection-г дуудаж бүтэц рүү зурахаас өмнө байсан. Эцэст нь бид усыг тусгалаар нь зурдаг (DrawWater функцийг дуудна уу).

Тэгээд л болоо!

4. Эх код

Эндээс та нийтлэлийн эх код бүхий жишээг татаж авах боломжтой.
Бүх зүйл танд тохирсон гэж найдаж байна!

Дэлхийн царцдас дотор усны үүрэг онцгой байдаг.

В.И.Вернадский

Үүнийг мөн тэмдэглэж байна Хойд хагас бөмбөрцөгУг гараг нь үндсэндээ "тив" (газар нутгийн 39.4 хувь), өмнөд хэсэг нь "далайн" (19 хувь) юм. Хэрэв та голын амнаас дээш байвал эх газрын гадаргуугийн ихэнх хэсэг нь харагдана. Луара: "Эх газрын туйлын" эргэн тойронд хуурай газар нь үзэгдэх талбайн 47 хувийг эзэлдэг. "Далайн туйл" нь Шинэ Зеландын ойролцоо байх болно (гадаргын 89 хувийг ус эзэлдэг).

Хамрах хүрээ газрын рельефчухал ач холбогдолтой: 8848 метрээс - Чомолунгма оргилоос 11020 метр хүртэл - Мариана шуудууны ёроол. Гэхдээ геоидын радиустай харьцуулахад энэ нь ач холбогдолгүй утга байх болно: гадаргуугийн эерэг өндөр нь ердөө 11/10,000, сөрөг 17/10,000 байна. Дундаж гүндалай 6/10 000, дундаж өндөргазар нь 1/10,000 орчим байдаг тул 10 метрийн радиустай бөмбөрцөг дээрх дэлхийн рельефийн ялгаа нь далайн гадаргуутай харьцуулахад 1-ээс 17 миллиметр хүртэл байх болно. Эндээс дүгнэлт гарч байна: Дэлхий дээр маш бага ус байдаг боловч янз бүрийн тооцоогоор гадаргын усны хэмжээ 1380-1450 сая шоо километр байдаг. Магадгүй ижил хэмжээний ус орсон байх дэлхийн гэдэс. С.М.Григорьевын хэлснээр өнгөцхөн ба Газрын доорхи усМохоровичикийн гадаргуугийн ёроол хүртэл динамик тэнцвэрт байдалд байгаа бөгөөд ус нь идэвхтэй хөргөлтийн бодис, уусгагч тээвэрлэгч үүрэг гүйцэтгэдэг.

Хэрэв та дэлхийн гадаргуугаас бүх усыг оюун ухаанаараа зайлуулж авбал манай гараг ер бусын хэлбэрээр гарч ирнэ. тэгш тал далайн ёроолнурууны нарийн гинж бүхий сул задралтай эх газрын массивууд бага зэрэг цухуйсан. Хэдэн арван мянган жилийн өмнө (плейстоценийн үед) Дэлхийн далайн түвшин 100 метрээр доогуур байв. Хэдийгээр тавиурын тэнгисийн өргөн уудам хуурай газар байсан ч тивүүдийн тойм нь одоогийнхоос тийм ч их ялгаатай биш байв. Дэлхийн далайн түвшин 2-3 мянган метрээр буурсан ч тивүүдийн тойрог бараг өөрчлөгдөхгүй. М.В.Муратов (1975) үүнийг далайн сав газрын ёроолын шинж чанар - хэмжээнээс үл хамааран дэлхийн жинхэнэ гадаргуу гэж үздэг. гадаргын ус. Гол ялгаа нь өөр бүтэцЭх газрын болон далайн орон зайг геологийн антипод гэж үздэг бөгөөд үүнийг 4 тэрбум гаруй жилийн турш үйл ажиллагаа явуулж буй гаригийн хүчин зүйлүүдээр тайлбарладаг.

Далай судлаач Х.Райт 1961 онд: “... өнөөгийн бидний харж байгаа өргөн уудам усны хэмжээ дэлхийн гэдэснээс ус нэвчиж ирсний улмаас манай гаригийн амьдралын туршид дусал дусал дусал дусал дусал дусал дусал өсөн нэмэгдсээр байна” гэж бичжээ. Хамгийн их магадлалтай, гаднах зүйл гарч ирэх усны бүрхүүлЭнэ нь бидний үеэс 3, бүр 3.5 тэрбум жилийн алслагдсан эрин үеийг хэлдэг. Энэ хугацаанд тивүүдийн тойм тийм ч их өөрчлөгдөөгүй байх. Мэдээжийн хэрэг, гүн далай харьцангуй саяхан гарч ирсэн. Дэлхийн далай давсжих үйл явц нь ус илүү эрчимтэй ууссан тул геологийн хүчирхэг хүчин зүйл байв. чулуулаггол дүр. Е.А.Долгонов (1978) тэмдэглэв ихэнх ньДалайн булангууд нь хар халим, гнейс, үндсэн найрлагатай магмын чулуулгаас бүрдэх бүс, бүсэд байрладаг бөгөөд тивүүдийн хошуу, хойг нь илүү тогтвортой боржин, боржин-гнейсээс бүрддэг. Энэ нь ялангуяа үндсэн найрлагатай далан суваг дээр ихэвчлэн үүсдэг фиордын бүсэд тодорхой ажиглагддаг.



Танд нийтлэл таалагдсан уу? Найзуудтайгаа хуваалцаарай!