رسم شجرة ثنائية
تاريخ التسجيل: 2006-08-20 مشاركات: 36
الجامعة: العربية الأوربية الكلية: الهندسة المعلوماتية المرحلة: السنة الثانية الاختصاص: غير ذلك
|
السلام عليكم
شباب حدا عندو طريقة أو فكرة لرسم شجرة ثنائية Binary search tree ........باستخدام GDI+ بلغة C# على PictureBox
مع جزيل الشكر........
|
| |
دخول أو تسجيل لإرسال التعليقات | قراءة: 225 |
|
عضو فعال
تاريخ التسجيل: 2007-06-07 مشاركات: 773
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: السنة الرابعة الاختصاص: ذكاء صنعي
|
اذا انت بتعرف توابع الرسم بالـ +GDI بالـ #C أو مجرب ترسم بشي مكان تاني متل الـ Canvas بالـ Delphi و الـ C++ Builder .. ما بتصور رح تلاقي صعوبة كل الفكرة انك رح ترسم الـ Root بالبداية على شكل دائرة وبما انو الشجرة ثنائية ما بتصور انو في كتير صعوبة برسم المستوى التالي للجذر لأنو انت (افتراضيا) رح تقسم الـ PictureBox أو الـ Form اللي عم ترسم عليها لنصفين ... كل نصف لترسم فيه جزء من الشجرة وبالتالي رح تاخد مثلا Width / 2 وبعدين ترسم الابن اليساري بمنتصف الجزء الأيسر يعني بكون الـ left تبعو هو الـ left تبع الأب مطروحا منه Width / 4 والـ Height بكون أقل شوي من الـ Height تبع الأب وترسم Line من مركز الأب لمركز الابن، بعدين بترسم الابن الأيمن بنفس الطريقة وبتستدعي تابع الرسم بشكل عودي عند الابن الأيمن وبعدين الأيسر هي خوارزمية الرسم بشكل عام ومشان الـ #C بتكتب مثلا وقت بدك ترسم : Graphics s = Graphics.FromImage(image1); على افتراض انو عندك Image على الـ Form واسمها image1 .. وبعدين بتقدر تستدعي توابع الرسم الموجودة بـ s ...
مبروك لإسبانيا 
لعبوا واستاهلوا الكأس
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2006-08-20 مشاركات: 36
الجامعة: العربية الأوربية الكلية: الهندسة المعلوماتية المرحلة: السنة الثانية الاختصاص: غير ذلك
|
هلق السؤال هو أنو شلون بدو يكون تابع الرسم ؟؟؟
أنا نجحت برسم ال root مع المستوى الأول.....
يعني الصعوبة مو بال +GDI لأني اشتغلت مشروع رسام الفصل الماضي...
الصعوبة هي بتابع الرسم......
وشكرا The Tornado على شرحك الرائع
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2006-08-20 مشاركات: 36
الجامعة: العربية الأوربية الكلية: الهندسة المعلوماتية المرحلة: السنة الثانية الاختصاص: غير ذلك
|
هلق السؤال هو أنو شلون بدو يكون تابع الرسم ؟؟؟
أنا نجحت برسم ال root مع المستوى الأول.....
يعني الصعوبة مو بال +GDI لأني اشتغلت مشروع رسام الفصل الماضي...
الصعوبة هي بتابع الرسم......
وشكرا The Tornado على شرحك الرائع
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2006-08-20 مشاركات: 36
الجامعة: العربية الأوربية الكلية: الهندسة المعلوماتية المرحلة: السنة الثانية الاختصاص: غير ذلك
|
هلق السؤال هو أنو شلون بدو يكون تابع الرسم ؟؟؟
أنا نجحت برسم ال root مع المستوى الأول.....
يعني الصعوبة مو بال +GDI لأني اشتغلت مشروع رسام الفصل الماضي...
الصعوبة هي بتابع الرسم......
وشكرا The Tornado على شرحك الرائع
|
| |
دخول أو تسجيل لإرسال التعليقات |
|
مشرف
تاريخ التسجيل: 2006-02-19 مشاركات: 2139
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: السنة الثانية
|
أنا رح أعطيك الفكرة العامة:
Draw_Tree(Graphics g, TreeItem t, int x, int y) { if (t != null) { g.DrawEllipse(Pens.Black, x, y, 20, 20); g.DrawString(Brushes.Black, x, y, t.Value.ToString()); if (t.Right != null) Draw_Tree(g, t.Right, x + 20 + 10, y + 20 + 10); if (t.Left != null) Draw_Tree(g, t.Left, x - 20 - 10, y + 20 + 10); } }
|
| |
دخول أو تسجيل لإرسال التعليقات |
|