DDA болон Bresenham алгоритмын ялгаа

DDA болон Bresenham алгоритмын ялгаа
DDA болон Bresenham алгоритмын ялгаа

Видео: DDA болон Bresenham алгоритмын ялгаа

Видео: DDA болон Bresenham алгоритмын ялгаа
Видео: How To Use SDXL in Automatic1111 Web UI - SD Web UI vs ComfyUI - Easy Local Install Tutorial / Guide 2024, Долдугаар сарын
Anonim

DDA vs Bresenham алгоритм

DDA болон Bresenham Algorithm нь компьютерийн графикийг судлах явцад тааралддаг нэр томъёо юм. Энэ хоёр нэр томъёоны ялгааг тайлбарлахаасаа өмнө DDA гэж юу болох, Брезенхэмийн алгоритм гэж юу болохыг харцгаая. Компьютерийн нээлт нь бүх зүйлийг хялбаршуулсан бөгөөд тэдгээрийн нэг нь дифференциал тэгшитгэлийг шийдвэрлэх явдал байв. Өмнө нь үүнийг удаан, алдаатай механик дифференциал анализатороор хийдэг байсан бол DDA эсвэл Дижитал дифференциал анализатор нь нарийвчлалтай, хурдан дижитал анализаторын хэрэглээ юм. Дифференциал анализатор нь хоёр цэгийн хооронд шугам зурахад хэрэглэгддэг бөгөөд ингэснээр дэлгэцэн дээр 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 болон Брезенхэмийн алгоритмын ялгаа

• DDA нь хөвөгч цэгүүдийг ашигладаг бол Брезенхэмийн алгоритм нь тогтмол цэгүүдийг ашигладаг.

• DDA координатыг хамгийн ойрын бүхэл тоо болгон бөөрөнхийлдөг боловч Брезенхэмийн алгоритм тэгдэггүй.

• Брезенхэмийн алгоритм нь DDA-аас хамаагүй үнэн зөв бөгөөд үр ашигтай.

• Бресенхэмийн алгоритм нь DDA-аас хамаагүй илүү нарийвчлалтайгаар тойрог, муруй зурах боломжтой.

• DDA нь тэгшитгэлийн үржүүлэх, хуваах үйлдлийг ашигладаг бол Брезенхэмийн алгоритм нь зөвхөн хасах болон нэмэх үйлдлийг ашигладаг.

Зөвлөмж болгож буй: