بسم الله الرحمن الرحيم
Hassan Farouk Amine
PROGRAMER_VBNET
مقدمة :
هـنا في هذة الـدروس نقـوم بشرح فـن الـــرسم
ولكن ليس بمعني أننا سـنمسك فرشـاة وبـليتة ألـون
و هــذا لانــنا فنــانـون مـن نــوع أخـــر
أننا المبرمجون الذى يعدون برامج الرسم والجـرفكس
ولا نستخدم الفرش والألوان 0000000
ولكن نقوم بستخدام عقولنا وأصابعنا في كتابة الشفرات الخاصة بذالك
-----------------------
سوف نعرض مثال بستخدام البيسك المرئي والمثال عبارة عن وجة به عينان تتحركان كلما تحرك مؤشر الماوس بحيث ينظران إلي هذا المؤشر
أما إذا خرج المؤشر خارج النموذج فإن العينين يتوقفان عن الحركة في أتجاه مؤشر الماوس والمثال في صورته النهائية يظهر كما بهذا الـــــشكل 00000
والفكرة وراء عمل المثال هي أن نتصور أن كل عين دائرة ثم نحصل علي نقطة تقاطع الخط المستقيم الواصل بين مؤشر الماوس ومركز دائرة العين لهذاة النقطة وهو مكان حدقة العين وبتكرار هذة العملية لكل عين نحصل علي الشكل المطلوب وهو الوجة الذى ينظر إلي مؤشر الماوس - ثم نكرر العملية كلما تحرك مؤشر الماوس لحساب الموقع الجديد لحدقة العين ولحساب نقطة التقاطع نستخدم معادلة الدائر:
R^2 = X^2 + Y^2
آما لو كان المركز هو النقطة
نستخدم المعادلة المطورة للدائرة (X1,Y1)
(Y-Y1)^2 +(X-X1)^2 = R^2آما عن المعادلة المستقيم نفترض أنة لدينا مستقيم واصل بين النقطتين
A,B
فإن أي نقطة علي المستقيم تقع بين النقطين
A,B
يمكن تمثيلها بالمعادلة التالية :
X = aLPHa(BX - AX ) + AXللحصول علي الأحداثي السني للقنطة حيث
X
هو الأحداثي السيني للنقطة و
AX,BX
هما الأحداثيين السينيين لكل من نقطة النهاية ونقطة البداية ونقطة البداية للمستقيم أما
aLPHa
فهي رقم محصور بين
1,0
وكذالك المعادلة
Y = aLPHa (BY - AY ) + AY
عمومان لا نريد أن نتطرق للكثير من المعادلات المعقدة حيث سيتم شرحها في دروس مقبلة إن شاء الله حيث سأقوم بشرح طرق الرسم بالفجول خطوة بخطوة
ولان نقوم بتصميم البرنامج
----------------------------------- (1)
قم بأنشاء مشروع تنفيذي جديد
-----------------------------------
- (2)
قم بتغير الخصائص التالية للفورم
"لكي تقوم بفتح نافذة الخصائص أضغط
F4"
NAME : FRMGO
HEIGHT : 4395
WIDTH : 7365
CAPTION :Happy Face
AUTOREDRAW: TRUE
-----------------------------------
(3)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :CIRCLE
SHAPE:CIRCEL
FILL STYLE :SOLID
LEFT:4800
TOP:1320
HEIGHT:255
WIDTH:210
-----------------------------------
(4)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :CIRCLE 2
SHAPE:CIRCEL
FILL STYLE :SOLID
LEFT:2805
TOP:1320
HEIGHT:255
WIDTH:210
-----------------------------------
(5)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :OVAL1
SHAPE:CIRCEL
FILL STYLE :SOLID
LEFT:3720
TOP:1440
HEIGHT:1335
WIDTH:255
-----------------------------------
(6)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :OVAL 2
SHAPE:CIRCEL
FILL STYLE :SOLID
LEFT:2520
TOP:3000
HEIGHT:255
WIDTH:2655
-----------------------------------
(7)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :CIRCEL3
SHAPE:CIRCEL
LEFT:4320
TOP:1200
HEIGHT:975
WIDTH:975
-----------------------------------
(8)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :CIRCLE 4
SHAPE:CIRCEL
LEFT:2400
TOP:1200
HEIGHT:975
WIDTH:975
-----------------------------------
(9)
قم بتنزيل أدة
CONTROL SHAPE
قم بتغير هذة الخصائص للأدة
NAME :CIRCLE 5
SHAPE:CIRCEL
LEFT:1440
TOP:240
HEIGHT:3855
WIDTH:4695
-----------------------------------
الان وقد رسمنا الشكل كما هو موضح في أعلي الصفحة
نبدأ الأن كتبة الشفرة للبرنامج
---------------------------
قم بحجز هذة المتغيرات داخل منقطة المتغيرات العامة(سطر المتغيرات العامة)
General ------------> declaration
[align=left]Dim POINT1_X, POINT1_Y, POINT2_X, POINT2_Y As Single Dim CENTER1_X, CENTER1_Y, CENTER2_X, CENTER2_Y As Single Dim R As Single Dim TURN As Integer[/align]
-------------------------------------------------------------------
قم بكتابة هذة الكود داخل
Form -------> load
[align=left]Private Sub Form_Load() R = (750 / 2) CENTER1_X = 2400 + R CENTER1_Y = 1200 + R CENTER2_X = 4320 + R CENTER2_Y = 1200 + R End Sub[/align]
---------------------------
قم بكتابة هذة الكود داخل
Form -------> MouseMove
[align=left][align=left]Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim MB, MA, A, B, C, NEW_X, NEW_Y, ALPHA As Double Dim ALPHA1, ALPHA2 As Double TURN = TURN + 1 If TURN = 5 Then TURN = 1 MA = X - CENTER1_X MB = Y - CENTER1_Y A = MA * MA + MB * MB ALPHA = R / Sqr(A) NEW_X = CENTER1_X + ALPHA * MA NEW_Y = CENTER1_Y + ALPHA * MB FRMGO.OVAL1.Left = NEW_X FRMGO.OVAL1.Top = NEW_Y MA = X - CENTER2_X MB = Y - CENTER2_Y A = MA * MA + MB * MB ALPHA = R / Sqr(A) NEW_X = CENTER2_X + ALPHA * MA NEW_Y = CENTER2_Y + ALPHA * MB FRMGO.OVAL2.Left = NEW_X FRMGO.OVAL2.Top = NEW_Y End If END SUB
------------------------------------------
لأن قم بتجربة البرنامج ولاحظ تحرك العين مع مؤشر الماوس
أعزائي أعضاء المنتدي ربما يكون البرنامج معقداً بعض الشىء ولكن سوف أعمل جاهداً
علي أن أقوم بشرح كيفية الرسم بالفجول بيزك خطوة بخطوة
فأنتظرو المزيد
PROGRAMER_VBNET
أذا أردو متابعة دروس خطوة بخطوة لكيفية الرسم داخل الفجول بيزك
أتبع هذا الرابط
الدروس التي سيتم شرحها إن شاء الله
الدرس الثاني ----- كيفية الرسم بالنقطة الضوئية
كيفية رسم مسقيمات
كيفية رسم مستطيلات
كيفية رسم مثلثات
كيفية رسم أقواس دائرية
كيفية رسم دوائر
-------------------------------
الدرس الثالث
كيفية تحليل المعدلات الرياضية ألي أكواد برمجية
كيفية تصميم برنامج لحساب مساحة ومحيط الدائرة
كيفية تصميم برنامج لحساب مساحة ومحيط المستطيل
كيفية تصميم برنامج لحساب مساحة ومحيط المثلث
كيفية تصميم برنامج لحساب مساحة ومحيط المنشور
تطبيقات عملية علي تحليل المعدلات كيفية 000
حساب معدلات من الدرجة التانية
--------------------------------
الدرس الرابع
كيفية تصميم برنامج الكورة التصادمية
كيفية تصميم وجة له عيون تتحرك مع مؤشر الفأرة
كيفية عمل صورة تجري خلف مؤشر الفأرة
000000
000000
000000
وترقبو المزيد والمزيد إن شاء الله
-------------------------------
أرجو من الله أن أكون قد وفقت في أن شرح هذة الأمثلة
وأرجو من كل من وجد استفادة من هذة الدروس أن ينشرها لينتفع بها الجميع ولا تنسونا بالدعاء 00
وجزاكم الله كل خير (f) (f) (f) (f) (f) (f) (f)
PROGRAMER_VBNET

