programer_vbnet

كيفية الرسم بالفجول بيزك خطوة بخطوة

12 ردود في هذا الموضوع

بسم الله الرحمن الرحيم

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

babyfiase.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

درس جميل أخي programer_vbnet الله يجزيك خير ..

وفي اتظار ابدعاتك القادمة .

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ممتاز (شرح كافي ووافي);)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكوررر أخي مختار

أرجو زيارة المنتدي ------>التنين(f)(f)(f)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم أخي programer_vbnet

مشكور على هذا الدرس الجميل، وفي إنتظار المزيد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله كل خير

بارك الله فيك

ممكن بعض الروابط لا تعمل

مشكور

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .