سلام به همه من امروز با این سایت آشنا شدم یه سوال دارم از اساتید خواهشا اگه میدونید بگید
سوال:با استفاده از الگوریتم dda و با در یافت مختصات a و b نقاط بین a و b را بدست آورد؟
a (2,5)& b(7,9) ba tashakoor
DDA یا Digital Differential Analyzer روال خیلی ساده ای داره، اگر مختصات نقطه a برابر با (x1, y1) و مختصات
نقطه b برابر با (x2, y2) باشه، اول m را حساب می کنید که همان شیب یا ضریب زاویه خطی است که از a و b می گذرد :
کد:
m = (y2 - y1) / (x2 - x1)
DDA می تواند با همین مقدار m از روی مختصات یک نقطه، مختصات نقطه بعدی را بدست آورد، یعنی
حالا می توانید از روی مختصات x و y یک نقطه (prevX, prevY) مختصات x و y نقطه بعدی (nextX, nextY) را
بدست آورید :
کد:
nextX = prevX + (1 / m)
nextY = prevY + m
فرضا اگر نقطه a به مختصات (x1, y1) را در نظر بگیرید، مختصات نقطه بعدی (x3, y3) چنین خواهد بود :
کد:
x3 = x1 + (1 / m)
y3 = y1 + m
در قدم بعدی می توانید توسط مختصات نقطه (x3, y3) مختصات نقطه بعد از (x3, y3) را
بدست آورید :
کد:
x4 = x3 + (1 / m)
y4 = y3 + m
و همینطور برای نقاط بعدی...