DDA vs Bresenham ალგორითმი
DDA და ბრესენჰემის ალგორითმი არის ტერმინები, რომლებსაც წააწყდებოდით კომპიუტერული გრაფიკის შესწავლისას. სანამ ამ ორ ტერმინს შორის განსხვავებას აგიხსნით, ვნახოთ რა არის DDA და რა არის ბრესენჰამის ალგორითმი. კომპიუტერის გამოგონებამ რამ გაამარტივა და ერთ-ერთი მათგანი იყო დიფერენციალური განტოლებების ამოხსნა. ადრე ეს გაკეთდა მექანიკური დიფერენციალური ანალიზატორით, რომელიც იყო ნელი და სავსე შეცდომებით, მაგრამ DDA ან ციფრული დიფერენციალური ანალიზატორი არის ანალიზატორის გამოყენება ციფრული ფორმით, რომელიც არის ზუსტი და სწრაფი. დიფერენციალური ანალიზატორი გამოიყენება ორ წერტილს შორის ხაზების გასაკეთებლად, რათა ეკრანზე გამოჩნდეს სწორი ხაზი ან მრავალკუთხედი n რაოდენობის გვერდით.მანძილი ორ წერტილს ან პიქსელს შორის აღწერილია დიფერენციალური განტოლებით, სადაც პროგრამაში მითითებულია საწყისი და დასასრული წერტილის კოორდინატები. ამის მიღწევა შესაძლებელია DDA და Bresenham ალგორითმით.
რა არის DDA?
DDA გამოიყენება სწორი ხაზის ხაზვისას კომპიუტერულ გრაფიკაში წრფის, სამკუთხედის ან მრავალკუთხედის შესაქმნელად. DDA აანალიზებს ნიმუშებს ხაზის გასწვრივ ერთი კოორდინატის რეგულარული ინტერვალით, როგორც მთელი რიცხვი, ხოლო მეორე კოორდინატისთვის ის ამრგვალებს მთელ რიცხვს, რომელიც ყველაზე ახლოს არის ხაზთან. ამიტომ, როგორც სტრიქონი პროგრესირებს, ის სკანირებს პირველ რიცხვთა კოორდინატს და ამრგვალებს მეორეს უახლოეს მთელ რიცხვამდე. ამიტომ DDA-ს გამოყენებით შედგენილი ხაზი x კოორდინატისთვის იქნება x0-დან x1-მდე, მაგრამ y კოორდინატისთვის იქნება y=ax+ b და ფუნქციის დახატვა ეს იქნება Fn(x, y დამრგვალებული).
რა არის ბრესენჰემის ალგორითმი?
Bresenham ალგორითმი შეიქმნა J. E. Bresenham-ის მიერ 1962 წელს და ის ბევრად ზუსტი და ბევრად უფრო ეფექტურია ვიდრე DDA.ის ასკანირებს კოორდინატებს, მაგრამ მათი დამრგვალების ნაცვლად, ანგარიშში იღებს დამატებით მნიშვნელობას მიმატებით ან გამოკლებით და, შესაბამისად, შეიძლება გამოყენებულ იქნას წრისა და მოსახვევების სახატავად. ამიტომ, თუ ხაზი უნდა გაივლოს ორ წერტილს x და y შორის, შემდეგი კოორდინატები იქნება (xa+1, ya) და (x a+1, ya+1) სადაც a არის შემდეგი კოორდინატების დამატებითი მნიშვნელობა და ამ ორს შორის სხვაობა გამოითვლება გამოკლებით ან მიმატებით. მათ მიერ ჩამოყალიბებული განტოლებები.
სხვაობა DDA და Bresenham ალგორითმს შორის
• DDA იყენებს მცურავ წერტილებს, სადაც ბრზეენჰემის ალგორითმი იყენებს ფიქსირებულ წერტილებს.
• DDA ამრგვალებს კოორდინატებს უახლოეს მთელ რიცხვამდე, მაგრამ Bresenham-ის ალგორითმი არა.
• Bresenham ალგორითმი ბევრად ზუსტი და ეფექტურია ვიდრე DDA.
• Bresenham-ის ალგორითმს შეუძლია წრეების და მრუდების დახატვა გაცილებით მეტი სიზუსტით, ვიდრე DDA.
• DDA იყენებს განტოლების გამრავლებას და გაყოფას, მაგრამ ბრესენჰემის ალგორითმი იყენებს მხოლოდ გამოკლებას და შეკრებას.