PDA

View Full Version : الگوریتم رسم خط



abbas.exe
شنبه 23 آبان 1383, 03:18 صبح
سلام
میبخشید
من از الگوریتم mid point زیر برای رسم خط استفاده میکنم



void midpoint(int x0,int xe,int yo,int ye,int color)
{
int x,y,dx.dy,d incE,incNE;
dx = xe - x0 ;
dy = ye - y0;
d = 2 * dy - dx;
incE = 2 * ( dy -dx );
x = x0;
y = y0;
WritePixel(x,y,color);
while ( x < xe){
if ( d<=0){
d += incE;
x++;
}
else
{
d += incEN;
x++;
y++;
}
WritePixel(x,y,color);
}

ولی الگوریتم بالا فقط برای
شیب خط های بین0و1
و x0 < xe و y0 < ye جواب میده
لطفا به من کمک کنید که این کد رو طوری دستکاری کنم که برای همه موارد جواب بده

seyedof
یک شنبه 01 آذر 1383, 19:56 عصر
سلام
کلا روشهای رسم خط دو حالت رو در نظر میگیرند یکی حالتی که قدرمطلق دلتا ایکس بزرگتر از قدر مطلق دلتا ایگرگ باشه و یکی برعکس. چون در حالتی که شیب خط از ۴۵ درجه کمتره یعنی تانژانت زاویه اوون بین صفر و یک است و در حالتی که شیب از ۴۵ درجه بیشتره کتانژانتش بین صفر و یک است.
ممنون علی

MiRHaDi
سه شنبه 03 آذر 1383, 05:28 صبح
سلام
باید بگی بهش که برات در بعضی شرایط جای X , Y رو عوض کنه !
لازم نیست از این الگوریتم استفاده کنی در ضمن . میتونی با یک For ! از X0 تا X1 بیای و در نقطه F(x) یک نقطه بذاری ! همین
بای