Перспектив проекцын матриц. График API дахь хэтийн матрицууд эсвэл чөтгөр нарийвчилсан мэдээлэлд байдаг

Сүүлийн лекц дээр бид аффины геометрт ашигладаг хамгийн чухал проекцуудын талаар ярилцсан. Одоо хэтийн төлөвийн геометр болон хэд хэдэн шинэ төсөөллийн төрлийг авч үзье.

Гэрэл зураг, уран зураг, дэлгэцэн дээр зураг нь бидний хувьд байгалийн, зөв ​​мэт санагддаг. Эдгээр зургуудыг хэтийн төлөв гэж нэрлэдэг. Тэдний шинж чанар нь илүү алслагдсан объектуудыг жижиг хэмжээтэй, зэрэгцээ шугамаар дүрсэлсэн байдаг ерөнхий тохиолдолзэрэгцээ биш. Үүний үр дүнд зургийн геометр нь нэлээд төвөгтэй болж хувирдаг бөгөөд дууссан зургаас объектын тодорхой хэсгүүдийн хэмжээг тодорхойлоход хэцүү байдаг.

Ердийн хэтийн төлөвийн проекц нь проекцын төв болох цэгийг дайран өнгөрөх шулуун туяа бүхий хавтгай дээрх төв проекц юм. Проекцын туяаны нэг нь проекцын хавтгайд перпендикуляр байх ба түүнийг гол гэж нэрлэдэг. Энэ туяа ба проекцын хавтгайн огтлолцох цэг нь зургийн гол цэг юм.

Гурван координатын систем байдаг. Ер нь програмист нь дэлхийн координат дахь геометрийн объектуудын талаархи мэдээллийг ажиллуулж, хадгалдаг. Бодит байдлыг нэмэгдүүлэхийн тулд дэлгэцэн дээр зураг гаргахаар бэлтгэж байх үед дэлхийн координатаас объектуудын талаарх өгөгдлийг харах координат болгон хувиргадаг. Зөвхөн дэлгэцийн дэлгэц дээр зураг шууд гарч ирэх үед тэд дэлгэцийн пикселийн дугаар болох дэлгэцийн координат руу шилждэг.

Эхний хоёр системийг олон хэмжээст координатын системд ашиглаж болох боловч сүүлийнх нь зөвхөн хоёр хэмжээст системд ашиглагддаг. Үйлдлүүд нь эргэлт буцалтгүй, өөрөөр хэлбэл хоёр хэмжээст проекцын дүрсээс гурван хэмжээст дүрсийг сэргээх боломжгүй юм.

Ерөнхий хэтийн төлөв хувиргах матриц

Энэ матриц дахь элементүүд а, г, дмасштаблах үүрэгтэй, м, n, Лнүүлгэн шилжүүлэлтийн хувьд, х, q, rтөсөөллийн хувьд, сиж бүрэн масштабын хувьд, Xэргэлтэнд зориулагдсан.

Тодорхой үед компьютер графикийн чиглэлээр ажилладаг аливаа хөгжүүлэгч асуулт гарч ирдэг: эдгээр ирээдүйтэй матрицууд хэрхэн ажилладаг вэ? Заримдаа хариултыг олоход маш хэцүү байдаг бөгөөд ихэвчлэн тохиолддог шиг ихэнх хөгжүүлэгчид даалгаврын хагасыг орхидог.

Энэ бол асуудлын шийдэл биш! Үүнийг хамтдаа шийдэцгээе!

Практик талаасаа бодитой байж, туршилтын субьект болгон авцгаая OpenGL хувилбарууд 3.3. Энэ хувилбараас эхлэн хөгжүүлэгч бүр модулийг бие даан хэрэгжүүлэх шаардлагатай болно матрицын үйлдлүүд. Гайхалтай, энэ бол бидэнд хэрэгтэй зүйл юм. Хэцүү даалгавраа задалж, гол зүйлийг тодруулцгаая. OpenGL техникийн үзүүлэлтээс зарим баримтууд:

  • Матрицуудыг баганад (гол багана) хадгалдаг;
  • Нэг төрлийн координат;
  • Зүүн гарын координатын систем дэх каноник хайчлах хэмжээ (CVV).
Матрицуудыг хадгалах хоёр арга байдаг: гол багана, мөр-мажор. лекц дээр шугаман алгебрэгнээний үндсэн схемийг ашигладаг. By томоор ньСанах ойд матрицыг дүрслэх нь чухал биш, учир нь матрицыг энгийн шилжүүлгийн тусламжтайгаар нэг дүрслэлээс нөгөөд үргэлж хувиргаж болно. Ямар ч ялгаа байхгүй тул дараагийн бүх тооцоололд бид сонгодог эгнээний матрицуудыг ашиглана. OpenGL-ийг програмчлахдаа сонгодог эгнээний тооцооллыг хадгалахын зэрэгцээ матрицуудыг шилжүүлэхээс зайлсхийх боломжийг олгодог бяцхан заль мэх байдаг. Матрицыг шэйдер программ руу байгаагаар нь шилжүүлэх ёстой бөгөөд шэйдерт үржүүлэх үйлдлийг вектор ба матрицын хооронд биш харин матриц ба векторын хооронд хийх ёстой.

Нэг төрлийн координатууд нь олон тоотой тийм ч төвөгтэй систем биш юм энгийн дүрэмердийн декарт координатыг хөрвүүлэх талаар нэгэн төрлийн координатуудболон буцаж. Нэг төрлийн координат нь хэмжээсийн эгнээний матриц юм. Декарт координатыг нэгэн төрлийн координат болгон хувиргахын тулд зайлшгүй шаардлагатай x, yТэгээд zаль нэгээр үржүүлнэ бодит тоо w(0-ээс бусад). Дараа нь та үр дүнг эхний гурван бүрэлдэхүүн хэсэгт бичих хэрэгтэй бөгөөд сүүлчийн бүрэлдэхүүн хэсэг нь үржүүлэгчтэй тэнцүү байх болно. w. Өөрөөр хэлбэл:
- Декарт координат
w– 0-тэй тэнцүү биш бодит тоо

- нэгэн төрлийн координат

Бяцхан заль мэх: Хэрэв w 1-тэй тэнцүү бол орчуулахад шаардлагатай бүх зүйл бол бүрэлдэхүүн хэсгүүдийг шилжүүлэх явдал юм x, yТэгээд zба сүүлчийн бүрэлдэхүүн хэсэг рүү нэгийг онооно. Өөрөөр хэлбэл, эгнээний матриц авах:

Тэг чанарын тухай хэдэн үг хэлье w. Нэг төрлийн координатын үүднээс авч үзвэл энэ нь нэлээд зөвшөөрөгдөхүйц юм. Нэг төрлийн координатууд нь цэг ба векторуудыг ялгах боломжийг олгодог. Декартын координатын системд ийм хуваагдал боломжгүй юм.

- хаана зааж өгөх ( x, y, z) – Декарт координат

