پروژه گرافیک کامپیوتری دو بعدی " ترسیم خط با استفاده از الگوریتم برزنهام و DDA " با زبان برنامه نویسی سی پلاس پلاس و در محیط ویژوال استدیو و با استفاده از کتابخانه گرافیکی opengl برای دانشجویان رشته کامپیوتر اماده سازی شده است.
در این پروژه روی صفحه سفید خالی دو خط در کنار هم، یکی با استفاده از الگوریتم ترسیم خط برزنهام و دیگری با الگوریتم ترسیم خط DDA ترسیم شده است.
کاربر با کلید های جهت بالا و پایین می تواند به سمت خطوط حرکت کند و یا از آنها دور شود تا دقت و نحوه ترسیم هر دو الگوریتم را از نمای نزدیکتر مشاهده کند.
توابع پر کاربرد در این پروژه
-
glRotatef چرخش دوربین
-
glTranslated جابه جایی دوربین
-
glBegin(GL_POINTS) رسم نقطه
-
glColor3f رنگ آمیزی خطوط
الگوریتم رسم خط DDA
یکی از الگوریتم های ترسیم خط الگوریتم DDA است که بر پایه معادله شیب خط عمل می کند. بسته به مقدار شیب خط یکی از فرمول های زیر را استفاده خواهیم کرد . در این روش شما با داشتن دو نقطه از خط و محاسبه شیب خط آن می توانید خط را با روشن کردن پیکسل ها بکشید بدین صورت که اول شیب را محاسبه می کنید سپس مقدار شیب به نقطه اول اضافه می کنید و بعد نقطه جدید را که یک پیکسل جدید است روشن می کنید و این عمل را درون یک حلقه قرار می دهید و شرط حلقه را رسیدن به نقطه ثانویه قرار می دهید.
الگوریتم رسم خط برزنهام
Jack Bresenham ایده ترسیم خط و دایره را با محاسبه ضربها و توانهای کمتر در اوایل دهه ۱۹۵۰ ارائه کرد و با استقبال زیادی روبرو شد.
برزنهام در این الگوریتم فقط از افزایش ها و کاهش های مقادیرصحیح استفاده میکند و درگیر محاسبات اعشاری نمیشود. الگوریتم ترسیم خط برزنهام برای ۰ < m < 1
در این الگوریتم ساده برای حالتی که |m |>1 اگر نقش x و y را عوض کنیم خط با شکستگی کمتر و دقت بیشتر رسم خواهد شد.