Skip to main content

სივრცული დაყოფა და ობიექტებად დაყოფა

spatial and object partitioning
სურათზე ნაჩვენებია შემთხვევა, როდესაც მოცემული 2 სამკუთხედის(პრიმიტივის) დაყოფა ხდება ობიექტებად(მარცხენა) და სივრცულად(მარჯვენა). 
        ამაჩქარებელი სტრუქტურის(ხის) აგების პროცესი გულისხმობს პრიმიტივების გადანაწილებას ხის შიდა და გარე კვანძებში, მთავარია შევიმუშავოთ გადანაწილების ისეთი მეთოდი რომელიც მოქვცემს უკეთეს შედეგს. განვიხილოთ ხის აგების ორი ტიპის მეთოდი:
  1. სივრცული დაყოფა - სივრცული დაყოფის დროს შემოგვაქვს რაიმე სივრცული გამყოფი(მაგალითად სიბრტყე) და იმის მიხედვით, თუ გამყოფის რომელ მხარეს ექცევა პრიმიტივი, ვანაწილებთ შვილობილ კვანძებში. ასეთ შემთხვევაში ერთი პრიმიტივი შეიძლება რამოდენიმე კვანძში მოხვდეს. სხვა სიტყვებით რომ ვთქვათ, ერთ პრიმიტივს შესაძლოა რამოდენიმე კვანძი უთითებდეს.
  2. ობიექტების დაყოფა - ობიექტების დაყოფის დროს ხდება პრიმიტივების გადანაწილება შვილობილ კვანძებში ისე, რომ ყოველი პრიმიტივი ხვდება ერთ რომელიმე კვანძში, სხვა სიტყვებით რომ ვთქვათ: ნებისმიერ პრიმიტივს უთუთებს მხილოდ ერთი კვანძი.
        ხეები, რომელთა აგებაც ხდება სივრცული დაყოფით, მოითხოვენ უფრო დიდ მეხსიერებას, რადგან სივრცული დაყოფის დროს ერთი პრიმიტივი რამოდენიმე კვანში შეიძლება ინახებოდეს. ასეთ შემთხვევაში თუ ჩვენ ხის სიღრმეს შევზღუდავთ რაიმე მნიშვნელობაზე, მის ფოთლებში აღმოჩნდებიან განსხვავებული რაოდენობის პრიმიტივები. მეხსიერების გამოყენების თვალსაზრისით ობიექტების დაყოფის მეთოდი უფრო მომგებიანია. ამ დროს ჩვენ წინასწარ შეგვიძლია ვთქვათ, თუ რამდენი კვანძი გვექნება ხეში და შესაბამისად რა მეხსიერება დაჭირდება ხეს. ობიექტებად დაყოფის მეთოდის მთავარ პრობლემას წარმოადგენს კვანძების გადაფარვები სივრცეში. მაგალითად, თუ ორი გეომეტრიული პრიმიტივი იმდენად ახლოსაა ერთმატეთთან, რომ მათი შემომსაზღვრელი ყუთების თანაკვეთა დიდია, ასეთი შემთხვევით მიღებული კვანძისთვის სხივის თანაკვეთის დათვლის პროცესში ხის ეფექტურობა მცირდება, რადგან რაც უფრო დიდია გადაფარვა კვანძებს შორის მით ნაკლების შანსი იმისა, რომ სხივი მხოლოდ ერთ მათგანს მოხვდება და მოვახდენთ თანაკვეთის ლოკალიზებას.

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 განსხვავებულ ფერს.