- вектор, хаана ( x, y, z) – радиус вектор

Нэг төрлийн координатаас декарт координат руу оройг урвуу хөрвүүлэх ажлыг дараах байдлаар гүйцэтгэнэ. Мөр матрицын бүх бүрэлдэхүүн хэсгүүдийг сүүлчийн бүрэлдэхүүн хэсэгт хуваах ёстой. Өөрөөр хэлбэл:

- нэгэн төрлийн координат
- Декарт координат

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

Каноник хайчлах хэмжээ (CVV) нь OpenGL-ийн хамгийн бага баримтжуулсан хэсгүүдийн нэг юм. Зураг дээрээс харж болно. 1 CVV нь гарал үүслийн хэсэгт төвлөрсөн, ирмэгийн урт нь хоёртой тэнцэх тэнхлэгт зэрэгцүүлсэн шоо юм. CVV хэсэгт хамаарах бүх зүйл растержуулалтад хамрагдаж, CVV-ээс гадуур байгаа бүх зүйлийг үл тоомсорлодог. CVV-ээс хэсэгчлэн гарсан бүх зүйл нь тайрах алгоритмд хамаарна. Таны мэдэх ёстой хамгийн чухал зүйл бол CVV координатын систем нь солгой юм!


Цагаан будаа. 1. Каноник OpenGL хайчлах хэмжээ (CVV)

Зүүн гарын координатын систем үү? OpenGL 1.0-ийн тодорхойлолтод ашигласан координатын системийг баруун гар гэж тодорхой заасан байдаг тул энэ нь яаж байж болох вэ? Үүнийг олж мэдье.


Цагаан будаа. 2. Координатын систем

Зураг дээрээс харж болно. 2 координатын систем нь зөвхөн тэнхлэгийн чиглэлд ялгаатай З. OpenGL 1.0 нь баруун гартай хэрэглэгчийн координатын системийг ашигладаг. Гэхдээ CVV координатын систем, хэрэглэгчийн координатын систем хоёр огт өөр зүйл юм. Түүгээр ч барахгүй 3.3 хувилбараас хойш ийм зүйл байхгүй болсон стандарт систем OpenGL координатууд. Өмнө дурьдсанчлан, программист өөрөө матрицын үйлдлийн модулийг хэрэгжүүлдэг. Эргэлтийн матриц үүсгэх, проекцын матриц үүсгэх, урвуу матриц хайх, матрицыг үржүүлэх хамгийн бага багцматрицын үйлдлийн модульд орсон үйлдлүүд. Хоёр логик асуулт гарч ирнэ. Хэрэв үзэгдэх хэмжээ нь ирмэгийн урт нь хоёртой тэнцэх шоо юм бол яагаад хэдэн мянган хэмжээтэй дүр зураг дэлгэцэн дээр харагдаж байна вэ? Хэрэглэгчийн координатын систем ямар үед CVV координатын систем рүү хөрвүүлдэг вэ? Төсөөллийн матрицууд нь эдгээр асуудлыг шийддэг объект юм.

Дээр дурдсан гол санаа нь хөгжүүлэгч өөрөө хэрэглэгчийн координатын системийн төрлийг сонгох эрхтэй бөгөөд проекцын матрицыг зөв дүрслэх ёстой. Энэ бол OpenGL-ийн тухай баримтууд бөгөөд бүх зүйлийг нэгтгэх цаг болжээ.

Хамгийн түгээмэл бөгөөд ойлгоход хэцүү матрицуудын нэг бол хэтийн төлөв хувиргах матриц юм. Энэ нь CVV болон хэрэглэгчийн координатын системтэй ямар холбоотой вэ? Ажиглагчаас холдох тусам объектууд яагаад жижиг болдог вэ? Зай нэмэгдэх тусам объектууд яагаад жижиг болж байгааг ойлгохын тулд матрицын хувиргалтыг харцгаая гурван хэмжээст загваралхам алхмаар. Ямар ч гурван хэмжээст загвар нь бие биенээсээ бүрэн хамааралгүйгээр матрицын хувиргалтыг хийдэг оройн төгсгөлийн жагсаалтаас бүрддэг нь нууц биш юм. Хоёр хэмжээст дэлгэц дээрх гурван хэмжээст оройн координатыг тодорхойлохын тулд та дараахь зүйлийг хийх хэрэгтэй.

  1. Декарт координатыг нэгэн төрлийн координат болгон хувиргах;
  2. Нэг төрлийн координатыг загварын матрицаар үржүүлэх;
  3. Үр дүнг харах матрицаар үржүүлнэ;
  4. Үр дүнг проекцийн матрицаар үржүүлэх;
  5. Нэг төрлийн координатаас гарсан үр дүнг декарт координат руу хөрвүүлнэ.
Декарт координатыг нэгэн төрлийн координат болгон хувиргах талаар өмнө нь ярилцсан. Геометрийн утгаЗагварын матриц нь тухайн загварыг орон нутгийн координатын системээс дэлхийн координатын системд шилжүүлэх явдал юм. Эсвэл тэдний хэлснээр оройнуудыг загвар орон зайгаас дэлхийн орон зайд шилжүүл. Энгийнээр хэлэхэд файлаас ачаалагдсан гурван хэмжээст объект нь тухайн объекттой харьцуулахад координатыг хэмждэг загварын орон зайд байрладаг. Дараа нь загварын матрицыг ашиглан загварыг байрлуулж, масштаблаж, эргүүлнэ. Үүний үр дүнд 3D загварын бүх оройнууд 3D дүр зураг дээр бодит нэгэн төрлийн координатуудыг хүлээн авдаг. Дэлхийн орон зайтай харьцуулахад загвар орон зай нь орон нутгийнх юм. Загварын орон зайгаас координатуудыг дэлхийн орон зайд (орон нутгийнхаас глобал руу) шилжүүлдэг. Энэ зорилгоор загвар матрицыг ашигладаг.

