DDA vs Bresenham Algorithm
DDA жана Bresenham Algorithm - бул компьютердик графиканы окуп жатканда жолуккан терминдер. Бул эки терминдин ортосундагы айырманы түшүндүрүүдөн мурун, келгиле, DDA деген эмне жана Брезенхэм алгоритми эмне экенин карап көрөлү. Компьютердин ойлоп табуусу нерселерди жөнөкөйлөттү жана алардын бири дифференциалдык теңдемелерди чечүү. Мурда ал жай жана каталарга толгон механикалык дифференциалдык анализатор тарабынан жасалган, бирок DDA же Digital дифференциалдык анализатор - бул анализаторду санариптик түрдө так жана тез колдонуу. Дифференциалдык анализатор эки чекиттин ортосунда түз сызыктарды же n сандагы капталдары бар көп бурчтуктарды экрандан көрүүгө болот. Эки чекиттин же пикселдин ортосундагы аралык дифференциалдык теңдеме менен сүрөттөлөт, анда баштапкы жана аяктоочу чекиттин координаттары программалык камсыздоодо көрсөтүлгөн. Буга DDA жана Bresenham алгоритми аркылуу жетүүгө болот.
DDA деген эмне?
DDA компьютердик графикада сызык, үч бурчтук же көп бурчтук түзүү үчүн түз сызыкта колдонулат. DDA бүтүн сан катары бир координаттын үзгүлтүксүз интервалында сызык боюнча үлгүлөрдү талдайт, ал эми экинчи координата үчүн ал сызыкка жакын бүтүн санды тегеретет. Ошентип, сызык алга жылган сайын биринчи бүтүн сандын координатын сканерлейт жана экинчи бүтүн санга тегеретет. Демек, x координаты үчүн DDA менен сызылган сызык x0 – x1 болот, ал эми y координаты үчүн y=ax+ b болот жана функцияны тартуу үчүн ал Fn(x, y тегеректелген) болот.
Брезенхэм алгоритми деген эмне?
Брезенхэм алгоритми 1962-жылы J. E. Bresenham тарабынан иштелип чыккан жана ал DDAга караганда алда канча так жана алда канча натыйжалуу. Ал координаттарды сканерлейт, бирок аларды тегеректөөнүн ордуна кошуу же кемитүү аркылуу кошумча маанини алат, ошондуктан айлананы жана ийри сызыктарды тартуу үчүн колдонсо болот. Демек, эки x жана y чекиттеринин ортосуна сызык тартыла турган болсо, анда кийинки координаттар (xa+1, ya) жана (x) болот. a+1, ya+1) мында a кийинки координаттардын кошумча мааниси жана бул экөөнүн ортосундагы айырманы кемитүү же кошуу менен эсептелет. алар түзгөн теңдемелер.
DDA менен Bresenham алгоритминин ортосундагы айырма
• DDA калкыма чекиттерди колдонот, ал эми Бресенхэм алгоритми туруктуу чекиттерди колдонот.
• DDA координаттарды жакынкы бүтүн санга тегеретет, бирок Бресенхэм алгоритми андай кылбайт.
• Bresenham алгоритми DDAга караганда бир топ так жана натыйжалуу.
• Бресенхэм алгоритми чөйрөлөрдү жана ийри сызыктарды DDAга караганда алда канча тактык менен тарта алат.
• DDA теңдемени көбөйтүүнү жана бөлүүнү колдонот, бирок Бресенхэм алгоритми кемитүү жана кошууну гана колдонот.