Skip to main content

ტრანსფორმაციის ჰომოგენური მატრიცა

Transformation Matrix
სურათზე ნაჩვენებია ლოკალური კოორდინატთა სისტემა ვიზუალურად, რომელიც მოცემულია ჰომოგენური ტრანსფორმაციის მატრიცის სახით.
        ტრანსფორმაციის მატრიცა გვაძლევს საშუალებას, რომ მოვახდინოთ სხვადასხვა ტიპის გეომეტრიული ტრანსფორმაციები ერთი ოპერაციით(მატრიცაზე გადამრავლებით). ზემოთ მოცემულ სურათზე ნაჩვენებია 4x4 მატრიცა, რომლის პირველის 3 სვეტი შესაბამისად აღნიშნავს იმ ტრანსფორმაციის(ლოკალური საკოორდინატო სისტემის) ღერძების მიმართულებებს რომელსაც ეს მატრიცა ინახავს, ხოლო მე4 სვეტი აღნიშნავს პოზიციას. ამ პოსტში განვიხილავთ ტრანსფორმაციის ჰომოგენურ მატრიცას. ჰომოგენურ მატრიცაში ვექტორების ჩაწერა ხდება 4 კოეფიციენტით(x, y, z, w) სამის ნაცვლად, სადაც მე4 კოეფიციენტი არის წონა ასე რომ ამ სახით ჩაწერილი სხვადასხვა ვექტორები მაგალითად: [2, 4, -1, 1] და [6, 12, -3, 3] არის ერთი და იგივე.
        ვექტორის ამ სახით ჩაწერა საშუალებას გვაძლევს ერთმანეთისგან განვავსხავოთ პოზიციის და მიმართულების მატარებელი ვექტორები და ამის საჭიროება რეალურად არსებობს. მოვიყვანოთ მაგალითი: ვთქვათ გვაქვს რაიმე გეომეტრია, რომელიც შედგება პოზიციის და მიმართულების მატარებელი ვექტორებისგან (ვერტექსები, ნორმალები), რომლებიც ჩაწერილია 3 კომპონენტით(x, y, z). როცა გვსურს ასეთი გეომეტრიის გადაადგილება მის პრიმიტივებს(ვერტექსებს, ნორმალებს) სათითაოდ ვამრავლებთ ტრანსფორმაციის მატრიცაზე(რომელიც ინახავს ინფორმაციას მხოლოდ გადაადგილების შესახებ), ამის შემდეგ პოზიციის აღმნიშვნელი ვექტორებიც(ვერტექსები) და მიმართულების აღმნიშვნელი ვექტორებიც(ნორმალები) შეიცვლება, რაც არ არის სწორი. ვექტორი რომელიც აღნიშვავს მიმართულებას გადაადგილებისას არ უნდა იცვლიდეს მნიშვნელობას. ასე, რომ თუ გვსურს ეს პრობლემა თავიდან ავიცილოთ ვექტორებს დავუმატოთ მე4 კომპონენტი, პოზიციის მატარებელ ვექტორებში მე4 კომპონენტში ჩავწეროთ 1-ს,  ხოლო მიმართულების მატარებელ ვექტორებში 0-ს. ამის შემდეგ მიმართულების მატარებელი ვექტორის მატრიცაზე გადამრავლებისას არ მოხდება მატრიცის მე-4 სვეტის გათვალისწინება, რომელიც ასახავს გადატანას.
        მატრიცებში ერთეულოვან ელემენტს წარმოადგენს მატრიცა რომელზე გადამრავლებაც არაფერს ცვლის, ამ მატრიცას ქვია ერთეულოვანი მატრიცა.

ტრანსფორმაციის ერთეულოვანი მატრიცა
        როგორც სურათზე ჩანს პირველ 3 სვეტს მე4 კოეფიციენტი აქვს 0-ის ტოლი ხოლო მე4 სვეტს 1-ის, რადგან მატრიცის პირველი 3 სვეტი ასახავს ორიენტაციას ხოლო მე4 პოზიციას.
        ტრანსფორმაციის მატრიცები ძალიან გართოდ გამოიყენება კომპიუტერულ გრაფიკაში. მათი საშუალებით შეგვიძლია ჩავწეროთ ინფორმაცის ტრანსფორმაციის შესახებ და შემდეგ ვაკეთოთ მასზე მანიპულაცია. ტრანსფორმაციის მატრიცების საშუელებით ძალიან ადვილად ხდება ხისტი ანიმაციების გაკეთება. გრაფიკულ პროცესორებში პირდაპირ არის გათვალისწინებული მატრიცებზე ოპერაციები რაც დამატებით საშუელებას გვაძლევს.

Comments