Одоо гурав дахь алхам руугаа явцгаая. Эндээс харахад харах орон зай гарч ирдэг. Энэ орон зайд ажиглагчийн байрлал, чиг баримжаатай харьцуулан координатыг хэмждэг бөгөөд энэ нь дэлхийн төв юм. Харах орон зай нь дэлхийн орон зайтай харьцуулахад орон нутгийн шинж чанартай тул координатыг түүнд оруулах ёстой (өмнөх тохиолдлын адил авч болохгүй). Шууд матрицын хувиргалтзарим орон зайнаас координатуудыг устгадаг. Тэдгээрийг нэвтрүүлэхийн тулд эсрэгээр матрицын хувиргалтыг урвуу оруулах шаардлагатай байдаг тул төрлийн хувиргалтыг урвуу матрицаар дүрсэлсэн байдаг. Үүнийг яаж авах вэ урвуу матриц? Эхлээд шууд ажиглагчийн матрицыг авъя. Ажиглагч ямар онцлогтой вэ? Ажиглагчийг түүний байрлаж буй координат болон харах чиглэлийн векторуудаар тодорхойлно. Ажиглагч үргэлж өөрийн орон нутгийн тэнхлэгийн чиглэл рүү хардаг З. Ажиглагч үзэгдлийн эргэн тойронд хөдөлж, эргэлт хийх боломжтой. Энэ нь олон талаараа загварын матрицын утгатай төстэй юм. Ерөнхийдөө ийм л байна. Гэсэн хэдий ч ажиглагчийн хувьд масштаблах үйлдэл нь утгагүй тул ажиглагчийн загвар матриц ба загварын матрицын хооронд гурван хэмжээст объектТа тэнцүү тэмдэг тавьж болохгүй. Ажиглагчийн загвар матриц нь хүссэн шууд матриц юм. Энэ матрицыг эргүүлснээр бид харах матрицыг олж авна. Практикт энэ нь дэлхийн нэгэн төрлийн координат дахь бүх орой нь ажиглагчтай харьцуулахад шинэ нэгэн төрлийн координатыг хүлээн авна гэсэн үг юм. Үүний дагуу, хэрэв ажиглагч тодорхой оройг харсан бол нэгэн төрлийн координатын утга zхарах орон зайд өгөгдсөн орой нь гарцаагүй байх болно эерэг тоо. Хэрэв орой нь ажиглагчийн ард байсан бол түүний нэгэн төрлийн координатын утга байна zхарагдах зай нь сөрөг тоо байх нь гарцаагүй.

Дөрөвдүгээр алхам бол хамгийн их сонирхолтой алхам. Өмнөх алхмуудыг зориуд нарийвчлан авч үзсэн тул уншигчдад ойлгомжтой байх болно бүрэн зурагдөрөв дэх алхамын бүх операндуудын тухай. Дөрөв дэх алхамд нэгэн төрлийн координатуудыг харах орон зайгаас CVV зай руу шилжүүлнэ. Бүх харагдахуйц оройнууд нь нэгэн төрлийн координатын эерэг утгатай байх болно гэдгийг дахин нэг удаа онцлон тэмдэглэв. z.

Матрицыг дараах маягтаар авч үзье.

Тэгээд зааж өгнө нэгэн төрлийн орон зайажиглагч:

Нэг төрлийн координатыг тухайн матрицаар үржүүлье.

Үүссэн нэгэн төрлийн координатыг декартын координат болгон хувиргацгаая.

Харах орон зайд ижил координаттай хоёр цэг байна гэж бодъё xТэгээд y, гэхдээ өөр өөр координаттай z. Өөрөөр хэлбэл, нэг оноо нөгөөгөөсөө хоцорч байна. Хэтийн төлөвийн гажуудлаас болж ажиглагч хоёр цэгийг харах ёстой. Үнэхээр томъёоноос харахад координатаар хуваагдаж байгаа нь тодорхой байна z, гарал үүслийн цэг хүртэл шахалт үүсдэг. Яаж илүү үнэ цэнэ z(цэг нь ажиглагчаас хол байх тусам) шахалт илүү хүчтэй болно. Энэ бол хэтийн үр нөлөөний тайлбар юм.

OpenGL-ийн тодорхойлолтод хайчлах, растержуулах үйлдлүүд нь декарт координатаар хийгддэг бөгөөд нэгэн төрлийн координатыг декарт координат руу хөрвүүлэх үйл явц автоматаар хийгдэнэ.

Матриц (1) нь хэтийн төлөвийн проекцийн матрицын загвар юм. Өмнө дурьдсанчлан, проекцийн матрицын даалгавар нь хоёр цэгээс бүрдэнэ: хэрэглэгчийн координатын системийг (зүүн гар эсвэл баруун гартай) тохируулах, ажиглагчийн үзэгдэх хэмжээг CVV руу шилжүүлэх. Зүүн гартай хэрэглэгчийн координатын системийн хэтийн төлөвийн матрицыг гаргаж авцгаая.

Проекцийн матрицыг дөрвөн параметр ашиглан тодорхойлж болно (Зураг 3):

  • Радианаар харах өнцөг ( фови);
  • Харьцаа ( тал);
  • Хамгийн ойрын хайчлах онгоц хүртэлх зай ( n);
  • Холын зүсэх онгоц хүртэлх зай ( е).


Цагаан будаа. 3. Харагдах байдлын хэтийн хэмжээ

Ажиглагчийн орон зай дахь цэгийн хэтийн төлөвийн алсын барааны захын урд талын ирмэг дээрх проекцийг авч үзье. Илүү тодорхой болгохын тулд Зураг дээр. 4 нь хажуугийн харагдах байдлыг харуулж байна. Хэрэглэгчийн координатын систем нь CVV координатын системтэй давхцдаг, өөрөөр хэлбэл зүүн гартай координатын системийг хаа сайгүй ашигладаг гэдгийг анхаарах хэрэгтэй.


Цагаан будаа. 4. Төсөл дурын цэг

Үл хөдлөх хөрөнгө дээр үндэслэсэн ижил төстэй гурвалжиндараах тэгшитгэл хүчинтэй байна:

yꞌ ба xꞌ-ийг илэрхийлье:

Зарчмын хувьд (2) илэрхийлэл нь проекцын цэгүүдийн координатыг авахад хангалттай. Гэсэн хэдий ч, гурван хэмжээст объектуудыг зөв дэлгэцэнд гаргахын тулд фрагмент бүрийн гүнийг мэдэх хэрэгтэй. Өөрөөр хэлбэл, бүрэлдэхүүн хэсгийн утгыг хадгалах шаардлагатай z. Энэ нь OpenGL-ийн гүнийг шалгахад ашигладаг утга юм. Зураг дээр. 3 гэдэг нь тодорхой байна zꞌнь фрагментийн гүнд тохиромжгүй, учир нь бүх цэгийн төсөөлөл боломжтой ижил үнэ цэнэ zꞌ. Энэ нөхцөл байдлаас гарах арга зам бол псевдо-гүнзийг ашиглах явдал юм.

Псевдо-гүний шинж чанарууд:

  1. Утга дээр үндэслэн псевдо гүнийг тооцоолно z;
  2. Энэ цэг нь ажиглагчид ойртох тусам псевдо гүний утга бага байх болно;
  3. Харагдах байдлын эзэлхүүний урд талын хавтгайд байрлах бүх цэгүүд нь псевдо гүний утгатай -1 байна;
  4. Харагдах байдлын эзэлхүүний хол огтлох хавтгайд байрлах бүх цэгүүд нь псевдо гүний утгатай 1 байна;
  5. Харагдах хэмжээний дотор байрлах бүх хэлтэрхийнүүд нь [-1 1] мужид псевдо-гүн утгатай байна.
Псевдо гүнийг тооцоолох томъёог гаргая. Дараах илэрхийллийг үндэс болгон авч үзье.

