منتديات نور الهدى

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

+8
shadow
رزان
To0oTa_7ad0Ta
bosycat
3ABED
KatKat
HEBA
طالبه
12 مشترك

    Bresenham's Line Algorithm

    طالبه
    طالبه
    CS Supporter
    CS Supporter


    انثى
    عدد الرسائل : 1944
    العمر : 35
    نقاط : 792
    تاريخ التسجيل : 14/02/2008

    Bresenham's Line Algorithm Empty Bresenham's Line Algorithm

    مُساهمة من طرف طالبه الأحد 6 أبريل 2008 - 17:46


    السلام عليكم ورحمة الله وبركاته

    انا يا جماعة كنت بدور على شرح للطريقة دى ولقيت الموضوع ده واستفدت منه فقلت انقله هنا Smile Smile



    لدينا نقطة البداية P1 و التي من خلالها سنمر و نقوم بإختيار Pixels الأنسب لرسم الخط المرجو من اليسار إلى اليمين

    وصولا إلى النقطة الثانية و التي هي P2 كما هو مبين في الصورة
    :


    Bresenham's Line Algorithm Post-84360-1173535324

    و الآن علينا بالعمل على الصورة لفهم الأحداث، سنقوم بتسمية النقطة التي نصل إليها من خلال رسمنا 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 و تعويضها على

    الشكل التالي:إ

    Bresenham's Line Algorithm Post-84360-1173537895

    و الآن لنقم بتعويض m = DeltaY/DeltaX و لنقم بتسمية



    di = DeltaX ( s - t ) , new value



    و بما أن DeltaX هي أكبر من صفر في حالتنا هذه:


    Bresenham's Line Algorithm Post-84360-1173538875

    وبالتوفيق للجميع ان شاء الله
    HEBA
    HEBA
    عضو ذهبى
    عضو ذهبى


    انثى
    عدد الرسائل : 509
    العمر : 35
    نقاط : 38
    تاريخ التسجيل : 29/09/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف HEBA الأحد 6 أبريل 2008 - 17:56

    ماشاء الله يا نودى
    ربنا يكرمك يا رب
    KatKat
    KatKat
    CS Supporter
    CS Supporter


    وسام المسابقة العلمية الأولى : وسام المركز الأول انثى
    عدد الرسائل : 3632
    العمر : 35
    Location : MaNsOuRa
    نقاط : 1619
    تاريخ التسجيل : 18/01/2008

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف KatKat الأحد 6 أبريل 2008 - 18:03

    شرا يا هند ربنا يكرمك Very Happy
    هوه ده الشغل ولا بلاش
    بس برده هتشرحييييييييه متهربيش Twisted Evil Twisted Evil
    3ABED
    3ABED
    عضــو شــرف
    عضــو شــرف


    ذكر
    عدد الرسائل : 513
    Location : tty1
    نقاط : 111
    تاريخ التسجيل : 21/06/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف 3ABED الأحد 6 أبريل 2008 - 19:37

    الف الف الف الف الف مليون شكر انا كان جالى احباط من الكتاب العجيب اللى معانا Sad Sad Sad ده
    ربنا يجازيكى عننا خير يا ريت

    لو حضرتك تقولى لنا لاقيتى الشرح ده فين
    Question Question Question Question
    وشكرا كمان مره
    فى حفظ الله سلام
    سلام
    طالبه
    طالبه
    CS Supporter
    CS Supporter


    انثى
    عدد الرسائل : 1944
    العمر : 35
    نقاط : 792
    تاريخ التسجيل : 14/02/2008

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف طالبه الأحد 6 أبريل 2008 - 20:22

    العفو يا جماعه Smile Smile

    وده الموضوع الاساسي اللى انا نقلت منه عشان البشمهندس اللى طلبه

    وهو فى بقيت الطرق كمان

    اتفضلوا
    bosycat
    bosycat
    مشرفة منتدى الموضوعات الترفيهية
    مشرفة منتدى الموضوعات الترفيهية


    انثى
    عدد الرسائل : 1618
    العمر : 35
    Location : iN mY DrEamS
    Favorites : internet, hand sketching
    نقاط : 232
    تاريخ التسجيل : 19/06/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف bosycat الأحد 6 أبريل 2008 - 20:36

    شكراا ياهند ربنا يخليكى Smile
    KatKat
    KatKat
    CS Supporter
    CS Supporter


    وسام المسابقة العلمية الأولى : وسام المركز الأول انثى
    عدد الرسائل : 3632
    العمر : 35
    Location : MaNsOuRa
    نقاط : 1619
    تاريخ التسجيل : 18/01/2008

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف KatKat الأحد 6 أبريل 2008 - 20:38

    شكرا يا هند ربنا يكرمك Very Happy Very Happy
    To0oTa_7ad0Ta
    To0oTa_7ad0Ta
    عضو متواصل
    عضو متواصل


    انثى
    عدد الرسائل : 191
    نقاط : 0
    تاريخ التسجيل : 05/01/2008

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف To0oTa_7ad0Ta الأحد 6 أبريل 2008 - 21:03

    ثانكس سوووووووووو ماتش بيبى

    جميل جداااااااااااااااااااااااااااااا cheers
    ويارب تجيبلنا كدا منه كمان وكمان
    رزان
    رزان
    مشرفة القسم الأسلامى
    مشرفة القسم الأسلامى


    انثى
    عدد الرسائل : 2080
    العمر : 35
    نقاط : 15
    تاريخ التسجيل : 19/06/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف رزان الإثنين 7 أبريل 2008 - 1:22

    شكرا يا هند ربنا يكرمك Very Happy Very Happy
    shadow
    shadow
    عضو متواصل
    عضو متواصل


    انثى
    عدد الرسائل : 116
    العمر : 35
    نقاط : 7
    تاريخ التسجيل : 22/09/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف shadow الإثنين 7 أبريل 2008 - 12:24

    شكرا على الشرح الجميل دا
    جزاك الله خيرا يا جميل
    sandy.h
    sandy.h
    مشرفة قسم علوم الحاسب
    مشرفة قسم علوم الحاسب


    انثى
    عدد الرسائل : 2440
    العمر : 35
    Location : Damitta
    نقاط : 691
    تاريخ التسجيل : 29/10/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف sandy.h الإثنين 7 أبريل 2008 - 13:08

    شكرااا يا جمييل
    ربنا يكرمك يا رب Very Happy
    Yasmin
    Yasmin
    CS Supporter
    CS Supporter


    انثى
    عدد الرسائل : 1178
    العمر : 34
    نقاط : 171
    تاريخ التسجيل : 30/10/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف Yasmin الإثنين 7 أبريل 2008 - 18:02

    الف شكر يا جميل
    جزاكي الله خير
    Very Happy
    Dina Shaldoum
    Dina Shaldoum
    CS Supporter
    CS Supporter


    انثى
    عدد الرسائل : 1878
    العمر : 34
    Favorites : Programming
    نقاط : 499
    تاريخ التسجيل : 19/02/2008

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف Dina Shaldoum الإثنين 7 أبريل 2008 - 18:04

    شكرا يا عسل ... Razz
    senioreta
    senioreta
    CS Supporter
    CS Supporter


    انثى
    عدد الرسائل : 693
    العمر : 34
    Location : وحدى فى مكان ليس بة بشر
    نقاط : 255
    تاريخ التسجيل : 04/08/2007

    Bresenham's Line Algorithm Empty رد: Bresenham's Line Algorithm

    مُساهمة من طرف senioreta الإثنين 7 أبريل 2008 - 18:23

    الف شكر يا جميل
    ربنا يكرمك

      الوقت/التاريخ الآن هو الخميس 14 نوفمبر 2024 - 19:18