Popular posts from this blog

CPU GPU და ჰიბრიდული რენდერერები

წყარო         დღემდე აქტუალურია თემა CPU რენდერერი ჯობია თუ GPU . იმისათვის რომ ამ კითხვას მეტნაკლებად ამომწურავი პასუხი გავცეთ განვიხილოთ რენდერერის სტრუქტურა და მოცემულ პლათფორმებზე იპმლემენტაციასთან დაკავშირებული პრობლემები. რენდერერი შედგება რამოდენიმე დიდი კომპონენტისგან როგორიცაა ხილვადობის ამოცანა შეფერადება ინტეგრატორები ფუნქციონალი ხილვადობის ამოცანა         ხილვადობის ამოცანა ერთერთი ყველაზე რთულია გამოთვლითი რესურსის კუთხით. გარდა იმისა, რომ სხივის გეომეტრიასთან თანაკვეთის დათვლას საკმაოდ დიდი დრო ჭირდება, ასევე საჭიროა ამაჩქარებელ სტრუქტურების განახლება კადრიდან კადრზე დინამიური სცენებისათვის. კარგი ისაა, რომ რენდერერის ეს ნაწილი საკმაოდ ადვილად ენკაპსულირებადია და შესაბამისად გვხვდება ბიბლიოთეკები მაგალითად embree(intel), fireRays(AMD), OptiX prime(nvidia), ... რომლებიც ამ ამოცანას საკმაოდ ეფექტურად ხსნიან და რენდერერებშიც მეტნაკლებად ადვილად ინტეგრირდებიან.  სხივების მიდევნების პროცესში ძალიან მნიშვნელოვანია მსგავსი გამოთვლების ლოკალიზება და არსებული SIMD

სინათლის ხილული სპექტრი და სხივის თვისებები

Visible Spectrum სურათზე ნაჩვენებია პრიზმაში გამავალი თეთრი სხივის სპექტრულად გაშლის პროცესი.         სინათლე წარმოადგენს ელექტრომაგნიტურ ტალღას, რომელსაც როგორც ყველა ელექტრომაგნიტურ ტალღას გააჩნია რამოდენიმე მნიშვნელოვანი მახასიათებელი. ერთერთი მნიშვნელოვანი მახასიათებელი არის ტალღის სიგრძე, რომელიც განსაზღვრავს სხივის სპექტრულ ფერს. ელექტრომაგნიტური ტალღები ბუნებაში და თანამედროვე სამყაროში მრავლად გვხვდები. სხვადასხვა ტალთის სიგრძის(სიხშირის) ტალღებს იყენებენ როგორც საყოფაცხოვრებო(რადიო, მობილური ტელეფონი) დანიშნულების, ასევე სამედიცინო(რენდგენის სხივები) და სამხედრო(რადარები) მოწყობილობებში. ადამიანის თვალისთვის ხილული სინათლის ელექტრომაგნიტური ტალღების ტალღის სიგრძე იწყება დაახლოებით 400 ნანომეტრიდან და მთავრდება 700 ნანომეტრზე. ამ დიაპაზონს ქვემოთ ექცევა ულტრაიისფერი ტალღები და დიაპაზონს ზემოთ ექცევა ინფრაწითელი, რომელსაც ადამიანის თვალი ვერ აღიქვამს(იხილეთ ქვემოთ მოცემული სურათი). სინათლის თეთრი სხივი შედგება სხვადასხვა სიხშირის ტალღების ერთობლიობისგან.        

ფერების RGB მოდელი

RGB Color Model         ფერების RGB მოდელი წარმოადგენს ისეთ მოდელს რომელშიც სამი ძრირითადი ფერის წითელი, მწვანე და ლურჯის საშუალებით მიიღება ფერების ფართო სპექტრი. მისი დასახელებაც მოდის სწორედ ძირითადი ფერების ინგლისური სახელწოდების ინიციალებიდან(Red, Green, Blue).         ფერთა სპექტრის ამდაგვარი წარმოდგენა დაკავშირებულია იმასთან, რომ გამოსახულების გამოტანის მოწყობილობებში რომელიც გააჩნიათ კომპიუტერებს, ტელევიზორებს ფერის მიღება ფიზიკურად ხდება სწორედ ამ სამი ძირითადი ფერის შეზავებით. დღესდღეობით ყველაზე გავრცელებული არის 24 ბიტიანი RGB მოდელი, სადაც თითოეულ კომპონენტს ეთმობა ერთი ბაიტი და შესაბამისად შეუძლია მიიღოს ნებისმიერი მნიშვნელობა [0, 255] დიაპაზონში, რაც საბოლოოდ გვაძლევს 16777216 განსხვავებულ ფერს.