Магадлал аТэгээд бтооцох шаардлагатай. Үүнийг хийхийн тулд бид 3 ба 4-р псевдо гүний шинж чанаруудыг ашигладаг. Бид хоёр үл мэдэгдэх хоёр тэгшитгэлийн системийг олж авдаг.

Системийн хоёр хэсгийг нэмж, үр дүнг үржвэрээр үржүүлье fn, байхад еТэгээд nтэгтэй тэнцүү байж болохгүй. Бид авах:

Хаалтуудыг нээж, нэр томъёог зөвхөн хэсэгтэй байхаар цэгцэлцгээе А, баруун талд зөвхөн хамт б:

(6)-г (5)-д орлуулъя. Илэрхийлэлийг энгийн бутархай болгон хөрвүүлье:

Хоёр талыг үржүүлнэ -2fn, байхад еТэгээд nтэгтэй тэнцүү байж болохгүй. Үүнтэй төстэй зүйлийг танилцуулж, нэр томъёог дахин цэгцэлж, илэрхийлье б:

(7)-г (6)-д орлуулж илэрхийлье а:

Үүний дагуу бүрэлдэхүүн хэсгүүд аТэгээд бтэнцүү байна:

Одоо олж авсан коэффициентүүдийг ажлын хэсгийн матрицад (1) орлуулж, координатад юу тохиолдохыг харцгаая. zажиглагчийн нэгэн төрлийн орон зай дахь дурын цэгийн хувьд. Орлуулах ажлыг дараах байдлаар гүйцэтгэнэ.

Урд зүсэх хавтгай хүртэлх зайг зөвшөөр nнь 2-той тэнцүү бөгөөд алсын зүсэх хавтгай хүртэлх зай етэнцүү 10. Ажиглагчийн нэгэн төрлийн орон зайд таван цэгийг авч үзье.

Харилцан байр суурьцэгүүд болон үзэгдэх байдлын хэмжээ
Цэг Утга Тодорхойлолт
1 1 Цэг нь харагдахуйц эзэлхүүний урд зүсэх онгоцны урд байрладаг. Растержуулалтыг дамжуулдаггүй.
2 2 Цэг нь үзэгдэх орчныг таслах хэсгийн урд ирмэг дээр байрладаг. Растержуулалт хийгдэж байна.
3 5 Цэг нь харагдах байдлын эзэлхүүний урд талын хайчлах ирмэг ба хол хайчлах ирмэгийн хооронд байрладаг. Растержуулалт хийгдэж байна.
4 10 Энэ цэг нь үзэгдэх орчны хязгаарын хамгийн захад байрладаг. Растержуулалт хийгдэж байна.
5 20 Энэ цэг нь үзэгдэх орчны хязгаарын хамгийн захаас цааш байрладаг. Растержуулалтыг дамжуулдаггүй.

Бүх цэгүүдийг матрицаар (8) үржүүлье, дараа нь үүссэн нэгэн төрлийн координатыг хөрвүүлье. Декарт координатууд . Үүнийг хийхийн тулд бид шинэ нэгэн төрлийн бүрэлдэхүүн хэсгүүдийн утгыг тооцоолох хэрэгтэй Тэгээд .
1-р цэг:

Нэг төрлийн координат гэдгийг анхаарна уу CVV-д үнэхээр зөв байрлуулсан бөгөөд хамгийн чухал нь псевдо гүн нь туршилтын шаардлагыг бүрэн хангаж байгаа тул OpenGL-ийн гүнийг шалгах боломжтой болсон.

Координаттай zБид үүнийг ойлголоо, координат руу шилжье xТэгээд y. Өмнө дурьдсанчлан, бүгд ирээдүйтэй хэмжээхарагдах байдал нь CVV-д тохирох ёстой. CVV ирмэгийн урт нь хоёр байна. Үүний дагуу алсын барааны харагдацын өндөр ба өргөнийг ердийн хоёр нэгж болгон шахах ёстой.

Бидэнд булан бий фовиболон хэмжээ тал. Эдгээр утгыг ашиглан өндөр, өргөнийг илэрхийлье.


Цагаан будаа. 5. Харагдах байдлын хэмжээ

Зураг дээрээс. 5 Энэ нь тодорхой байна:

Одоо бид CVV OpenGL-тэй ажилладаг солгой гартай координатын системийн хэтийн төлөвийн проекцийн матрицын эцсийн үзэмжийг авах боломжтой.

Энэ нь матрицын гарал үүслийг дуусгана.

OpenGL-ийн гол өрсөлдөгч болох DirectX-ийн талаар хэдэн үг хэлье. DirectX нь OpenGL-ээс зөвхөн CVV-ийн хэмжээсүүд болон байршлаараа ялгаатай. DirectX дээр CVV байдаг куб хэлбэртэйтэнхлэгийн урттай xТэгээд yхоёртой тэнцүү ба тэнхлэгийн дагуу zурт нь нэгтэй тэнцүү байна. Хүрээ xТэгээд y[-1 1] ба муж z-тэй тэнцүү. CVV координатын системийн хувьд DirectX нь OpenGL шиг солгой гартай координатын системийг ашигладаг.

Захиалгат баруун гарын координатын системийн хэтийн төлөвийн матрицуудыг харуулахын тулд та 1-р зургийг дахин зурах хэрэгтэй. Шинэ тэнхлэгийн чиглэлийг харгалзан 2, 3-р зураг, 4-р зураг З. Цаашдын тооцоолол нь тэмдэг хүртэл бүрэн төстэй юм. DirectX матрицын хувьд псевдо-гүний шинж чанарууд 3 ба 4 нь мужид тохируулан өөрчлөгддөг.

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

At төв төсөөлөлбүх проекцын туяа орон зайн тодорхой цэгээр дамждаг - проекцын төв. Төвийн төсөөллийг хэрэгжүүлдэг физик төхөөрөмж нь линз юм. Харааны ажиглалтанд линзний үүргийг нүдээр гүйцэтгэдэг. Линзэнд объект, зургийн орон зай дахь коньюгат цэгүүдийг холбосон туяа нь проекцын төв болох арын гол цэгээр дамждаг (Зураг 1.5.3). Төвийн проекцын энэхүү үндсэн шинж чанараас дүрсийг бүтээх математикийн аргыг дагаж мөрддөг: объектын цэг ба проекцын төвийг дайран өнгөрөх шулуун шугамын огтлолцлын цэгийг тодорхойлох замаар зураг дээрх цэг бүрийн координатыг тооцоолж болно. (зураг) гадаргуу. Хэрэв сонгосон объектын координатын системд цэгүүдийн координатууд мэдэгдэж байгаа бол зургийн гадаргуугийн тэгшитгэл нь тэгшитгэлийн системийг шийдсэний үр дүнд дүрсийн цэгийн координатыг тодорхойлно.

Цагаан будаа. 1.5.3. Төвийн төсөөллийн ерөнхий схем

