ترسیم خط با استفاده از الگوریتم DDA
با سلام
دوستان من میخوام برنامه ای بنویسم که مختصات دو تا نقطه رو از کاربر بگیره یعد با استفاده از اکگوریتم DDA این دو تا نقطه رو به هم وصل منه .
من این برنامه رو اینجوری نوشتم:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
#include<dos.h>
void main()
{
int i,gd,gm;
int graphDriver = DETECT,graphMode;
float roundx,roundy,xi,yi,dx,dy,x1,x2,y1,y2,x,y,l;
//clrscr();
initgraph(&graphDriver,&graphMode,"c\\tc\\bgi");
printf("\n Enter X1:");
scanf("%f",&x1);
printf("\n Enter Y1:");
scanf("%f",&y1);
printf("\n Enter X2:");
scanf("%f",&x2);
printf("\n Enter Y2:");
scanf("%f",&y2);
dx=x2-x1;
dy=y2-y1;
if(abs(dx)>abs(dy))
l=abs(dx);
else
l=abs(dy);
xi=dx/l;
yi=dy/l;
x=x1;
y=y1;
roundx=(int)(x+0.5);
roundy=(int)(y+0.5);
putpixel(roundx,roundy,1);
for(i=1;i<=l;i++)
{
x=x+xi;
y=y+yi;
roundx=(int)(x+0.5);
roundy=(int)(y+0.5);
putpixel(roundx,roundy,1);
}
getch();
restorecrtmode();
}
ولی وقتی که اجراش میکنم هنگامیکه به دستور Putpixel میرسه خطای زیرو میده و از برنامه خارج میشه:
BGI ERROR:Graphics not initialized(use '' ))
به نظر شما ایراد از چی میتونه باشه؟
(اگه ممکنه خیلی فوری راهنمایی کنید که کارم گیره)
نقل قول: ترسیم خط با استفاده از الگوریتم DDA
دوستان تا حالا کسی به چنین مشکلی بر نخورده؟
نقل قول: ترسیم خط با استفاده از الگوریتم DDA
قسمتی که initgraph را فراخوانی کرده اید نوشته اید c\\tc\\bgi که دو نقطه را فراموش کرده اید، پس بنویسید: (ابتدا بررسی کنید که در این فولدر، کتابخانه های BGI وجود داشته باشد)