📝 ملخص الصفحة
📚 رسم المضلعات باستخدام tkinter
المفاهيم الأساسية
المضلع: شكل مستو مغلق يتكون من عدة خطوط مستقيمة (حواف أو جوانب). تسمى نقاط التقاء الحواف زوايا المضلع. يُسمى الجزء الداخلي منه جسم المضلع.
خريطة المفاهيم
```markmap
بناء واجهات المستخدم الرسومية (GUI) بلغة بايثون
النموذج البرمجي تيكينتر (tkinter)
وظيفته
- يحتوي على نصوص برمجية جاهزة
- يستخدم لرسم أشكال ورسومات على نافذة
المكون الأساسي: لوحة الرسم (Canvas)
- منطقة مستطيلة للرسم
- يمكن وضع رسومات أو نصوص أو عناصر واجهة فيها
#### نظام إحداثيات لوحة الرسم
##### الفرق عن النظام الديكارتي
- الأصل (0،0) في الزاوية اليسرى العليا
- إحداثيات x: تزيد باتجاه اليمين (مثل النظام الديكارتي)
- إحداثيات y: تزيد باتجاه الأسفل (عكس النظام الديكارتي)
##### النموذج الأساسي
- البكسل
- الإحداثيات تُعبر عنها كأعداد صحيحة
خطوات إنشاء نافذة الرسم
1. استيراد النموذج
2. إنشاء النافذة الأساسية
3. ضبط لوحة الرسم (الحجم واللون)
4. وضع العناصر على النافذة
#### رسم الخطوط
##### الدالة
- canvas.create_line(x-start, y-start, x-end, y-end)
##### المعاملات
- إحداثيات x و y لبداية ونهاية الخط
- يمكن استخدام عوامل تعيئة وعرض "القلم"
##### أمثلة عملية
###### رسم خطين متقاطعين
- خط أحمر عريض من (10,10) إلى (100,100)
- خط ذهبي أقل عرضاً من (10,100) إلى (100,10)
###### رسم خطوط أفقية متعددة باستخدام حلقة
- إنشاء 10 خطوط برتقالية أفقية
- عرض الخط يزداد مع كل تكرار (width=i)
- المسافة بين الخطوط 15 بكسل (i*15)
###### رسم مثلث
- باستخدام `create_line` مع سلسلة من الإحداثيات
- مثال: `canvas.create_line(240,20, 160,100, 320,100, 240,20)`
- الإحداثيات: (240,20) قمة، (160,100) يسار، (320,100) يمين
#### رسم المستطيلات
##### الدالة
- canvas.create_rectangle(x1, y1, x2, y2)
##### المعاملات
- x1, y1: إحداثيات الزاوية العلوية اليسرى
- x2, y2: إحداثيات الزاوية السفلية اليمنى
- width: عرض حدود المستطيل
- outline: لون حدود المستطيل
- fill: اللون الداخلي للمستطيل
##### أمثلة عملية
###### مثال 1: مستطيل أبيض بحدود مرجانية
- `canvas.create_rectangle(100,150,400,250,width=3, outline="coral",fill="white")`
- خلفية اللوحة: لون البط البري (teal)
###### مثال 2: مستطيل أخضر
- `canvas.create_rectangle(30,10,120,80,width=5, fill="green")`
- خلفية اللوحة: لون البط البري (teal)
#### رسم الأشكال البيضاوية
##### الدالة
- canvas.create_oval(x1, y1, x2, y2)
##### المعاملات
- x1, y1: إحداثيات الزاوية العلوية اليسرى للمستطيل المحيط
- x2, y2: إحداثيات الزاوية السفلية اليمنى للمستطيل المحيط
- width: عرض حدود الشكل
##### العلاقة بين المستطيل المحيط والشكل
- يتم رسم البيضاوي داخل المستطيل المحدد بالإحداثيات (x1, y1) و (x2, y2)
- إذا كان المستطيل المحيط مربعاً (عرضه = ارتفاعه)، يصبح الشكل المرسوم دائرة
##### مثال عملي
- `canvas.create_oval(50,50,300,300,width=3)`
- خلفية اللوحة: لون البط البري (teal)
- النتيجة: دائرة لأن (300-50) = (300-50)
#### رسم المضلعات
##### الدالة
- canvas.create_polygon(points, fill)
##### المعاملات
- points: قائمة تحتوي على إحداثيات x و y لرؤوس المضلع بالتتابع.
- fill: اللون الداخلي للمضلع.
##### مثال عملي
- `canvas.create_polygon(points, fill="green")`
- مثال على قائمة النقاط: `points=[100,80, 80,180, 80,220, 150,180, 220,100, 220,60, 150]`
تحديد الألوان في تيكينتر
الطريقة الأولى: الأسماء المعيارية
- أبيض، أسود، أحمر، أزرق، أخضر، سماوي، أصفر، أرجواني
الطريقة الثانية: نموذج RGB
- تحديد اللون باستخدام 3 أرقام تمثل نسب الأحمر والأخضر والأزرق
#### خصائص نموذج RGB
- كل لون (أحمر، أخضر، أزرق) له قيمة بين 0 و 255
- مثال: الأحمر = (255,0,0)، الأخضر = (0,255,0)، الأزرق = (0,0,255)
التعامل مع أحداث الفأرة ولوحة المفاتيح
ربط الأحداث
- الصيغة: widget.bind(event, handler)
فئات الأحداث الرئيسية
#### أحداث الفأرة
- : زر الفأرة الأيسر
- : الضغط المزدوج على زر الفأرة الأيسر
- : إدخال مؤشر الفأرة إلى نافذة تيكينتر
- : إخراج مؤشر الفأرة من نافذة تيكينتر
#### أحداث لوحة المفاتيح
الحصول على إحداثيات الفأرة
#### آلية العمل
- ربط حدث الفأرة (مثل ``) بدالة معالجة (callback function)
- تمرير كائن الحدث (event) إلى الدالة
- استخراج إحداثيات النقطة من `event.x` و `event.y`
#### مثال: طباعة الإحداثيات عند النقر
- `canvas.bind("", callback)`
- `def callback(event): print("clicked at", event.x, event.y)`
#### مثال: طباعة الإحداثيات عند النقر المزدوج
- `canvas.bind("", callback)`
```
نقاط مهمة
- يوفر tkinter دوالاً جاهزة لرسم أشكال معقدة مثل المضلعات.
- لرسم مضلع، نستخدم الدالة `create_polygon()` ونمرر لها قائمة بإحداثيات رؤوسه.
- يجب أن تكون الإحداثيات في القائمة بالتتابع: `[x1, y1, x2, y2, x3, y3, ...]`.
- يمكن تعبئة المضلع بلون داخلي باستخدام المعامل `fill`.
📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
اكتب المقطع البرمجي اللازم لرسم الأشكال الآتية:
نوع: محتوى تعليمي
المضلع في الهندسة هو عبارة عن شكل مستو يتم وصفه بواسطة عدة خطوط مستقيمة لتشكيل شكل متعدد الأضلاع مغلق.
يُطلق على المقاطع ذات الشكل المغلق حوافها أو جوانبها، والنقاط التي تلتقي فيها الحافتان اسم زوايا المضلع، والنقاط التي تلتقي فيها الحافتان اسم زوايا المضلع، كما يُطلق أحيانًا اسم جسم المضلع على الجزء الداخلي منه.
نوع: محتوى تعليمي
يوفر النموذج البرمجي تيكينتر دوالًا جاهزة للاستخدام لرسم أشكال أكثر تعقيدًا، مثل المضلعات والأقواس وما إلى ذلك.
نوع: محتوى تعليمي
اكتب مقطعًا برمجيًا لرسم مضلع باستخدام النموذج البرمجي تيكينتر.
نوع: محتوى تعليمي
from tkinter import *
window=Tk()
canvas=Canvas(bg="white", width=300, height=300)
canvas.pack()
points=[100,80,80,180,80,220,150,180,220,100,220,60,150],
canvas.create_polygon(poits,fill="green")
window.mainloop()
نوع: METADATA
وزارة التعليم
Ministry of Education
2025 - 1447
نوع: METADATA
180
🔍 عناصر مرئية
An illustration showing hands interacting with a laptop, suggesting an interactive or experimental element.
اكتب المقطع البرمجي اللازم لرسم الأشكال الآتية:
A blank rectangular area, likely intended for user input or code writing.
A graphical user interface window displaying two shapes: a white circle and a yellow oval on a teal background.
A programming window displaying a green hexagon. The window has standard OS controls (minimize, maximize, close).
📄 النص الكامل للصفحة
اكتب المقطع البرمجي اللازم لرسم الأشكال الآتية:
المضلع في الهندسة هو عبارة عن شكل مستو يتم وصفه بواسطة عدة خطوط مستقيمة لتشكيل شكل متعدد الأضلاع مغلق.
يُطلق على المقاطع ذات الشكل المغلق حوافها أو جوانبها، والنقاط التي تلتقي فيها الحافتان اسم زوايا المضلع، والنقاط التي تلتقي فيها الحافتان اسم زوايا المضلع، كما يُطلق أحيانًا اسم جسم المضلع على الجزء الداخلي منه.
يوفر النموذج البرمجي تيكينتر دوالًا جاهزة للاستخدام لرسم أشكال أكثر تعقيدًا، مثل المضلعات والأقواس وما إلى ذلك.
اكتب مقطعًا برمجيًا لرسم مضلع باستخدام النموذج البرمجي تيكينتر.
from tkinter import *
window=Tk()
canvas=Canvas(bg="white", width=300, height=300)
canvas.pack()
points=[100,80,80,180,80,220,150,180,220,100,220,60,150],
canvas.create_polygon(poits,fill="green")
window.mainloop()
وزارة التعليم
Ministry of Education
2025 - 1447
180
--- VISUAL CONTEXT ---
**FIGURE**: Untitled
Description: An illustration showing hands interacting with a laptop, suggesting an interactive or experimental element.
Context: Illustrates the concept of 'try it yourself' or interactive learning.
**FIGURE**: اكتب المقطع البرمجي اللازم لرسم الأشكال الآتية:
Description: A blank rectangular area, likely intended for user input or code writing.
Context: Represents an area for writing or displaying code.
**FIGURE**: Untitled
Description: A graphical user interface window displaying two shapes: a white circle and a yellow oval on a teal background.
Context: Visual example of shapes that can be drawn using the described programming concepts.
**FIGURE**: Untitled
Description: A programming window displaying a green hexagon. The window has standard OS controls (minimize, maximize, close).
Context: Shows the output of the provided Python code, a green hexagon drawn using tkinter.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما تعريف المضلع في الهندسة؟
- أ) شكل ثلاثي الأبعاد له أوجه وحواف ورؤوس.
- ب) شكل مستو يتم وصفه بواسطة عدة خطوط مستقيمة لتشكيل شكل متعدد الأضلاع مغلق.
- ج) منحنى مغلق ناتج عن مجموعة من النقاط المتصلة.
- د) شكل هندسي ناتج عن تقاطع خطين مستقيمين.
الإجابة الصحيحة: b
الإجابة: شكل مستو يتم وصفه بواسطة عدة خطوط مستقيمة لتشكيل شكل متعدد الأضلاع مغلق.
الشرح: 1. المضلع هو شكل هندسي. 2. يقع في مستوى واحد (شكل مستو). 3. يتكون من عدة خطوط مستقيمة (أضلاع). 4. هذه الخطوط تشكل معًا شكلًا مغلقًا.
تلميح: فكر في شكل ثنائي الأبعاد تتكون حدوده من خطوط مستقيمة.
التصنيف: تعريف | المستوى: سهل
ما اسم النقاط التي تلتقي فيها حافتا المضلع؟
- أ) أضلاع المضلع.
- ب) جسم المضلع.
- ج) زوايا المضلع.
- د) محاور المضلع.
الإجابة الصحيحة: c
الإجابة: زوايا المضلع.
الشرح: 1. حافة المضلع هي الخط المستقيم الذي يشكل ضلعًا من أضلاعه. 2. نقطة التقاء حافتين (أو ضلعين) تسمى زاوية المضلع. 3. هذه النقطة هي رأس من رؤوس الشكل.
تلميح: هي النقاط التي يتقاطع عندها ضلعان من أضلاع الشكل.
التصنيف: تعريف | المستوى: سهل
ما اسم الدالة المستخدمة في مكتبة tkinter لرسم مضلع على لوحة الرسم (Canvas)؟
- أ) draw_polygon()
- ب) create_polygon()
- ج) make_shape()
- د) polygon()
الإجابة الصحيحة: b
الإجابة: create_polygon()
الشرح: 1. مكتبة tkinter توفر دوال جاهزة لرسم أشكال معقدة. 2. لرسم مضلع، نستخدم الدالة create_polygon(). 3. تأخذ هذه الدالة قائمة بإحداثيات النقاط (رؤوس المضلع) كمعامل رئيسي.
تلميح: تبدأ الكلمة بـ 'create' وتنتهي بـ 'polygon'.
التصنيف: صيغة/خطوات | المستوى: متوسط
في مقطع الرمز البرمجي المقدم لرسم مضلع، ما نوع البيانات الذي يجب أن يكون المعامل `points` الممرر للدالة `create_polygon`؟
- أ) قاموس (dictionary) برمز لكل رأس وإحداثياته.
- ب) مجموعة (set) من الأرقام تمثل أطوال الأضلاع.
- ج) قائمة (list) تحتوي على إحداثيات x و y للنقاط بالتناوب.
- د) سلسلة نصية (string) تفصل بين الإحداثيات بفواصل.
الإجابة الصحيحة: c
الإجابة: قائمة (list) تحتوي على إحداثيات x و y للنقاط بالتناوب.
الشرح: 1. الدالة create_polygon() تحتاج إلى معرفة مواقع رؤوس المضلع. 2. يتم تمرير هذه المواقع كقائمة. 3. تحتوي القائمة على إحداثيات x و y لكل رأس بالتناوب (مثلاً: [x1, y1, x2, y2, ...]).
تلميح: يتم تمثيل إحداثيات النقاط في Python باستخدام بنية بيانات متسلسلة.
التصنيف: مفهوم جوهري | المستوى: متوسط
ما الخطوة الأولى لإنشاء نافذة رسومية باستخدام مكتبة tkinter في Python؟
- أ) تحديد حجم النافذة وعنوانها مباشرة.
- ب) رسم شكل مباشرة على الشاشة.
- ج) استيراد المكتبة ثم إنشاء كائن من فئة Tk() لتمثيل النافذة الرئيسية.
- د) إنشاء كائن Canvas فقط دون نافذة.
الإجابة الصحيحة: c
الإجابة: استيراد المكتبة ثم إنشاء كائن من فئة Tk() لتمثيل النافذة الرئيسية.
الشرح: 1. استيراد المكتبة باستخدام `from tkinter import *`. 2. إنشاء النافذة الرئيسية للتطبيق باستخدام `window = Tk()`. 3. هذه النافذة هي الحاوية التي ستوضع فيها جميع العناصر الأخرى مثل لوحات الرسم والأزرار.
تلميح: تبدأ معظم برامج واجهة المستخدم الرسومية (GUI) في tkinter بخطوتين أساسيتين.
التصنيف: صيغة/خطوات | المستوى: متوسط