Ихэнх тохиолдолд проекцын гадаргууг хавтгай гэж үзэж болно. Энэ ойролцоо тооцоолол нь нүдний хувьд маш зөв юм. Нүдний гэрэлд мэдрэмтгий гадаргуу болох торлог бүрхэвч нь бараг бөмбөрцөг хэлбэртэй байдаг ч тодорхой харааны талбайн хувьд хэд хэдэн градусын өнцгийн хэмжээгээр хязгаарлагддаг бол үүнийг хавтгай гэж үзэж болно.

Оптикийн хуулиудын дагуу хурц дүрсийг олж авахын тулд гэрэл мэдрэмтгий гадаргуу нь линзний оптик тэнхлэгт перпендикуляр байх ёстой бөгөөд проекцын төвөөс тодорхой зайд байрладаг бөгөөд үүнийг ихэвчлэн авдаг. фокусын урттай тэнцүү байна. Үнэн хэрэгтээ зураг нь проекцын төвөөс зургийн зайд байрладаг бөгөөд энэ нь фокусын зайнаас үргэлж их байдаг. Гэсэн хэдий ч объектыг линзээс зайнаас зайлуулсан бол зураг хоорондын ялгаа болон фокусын уртач холбогдолгүй. Тиймээс зургийн хавтгайн байрлал нь проекцын төв ба линзний оптик тэнхлэгтэй харьцуулахад амархан тогтоогддог. Хэрэв линз нь тодорхой объектууд түүний харах талбарт унахаар эргэлддэг бол зургийн хавтгай түүнтэй хамт эргэх ёстой.

Хэрэв бид бодит дүрс үүсгэх төхөөрөмжүүдийн төв проекцын тэмдэглэсэн шинж чанаруудыг харгалзан үзвэл объектын орон зай дахь цэгүүдийн координат ба зургийн орон зай хоорондын холболтыг тэгшитгэлийн системээс өөр хэлбэрээр илэрхийлж болно ( 1.5.7). Зургийн хавтгайд зориулсан координатын систем, холбогдох линзний координатын систем, объектын орон зайн координатын системийг танилцуулъя (Зураг 1.5.4). Төвийн проекцын онцлогийг дараах байдлаар илэрхийлж болно: проекцийн төвийг коньюгат цэгүүдтэй холбосон векторууд ба коллинеар байна. Үүнийг дагадаг

өгөгдсөн хос цэгийн тогтмол ба .

Цагаан будаа. 1.5.4. Зургийн хавтгайн эргэлтийн схем

Зураг авалтын камерыг тэнхлэгтэй харьцуулан, өнцгөөр эргүүлэх боломжтойг харгалзан (1.5.8)-аас олж авна.

, (1.5.8)

систем дэх дизайны төвийн координатууд хаана байна; – систем дэх дизайны төвийн координатууд.

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

. (1.5.9)

(1.5.9) дахь тогтмолыг хасч, эхний ба хоёр дахь мөрийг гуравдахь хэсэгт хуваах замаар бид систем дэх коньюгат цэгүүдийн координаттай холбоотой тэгшитгэлийг олж авах ба:

Зургийн цэгүүдийн координатыг ашиглан (1.5.10) системээс ажиглалтын гадаргуугийн тэгшитгэл өгөгдсөн бол объектын орон зай дахь коньюгат цэгүүдийн координатыг тодорхойлж болно. . Дараа нь цэгийн координатын дагуу гадаргуугийн тэгшитгэл болон мэдэгдэж байгаа гэрэлтүүлгийн нөхцөл, цэгийн шинж чанаруудыг (гэрэлт, өнгө) тодорхойлж, дүрсний харгалзах цэгийн шинж чанаруудыг тооцоолж болно. Энд товч тайлбарласан дүрсний синтезийн процедур нь зургийн орон зайгаас объектын орон зайд цацарч буй туяаг хянахад үндэслэсэн болно. доторх цацрагийн урсгалын эсрэг чиглэлд бодит систем. Компьютер графикт бид энэ аргыг урвуу туяаг хянах арга гэж нэрлэдэг.

Төвийн төсөөллийн онцлог шинж чанар нь проекцын төвөөс өөр өөр зайд байрлах объектын зургийн масштабын мэдэгдэхүйц ялгаа юм. Энэ нь буурсантай холбоотой өнцгийн хэмжээсүүдзураг авалтын талбайгаас холдох үед объект (мөн үүний дагуу зургийн хавтгай дахь шугаман хэмжээ багасах үед). Зураг 1.5.5-д үе үе давтагдах тэгш өнцөгтийн хэв маяг бүхий тууз хэлбэрээр объектыг буудсаны үр дүнг харуулав. Туузны өргөн, тэгш өнцөгтийн хэмжээг өөрчлөх нь орон зайд гүн гүнзгий мэдрэмжийг бий болгодог. Зарчмын хувьд зургийг жишээ нь (1.5.12) томъёог ашиглан тооцоолж болох боловч хэрэв та цацрагийн алга болох цэгийг зааж өгвөл хангалттай нарийвчлалтайгаар бүтээж болно. Цацрагийн алга болох цэгийн координатыг ашиглан тооцоо хийх нь илүү хялбар байдаг. Тиймээс энэ аргыг видео симулятор дээр нүдээр ажиглагдсан орчныг дуурайлган дуурайлган хийхэд өргөн хэрэглэгддэг.

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

Зураг дээр бид камерын координатын орон зайг харж байна. Камерын чиглэл ("харагдах") нь z тэнхлэгийн эерэг чиглэлтэй үргэлж давхцдаг бөгөөд камер өөрөө гарал үүслийн хэсэгт байрладаг.

Зурагт үзүүлсэн пирамидын дотоод орон зай нь хэрэглэгчийн харах виртуал ертөнцийн хэсэг юм.

Гурван онгоцыг анхаарч үзээрэй. Эхнийх нь z тэнхлэгийн дагуу 1-ийн зайд байрладаг. Энэ бол ойрын онгоц юм. Тоглогч өмнө нь юу байгааг хэзээ ч харахгүй. IN энэ тохиолдолд z-ийн утга нэгтэй тэнцүү боловч ерөнхийдөө юу ч байж болно. График дэлгэцийн нэг гэмтэл нь ойролцоох хавтгайтай холбоотой. Энэ согог нь голчлон мэргэн буучдад илэрдэг (учир нь агуу эрх чөлөөкамер). Объект руу хэт ойртох үед та "дотор" байж болно. -аас хамгийн сүүлийн үеийн тоглоомуудЭнэ согог ялангуяа Left 4 dead-д тод харагдаж байсан: олон тооны зомби тоглогч дээр унах үед бусад дүрүүдийг харах боломжтой байв.

z тэнхлэгийн дагуу 100 нэгжийн зайд байрлах онгоцыг алсын хавтгай гэж нэрлэдэг. Дахин хэлэхэд үнэ цэнэ нь дур зоргоороо байж болно. Хэрэглэгч энэ хавтгайгаас цааш байрлах объектуудыг хэзээ ч харахгүй.

