ब्रेसेनहम की लाइन एल्गोरिदम का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि लाइन सेगमेंट के एक उपयुक्त दृश्य सन्निकटन को प्राप्त करने के लिए एक रेखापुंज ग्रिड में कौन से बिंदु हैं।
एल्गोरिथ्म एक समन्वित स्थान में उत्पत्ति और समापन बिंदु द्वारा परिभाषित रेखा के रेखांकन को कवर करता है जहां मूल ऊपरी बाएँ में है। पूर्णांक निर्देशांक को पिक्सेल केंद्रों के मानचित्र के लिए माना जाता है। विशेष रूप से, एल्गोरिथ्म का मूल रूप केवल सर्कल के एक ओकटेंट को कवर करता है: वह जहां लाइन में एक्स और वाई निर्देशांक बढ़ रहा है, लेकिन 1 से कम निरपेक्ष मान के साथ एक नकारात्मक ढलान है। अन्य सभी ओकटेंट इसे सरल परिवर्तनों के रूप में प्राप्त कर सकते हैं मूल अष्टक।
Psuedocode में, यह मूल रूप इस तरह दिखता है:
void DrawLine(Point origin, Point endpoint, Bitmap surface) {
deltaX = endpoint.X - origin.X
deltaY = endpoint.Y - origin.Y
error = 0
// Note the below fails for completely vertical lines.
deltaError = absoluteValue(deltaY / deltaX)
Y = origin.Y
for (X from origin.X to endpoint.X) {
surface.PlotPixel(X, Y)
error = error + deltaError
if (error >= 0.5) {
++Y;
error -= 1.0
}
}
}
रोसेटा कोड वेबसाइट में विभिन्न भाषाओं में ठोस कार्यान्वयन का संग्रह है ।
आपको वू की लाइन एल्गोरिदम में भी रुचि हो सकती है , जो एंटी-अलियासिंग के लिए अनुमति देता है।