একটি রেখাংশের উপযুক্ত ভিজ্যুয়াল সংলগ্নতা অর্জনের জন্য ব্রেসনহামের লাইন অ্যালগরিদমটি কোনও রাস্টার গ্রিডে কোন পয়েন্টগুলি প্লট করতে হবে তা নির্ধারণ করতে ব্যবহার করা যেতে পারে।
অ্যালগোরিদম একটি স্থানাঙ্ক স্থানে যেখানে উত্সটি উপরের বামে থাকে সেখানে উত্স এবং শেষ বিন্দু দ্বারা সংজ্ঞায়িত রেখার রাস্টারাইজেশনকে কভার করে। পূর্ণসংখ্যা স্থানাঙ্কগুলি পিক্সেল কেন্দ্রগুলিতে মানচিত্রের জন্য অনুমান করা হয়। উল্লেখযোগ্যভাবে, অ্যালগরিদমের মূল ফর্মটি কেবলমাত্র বৃত্তের একটি অক্টান্টকে coversেকে রাখে: এক যেখানে রেখার ক্রমবর্ধমান এক্স এবং ওয়াই সমন্বয় হয় তবে একটি নেতিবাচক opeাল যা পরম মানের সাথে 1 এর চেয়ে কম হয় অন্য সমস্ত অক্টেন্টগুলি এর সাধারণ রূপান্তর হিসাবে প্রাপ্ত হতে পারে বেসিক অক্ট্যান্ট
সাইয়েডোকোডে, এই প্রাথমিক ফর্মটি দেখতে দেখতে:
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
}
}
}
রোসেটা কোড ওয়েবসাইটটিতে বিভিন্ন ভাষায় কংক্রিট বাস্তবায়ন সংকলন রয়েছে ।
আপনি উ এর লাইনের অ্যালগরিদম সম্পর্কেও আগ্রহী হতে পারেন যা অ্যান্টি-এলিয়জিংয়ের অনুমতি দেয়।