Хэрэглэгчийн харах зайг хязгаарлаж буй зургаан онгоцыг хайчлах онгоц гэж нэрлэдэг: зүүн, баруун, дээд, доод, ойр, хол.

Ойрын болон холын хооронд байрлах онгоц нь проекц юм. Дараах зүйлд бид энэ хавтгайг z=1 дээр байрлуулах болно, өөрөөр хэлбэл. энэ нь хамгийн ойрынхтой давхцах болно. Энд би ойрын болон проекцын онгоцуудыг салгаж, тэдгээр нь ижил зүйл биш гэдгийг харуулах болно. Проекцийн хавтгай нь хамгийн сүүлийн координатын хувиргалт: хувиргалтаас гурван хэмжээст орон зайкамерууд - хоёр хэмжээст орон зайд.

Энэ нь проекцын хавтгайн ачаар хэрэглэгч харах болно виртуал ертөнц. Үнэн хэрэгтээ энэ онгоц бол хэрэглэгчдэд харагдах зүйл юм. Проекцийн хавтгай нь урд/арын буфер, програмын цонх, хэрэглэгчийн дэлгэц зэрэг ойлголтуудтай шууд холбоотой. Эдгээр бүх ойлголтыг компьютерийн санах ойд тоонуудын массиваар дүрсэлсэн тэгш өнцөгт зураг гэж үзэж болно.

Гурван хэмжээст ертөнцөөс координатыг проекцын хавтгайд хөрвүүлэх нь эдгээрээс хамгийн хэцүү байдаг одоогоорманайхаар судалсан.

Харах талбар

Дээрх зурагт проекцын хавтгай (тиймээс хэрэглэгчийн харах зураг) өргөнтэй байна илүү өндөр. Проекцын хавтгайн өргөн ба өндрийг өнцгийн тусламжтайгаар тодорхойлно. Уулзана өөр өөр нэрсЭдгээр өнцөг: харах талбар эсвэл харах талбай. Англи хэлээр - харах талбар.

Харах талбайг хоёр өнцгөөр тодорхойлно. Тэднийг гэж нэрлэе: fovx - хэвтээ харах талбай, fovy - босоо харах талбай. Үзэх талбайн талаарх дэлгэрэнгүй мэдээлэл: доор.

Z-буфер / w-буфер / гүн буфер (z-буфер / w-буфер / гүн буфер)

Камераас 25 ба 50 нэгжийн зайд байрлах хоёр гурвалжинг харуулсан зургийг харцгаая. Зураг (а) нь орон зай дахь гурвалжингийн байршлыг (дээд харагдах байдал), (б) зурагт эцсийн зургийг харуулав.

Таны таамаглаж байгаагаар зургийг хамгийн алслагдсан элементүүдээс эхлээд хамгийн ойрынх нь хүртэл зурах хэрэгтэй. Тодорхой шийдэл бол эх үүсвэрээс (камераас) объект бүр хүртэлх зайг тооцоолж, дараа нь харьцуулах явдал юм. IN компьютер графикарай илүү дэвшилтэт механизмыг ашигладаг. Энэ механизм нь хэд хэдэн нэртэй байдаг: z-буфер, w-буфер, гүн буфер. Элементүүдийн тооны хувьд z-буферийн хэмжээ нь дэвсгэр болон үндсэн буферийн хэмжээтэй ижил байна. Камерт хамгийн ойр байгаа объектын z-бүрэлдэхүүнийг z-буферт оруулна. Энэ жишээнд цэнхэр гурвалжин ногоон гурвалжинтай давхцаж байгаа тохиолдолд цэнхэр өнгийн z-координатыг гүн буферт оруулна. Бид тусдаа хичээл дээр z-буферийн талаар илүү дэлгэрэнгүй ярих болно.

Зөв бичгийн / зэрэгцээ проекц

Орон зайн хэмжээ багасах (гурван хэмжээст орон зай байсан, хоёр хэмжээст болсон) үйлдлийг проекц гэж нэрлэдэг. Юуны өмнө бид хэтийн төлөвийн төсөөллийг сонирхож байгаа боловч эхлээд параллель (зэрэгцээ эсвэл зөв бичгийн проекц) -тэй танилцах болно.

Тооцоолохын тулд зэрэгцээ проекцнэмэлт координатыг хаяхад хангалттай. Хэрэв бидэнд огторгуйд цэг байгаа бол [ 3 3 3 ] бол z=1 хавтгайд параллель проекцоор энэ нь цэг рүү проекц болно.

Проекцийн хавтгай дээрх хэтийн төлөв

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


Энэ зургийг өмнөх хичээлийн нэгэн төрлийн координатыг харуулсан зурагтай харьцуул. Гурван хэмжээст орон зайгаас хоёр хэмжээст орон зай руу шилжихийн тулд векторуудын эхний хоёр бүрэлдэхүүн хэсгийг гурав дахь хэсэгт хуваах хэрэгтэй: [ x/z y/z z/z ] = [ x/z y/z 1 ].

Миний дээр бичсэнчлэн, проекцын хавтгай нь хол, ойрын хооронд хаана ч байрлаж болно. Бид проекцын хавтгайг үргэлж z=1 дээр байрлуулах боловч энэ зааварт бид бусад хувилбаруудыг авч үзэх болно. Зургийг харцгаая:


Координатын эхлэлээс проекцын хавтгай хүртэлх зайг d гэж тэмдэглэе. Бид d=1 ба d=5 гэсэн хоёр тохиолдлыг авч үзэх болно. Чухал цэг: проекцын дараах бүх векторуудын гурав дахь бүрэлдэхүүн нь d-тэй тэнцүү байх ёстой - бүх цэгүүд нэг хавтгайд байрлана z=d. Үүнийг векторын бүх бүрэлдэхүүн хэсгүүдийг d: [ xd/z yd/z zd/z ]-аар үржүүлж болно. d=1-тэй бол бид дараахийг авна: [ x/z y/z 1 ], энэ нь нэгэн төрлийн координатыг хувиргахад ашигласан томъёо юм.

Одоо проекцын хавтгайг z=5 (д=5 тус тус) цэг рүү шилжүүлбэл: [ xd/z yd/z zd/z ] = [ 5x/z 5y/z 5 ] болно. Сүүлийн томьёо нь орон зайн бүх векторуудыг нэг хавтгайд буулгах ба d=5.
Энд бидэнд жаахан асуудал байна. Өмнөх томьёо нь гурван хэмжээст векторуудтай ажилладаг. Гэхдээ бид ашиглахаар тохиролцсон 4D векторууд. Энэ тохиолдолд дөрөв дэх бүрэлдэхүүнийг зүгээр л хаяж болно. Гэхдээ бид үүнийг хийхгүй, учир нь түүний хэрэглээ нь тодорхой боломжуудыг өгдөг бөгөөд бид дараа нь хэлэлцэх болно.

