الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما المشكلة فى هذا الكود ؟

بدأه Petro في 27 مايو 2008 · 4 رد · 775 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد ان اعرف ما المشكلة فى هذا الكود

فاننى اريدة ان يدور دورة كاملة بــ radius ثابت

لكن المشكلة ان الــ radius يطول و يقصر

فاننى اريد ان الــ line1.x2 و line1.y2 يدور حول circumference of a circle

مش يطول و يقصر

ارجو المعونة

و شكرا

الكود و الـ project مرفق فى الملف المرفق ...

circle.zip

#2

السلام عليكم...

أعتقد أن السبب الأساسي هو أن نظام الإحداثيات (Coordinate system) للنموذج (Form) يختلف عن نظام الإحداثيات الهندسية، ففي النموذج تقع النقطة (0، 0) عند الزاوية العلوية اليسرى، و يكون الاتجاه الموجب للمحور السيني (X-axis) إلى اليمين (كما هو الحال في النظام الهندسي)، أما الاتجاه الموجب للمحور الصادي (Y-axis) فإنه يكون إلى الأسفل (عكس النظام الهندسي).

أعتقد أن أفضل طريقة لكي تعمل المناهج الرسومية (Graphics methods) بنفس طريقة النظام الهندسي هي بتغيير نظام إحداثيات النموذج (Form)، و هي طريقة سهلة كما هو موضح في المثال المرفق.

نرجو الاستفادة و السلام.

Circle02.rar

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

شكرا لك اخى جزيل الشكر

#4

شكرا لك اخى

لكن اخوانى اريد ان اعرف ما الــ Function

المماثلة لها فى الــ C#.NET

اقصد الدالة Scale

و شكرا

#5

يكون هناك متغير يعبر عن الزاوية .. و ليكن theta مثلاً ...

ثم نقول ...

line1.x2 = line1.x1 + length*cos(theta)
line1.y2 = line1.y1 + length*sin(theta)

طبعاً length إكتب بدلاً منه طول الخط بالبكسل ... و إكتب السطرين السابقين بطريقة اللغة التي تستعملها أياً كانت

و طبعاً يجب أن تكون الtheta بالradian و ليس بالdegree

مواضيع مشابهة