السلام عليكم ورحمة الله وبركاته
انا يا جماعة كنت بدور على شرح للطريقة دى ولقيت الموضوع ده واستفدت منه فقلت انقله هنا
لدينا نقطة البداية P1 و التي من خلالها سنمر و نقوم بإختيار Pixels الأنسب لرسم الخط المرجو من اليسار إلى اليمين
وصولا إلى النقطة الثانية و التي هي P2 كما هو مبين في الصورة:
و الآن علينا بالعمل على الصورة لفهم الأحداث، سنقوم بتسمية النقطة التي نصل إليها من خلال رسمنا Xi
و التي بعدها هي X i+1 و كما نرى بأننا نمشي من اليسار إلى اليمين فالنقطة التي نحن عليها الآن لنفرض
بأنها Xi و لذا فالنقطة التالية هي X i+1 و لكن في حالة Y فعلينا الإختيار ما هي النقطة التي يتوجب علينا إختيارها
فإما النقطة التي على ذات المستوى للتي قبلها و إما النقطة التي فوقها كما هو مبين في الصورة، و نحن نعلم
ذاتيا بالنقطة الموجودة في وسط كل Pixel فقمنا بتسمية النقطة العليا ب T كبيرة و النقطة التي تحتها ب S كبيرة
و هنا سنرمز إلى هذه المفهوم أيضا عند قولنا Yi و التي نعني فيها البقاء على ذات المستوى من النقطة
التي سبقتها، و Y i+1 و التي هي النقطة التي فوقها
Y i+1 = Yi + 1 , see it in the picture
و الآن عند وصلنا للنقطة T بالنقطة S فإننا سنلاحظ تلاقيا ما بين الخط المرجو رسمه و الخط الذي وصل S و T
و سنسمي نقطة التلاقي ب Y في خط الطول و X في خط العرض و المسافة التي ما بين هذه النقطة و Y i+1
ب t صغيرة و أما المسافة التي بين S و نقطة التلاقي ب s صغيرة بحيث نريد الحصول على هذه المعادلات:
If S is Choosen
X i+1 = Xi +1 , see picture
Y i+1 = Yi , see picture
If T is choosen
X i+1 = Xi + 1 , see picture
Y i+1 = Yi + 1 , see picture
The Point Of Intersection Y
X = Xi + 1 , see picture
Y = mX i+1 + b = m (Xi + 1) + b , see picture
So, Distance from S to the actual line
s = Y - Yi , see picture
Distance from T to the actual line
t = (Yi + 1) - Y , see picture
و كما نرى في الأعلى فإن المعادلة الأولي الخاصة ب S هي إحداثيات هذه Pixel إن إختيرت
و الثانية هي إحداثيات T
و أما الثالثة فهي إحداثيات النقطة الموجود على الخط المفترض رسمه و الذي يعتمد على Line Equation
و الرابعة هي المسافة بين Pixel S و النقطة التي على الخط المفترض رسمه
و الخامسة هي المسافة بين T و النقطة التي على الخط المفترض رسمه و كما رأينا سابقا بأن هذه النقطة هي
نقطة الإلتقاء ما بين الخط الذي يصل T ب S و الخط المفترض الذي يصل P1 ب P2
و الآن لنقم بطرح s الصغيرة من t الصغيرة بحيث نحصل على s - t
إن كان جواب هذه العملية أكبر من صفر فإننا نعلم بأن المسافة s أكبر من المسافة t و نستنتج من هذا بأن
النقطة على الخط المفترض أقرب إلى Pixel العلوي فنقوم بإختيار Pixel T لتلوينها
و لكن إن كان العكس و كانت النتيجة أصغر أو تساوي صفر فإننا نقوم بإختيار Pixel S لأن في هذه الحالة
تكون المسافة t الصغيرة أكبر من s الصغيرة لذا فالنقطة المفترضة هي أقرب ل Pixel S و تعويضها على
الشكل التالي:إ
و الآن لنقم بتعويض m = DeltaY/DeltaX و لنقم بتسمية
di = DeltaX ( s - t ) , new value
و بما أن DeltaX هي أكبر من صفر في حالتنا هذه:
وبالتوفيق للجميع ان شاء الله