олох хэрэгтэй нийтлэг хуваагчГурав, дөрөв дэх бүрэлдэхүүн хэсгүүдийг хуваахад d утга гурав дахь бүрэлдэхүүн хэсэгт, нэгдмэл байдал дөрөв дэх хэсэгт үлдэнэ. Энэ хуваагч нь d/z байна. Одоо ердийн [ x y z 1 ] вектороос бид проекц (хуваах) [ x y z z/d ] хийхэд бэлэн вектор авах хэрэгтэй. Энэ нь хувиргах матрицыг ашиглан хийгддэг (ямар нэгэн векторыг энэ матрицаар үржүүлж үр дүнг шалгана уу):


Сүүлийн өөрчлөлт нь хараахан төсөөлөөгүй байна. Энд бид зүгээр л бүх векторуудыг шаардлагатай хэлбэрт оруулдаг. Бид проекцын хавтгайг d=1 дээр байрлуулах бөгөөд энэ нь векторууд дараах байдлаар харагдах болно гэдгийг сануулъя: [ x y z z ].

Перспектив хувиргах матриц

Бид DirectX-д ашигласан хэтийн төлөв хувиргах матрицыг авч үзэх болно.

Одоо бид _34 ямар элементэд зориулагдсан болохыг мэдэж байна. Мөн _11 ба _22 элементүүд нь зургийг хэвтээ ба босоо байдлаар томруулдаг гэдгийг бид мэднэ. xScale болон yScale нэрний ард яг юу нуугдаж байгааг харцгаая.

Эдгээр хувьсагч нь бидний дээр хэлэлцсэн харах хэсгүүдээс хамаарна. Эдгээр өнцгийг нэмэгдүүлэх эсвэл багасгах замаар та зургийг масштаблах (масштаб эсвэл томруулах) боломжтой - проекцын хавтгайн хэмжээ, харьцааг өөрчлөх боломжтой. Томруулах механизм нь камер/камерыг томруулж байгааг тодорхойгүй санагдуулдаг - зарчим нь маш төстэй юм. Зургийг харцгаая:


fov өнцгийг хоёр хэсэгт хувааж, зөвхөн нэг талыг нь авч үзье. Энд бид юу харж байна: fov/2 өнцгийг (болон үүний дагуу fov өнцгийг) нэмэгдүүлснээр бид өнцгийн нүгэлийг нэмэгдүүлж, cos-ийг бууруулна. Энэ нь проекцын хавтгай нэмэгдэж, үүний дагуу төлөвлөсөн объектуудын бууралтад хүргэдэг. Бидний хувьд хамгийн тохиромжтой өнцөг нь fov/2 = P/4 байх болно. P/4 радиан дахь өнцөг нь 45 градустай тэнцүү гэдгийг сануулъя. Энэ тохиолдолд fov нь 90 градустай тэнцүү байх болно. 45 градусын өнцөг яагаад бидэнд ашигтай вэ? Энэ тохиолдолд масштаб байхгүй бөгөөд cos(P/4)/sin(P/4)=1 байна.

Одоо бид харах талбайн хагасын синус ба косинусыг ашиглан зургийг босоогоор (хэвтээ) хялбархан томруулж чадна (C++ хэл дээрх котангенсийн функцийг cot гэж нэрлэдэг):

yScale = cos(fovY/2)/sin(fovY/2) = ор(fovY/2)
DirectX нь зөвхөн босоо харааны талбарыг (fovY) ашигладаг бөгөөд хэвтээ масштаб нь дараахь зүйлээс хамаарна. босоо бүсхарах ба харьцаа.

Манай программуудын цонх 500х500 хэмжээтэй гэдгийг сануулъя. Харьцаа: 1-ээс 1. Тиймээс хувьсагчид тэнцүү байх болно: xScale=1, yScale=1.

Стандарт дэлгэц/ТВ-ийн харьцаа: 4:3. Энэ харьцаа нь дэлгэцийн нягтралтай тохирч байна: 640x480, 800x600, 1600x1200. Бид бүрэн дэлгэцийн горимд хараахан хүрэхгүй байгаа ч програмын цонхны хэмжээг өөрчлөх боломжтой. Та цонхны хэмжээг (одоо байгаа параметрүүдээр), жишээлбэл, 640X480 болгож өөрчилж болно. Гэхдээ бүх объектыг сунгахаас сэргийлэхийн тулд (дөрвөлжин нь тэгш өнцөгт шиг харагдах болно) проекцын матриц дахь харгалзах хувьсагчдыг өөрчлөхөө бүү мартаарай.

DirectX дээрх xScale-д зориулсан форум: би бараг мартчихаж.

xScale = yScale / харьцаа
Харьцааг энгийнээр тохируулсан: 1/1, 4/3, 16/9 - эдгээр нь стандарт юм.

Перспектив хувиргах матрицын _33, _34-р элементүүдийн зорилгыг олж мэдэхэд л үлдлээ. zf нь алс холын хавтгайн z координат (алс - холоос), zn нь ойрын хавтгайн z координат (ойрын - ойроос) юм. Элемент _43 = _33 * -zn гэдгийг анхаарна уу.

Эдгээр томьёо яг юу болохыг ойлгох хамгийн хялбар арга бол жишээнүүдийн тусламжтайгаар юм. Стандарт векторыг [ x y z w ] дээр үзүүлсэн матрицаар үржүүлье. Би танд цаас, харандаа авах замаар үүнийг хийхийг зөвлөж байна (хоёр матрицыг хэрхэн үржүүлэхээ санаж байна гэж найдаж байна). Вектор бүрэлдэхүүн нь дараах хэлбэртэй байна.

1-р = x*xScale
2-р = y*yScale
3-р = z*(zf/(zf-zn)) + w*(-(zn*zf)/(zf-zn)) = (zf/(zf-zn))*(z - w*zn)
4-р = (w*z)/d
Проекцын хувиргалтыг хийцгээе (бид бүх элементүүдийг 4-р бүрэлдэхүүн хэсэгт хувааж, d=1 ба w=1 гэж үзье):

1-р = (d*x*xScale)/(w*z) = (x*xScale)/z
2-р = (d*y*yScale)/(w*z) = (y*xScale)/z
3-р = (zf/(zf-zn))*(z - w*zn)*(w*d/z) = (zf/(zf-zn))*(1 - zn/z)
4 = 1
Үүний үр дүнд бид дараах хэлбэрийн векторыг хүлээн авлаа.

[ x/(z*xScale) y/(z*yScale) (zf/(zf-zn))*(1-zn/z) 1 ]
Одоо, хэрэв та zf болон zn-ийн тодорхой утгуудыг зааж өгвөл та дараахь зүйлийг олох болно (for эерэг утгууд): хэрэв вектор ойролцоох хавтгайн өмнө байрласан бол хувиргасны дараах z-бүрэлдэхүүн хэсэг болно тэгээс бага, хэрэв вектор алс холын хавтгайн ард байрладаг бол z-бүрэлдэхүүн хэсэг нь нэгдлээс их байх болно.

Ойрын болон холын хавтгай яг хаана байрлаж байгаа нь ямар ч ялгаагүй: zn=1, zf=10 эсвэл zn=10, ба zf=100 (эсвэл бусад утгууд) - хувиргасны дараа харагдах хэсэг нь интервалд байрлана. тэгээс нэг хүртэл, багтаасан.

Проекцын матрицын _33, _34-р элементүүдийн томъёонууд яг ийм зорилготой - ойроос алсын хавтгай хүртэлх зайг сегмент рүү проекцлоход зориулагдсан. Үүнийг хэд хэдэн векторын утгыг тооцоолох замаар шалгана уу тодорхой утгууд zn,zf (тиймээ, цаасан дээр!!!).

Олон жилийн бүтээлүүд. Волошин Максимилиан. Яруу найрагчийн эр зориг. 1. Шүлгийг гадаадад илгээсэн текст шиг засварлах: Хуурайшилт, тод байдал, дарамт - үг бүр сэрэмжтэй байна.

Хатуу, давчуу чулуун дээр үсгээр үсгээр таслах: Тэрнээс хэмнэлттэй үгс, тэдний хүч илүү хүчтэй болно. Бодлын сайн дурын цэнэг нь чимээгүй бадагтай тэнцүү юм.

"Гоо сайхан", "Урам зориг" гэсэн үгсийг толь бичгээс арилгана - яруу найрагч: Үнэн, загвар, төлөвлөгөө, дүйцэхүйц, товч бөгөөд үнэн зөвийг ойлгодог. Ухаантай, хүнд хэцүү урлал бол яруу найрагчийн урам зориг, хүндэтгэл юм: Дүлий-дүлий зүйлд, трансцендент сонор сэрэмжийг хурцална. Волошин М.А. Номын сан: Орёлын бүс нутгийн шинжлэх ухааны бүх нийтийн номын сан нийтийн номын сантэд. I.A. Бунина. - М., ; Сонгосон бүтээлүүд: 2 боть.

М., ; Улаан утаа: түүхүүд. - М., ; Тагнуулын компаниас Гладышев: Түүхүүд. - М., ; Эшелон; Зайлшгүй байдал: Зохиолууд. Тэрээр Мари, Удмурт яруу найрагчдын орчуулгыг их хийсэн. Би ч үе үе зохиолд хүчээ сорьсон. Оп. Максимилиан Александрович Волошин () - нэг хамгийн агуу яруу найрагчид 20-р зууны эхний гуравны нэг. Энэ бол авъяаслаг уран бүтээлч, олон талт уянгын зохиолч, замыг өнгөрсөнбэлгэдэл, эзотерик шүлгээс эхлээд иргэний сэтгүүл зүй, шинжлэх ухаан-гүн ухааны яруу найраг хүртэл, антропософик үзлээр дамжуулан "Бурханы хотын идеал" хүртэл.

Санал болгож буй нийтлэл нь уншигчдад зөвхөн хамгийн сайн зүйлтэй танилцах боломжийг олгодог яруу найргийн бүтээлүүдВолошин, гэхдээ бас - түүний хамгийн их сонирхолтой бүтээлүүдулс орнуудын амьдрал дахь гайхалтай үйл явдлуудтай холбоотой гоо зүй, дурсамжийн зохиол, сэтгүүл зүй, захидалд. Зохиогч. Волошин Максимилиан. Зохиогчийн бүх шүлэг. Ажил. Яруу найрагчийн эр зориг. 2. Одод. Зохиолч, шүлгийн дуртай цуглуулга үүсгээрэй!

Ижил бодолтой хүмүүстэй чатлаарай! Шүүмж бичиж, яруу найргийн тулаан, тэмцээнд оролцоорой! Шилдэг нэгдээрэй! Poembook-д нэгдсэнд баярлалаа! Бүртгэлд нэвтрэх мэдээлэл бүхий захидал таны имэйл рүү илгээгдсэн болно!

Та 24 цагийн дотор нэвтрэх ёстой. Үгүй бол бүртгэл устах болно! Бүртгэгдсэн хэрэглэгчид маш их ашиг тус хүртдэг: Шүлэг нийтлэх - авьяас чадвараа ухамсарлаарай! Зохиолч, шүлгийн дуртай цуглуулга үүсгээрэй! Ижил бодолтой хүмүүстэй чатлаарай! Шүүмж бичиж, яруу найргийн тулаан, уралдаанд оролцоорой! Максимилиан Волошин. Тодорхойлолт. Максимилиан Александрович Волошин бол 20-р зууны эхний гуравны нэг дэх хамгийн агуу яруу найрагчдын нэг юм.

Тэрээр бэлгэдэл, эзотерик шүлгээс иргэний-сэтгүүл зүй, шинжлэх ухаан-гүн ухааны яруу найраг хүртэл, антропософийн үзлээр дамжуулан "Бурханы хотын идеал" хүртэлх замыг туулсан авъяаслаг уран бүтээлч, олон талт уянгын зохиолч юм. Санал болгож буй хэвлэл нь уншигчдад Волошиний шилдэг яруу найргийн бүтээлүүд төдийгүй түүний гоо зүй, дурсамжийн зохиол, сэтгүүл зүй, жүжигтэй холбоотой хамгийн сонирхолтой бүтээлүүдтэй танилцах боломжийг олгодог.

Сонгосон бүтээл, захидал. М.А.Волошин. Үнэ. үрэх. Максимилиан Александрович Волошин бол 20-р зууны эхний гуравны нэг дэх хамгийн агуу яруу найрагчдын нэг юм. Тэрээр бэлгэдэл, эзотерик шүлгээс иргэний-сэтгүүл зүй, шинжлэх ухаан-гүн ухааны яруу найраг хүртэл, антропософийн үзлээр дамжуулан "Бурханы хотын идеал" хүртэлх замыг туулсан авъяаслаг уран бүтээлч, олон талт уянгын зохиолч юм.

Волошин М.А., Яруу найрагчийн эр зориг: Сонгосон бүтээлүүд, захидал. цуврал: Шинэ номын санОросын сонгодог зохиолууд: заавал хуулбарлах Парад, хот, хуудас, Номын тайлбар. Максимилиан Александрович Волошин () бол 20-р зууны эхний гуравны нэг дэх хамгийн агуу яруу найрагчдын нэг юм. Тэрээр бэлгэдлийн, эзотерик шүлгээс эхлээд иргэний сэтгүүл зүй, шинжлэх ухаан-гүн ухааны яруу найраг хүртэл, антропософийн үзлээр дамжуулан "Бурханы хотын идеал" хүртэлх замыг туулсан авъяаслаг уран бүтээлч, олон талт уянгын зохиолч юм.

АнгилалНийтлэлийн навигаци

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