مرحبا
هل أحد لديه معلومه عن Unit disk graph model or Quasi Unit Disk Graph model
أي أمثله لها في مجال الشبكات من ناحية برمجية
مرحبا
هل أحد لديه معلومه عن Unit disk graph model or Quasi Unit Disk Graph model
أي أمثله لها في مجال الشبكات من ناحية برمجية
يوجد قسم في المنتدي اسمه برمجة الشبكات والتطبيقات الموزعة يختص بهذا ابحث فية
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); شكرا جزيلا
أتمنى من الاشراف نقل الموضوع للقسم المحدد، وعذرا على الازعاج
السلام عليكم
لاتمام هذا البرنامج، قمت بعمل برنامج يستقبل خريطة (صورة خريطة) ويرسم عليها نقاط (النقاط عبارة عن كلاس، له مجموعة من الخصائص) وبعدين احسب المسافة بين كل نقطتين عن طريق المعادلة الإقليدية الشهرية بهذا الشكل:
Public Function getDistance(ByVal sq1 As classNode, ByVal sq2 As classNode) As Double Dim xdiff, ydiff As Integer Dim rdistance As Double = 0 xdiff = Math.Abs(sq2.pCenter.X / 100 - sq1.pCenter.X / 100) ydiff = Math.Abs(sq2.pCenter.Y / 100 - sq1.pCenter.Y / 100) rdistance = Math.Sqrt(Math.Pow(xdiff, 2) + Math.Pow(ydiff, 2)) Return rdistance End Functio
الغرض اني حسب هل المسافة بين نقطتين أقل من أو يساوي ا كلم، وبالتالي ارسم سهم بينهم
طبعا زي مانتم عارفين القيم هنا قيم بيكسل، وبالتالي النتائج تطلع غير صحيحة
ولذلك قسم بتقسيم الاحداثيات على 100 (الكود اعلاه) لأن الشاشة حددتها مسبقا (width = 696 and height = 384)
المفروض تطلع لي النتيجة
http://cnx.org/content/m34835/latest/Independent.png
ولكن بسبب حساباتي تطلع بهذا الشكل
http://im27.gulfup.com/2012-03-15/1331813999861.png
الرجاء لو عندكم اي معلومه افيدوني، لأن بناء هذه الخطوة اساسي لاكمال بقية البرنامج
مع العلم اني بحثت مطولا بالانترنت، وما وصلت لنتيجة اعتقد لجهلي بكلمات البحث في هذا الخصوص
أريد أن أعرف ماهي الطريقة الصحيحة لتحويل احداثيات الشاشة (بيكسل) إلى احداثيات صحيحة
تم تعديل هذه المشاركة بواسطة سماء بعيدة في 17 مارس 2012 في 16:42
وعليكم السلام ورحمة الله وبركاته ...
بغض النظر عن صحة المعادلة أم لا ، أعتقد أنه يجب استخدام المعامل "\" بدلا من "/" ..
... إذا كنت تعتقد أن مشاركتي مفيده ، الرجاء قم بتقييمي ...

عاشق للبرمجة كتب:وعليكم السلام ورحمة الله وبركاته ...
بغض النظر عن صحة المعادلة أم لا ، أعتقد أنه يجب استخدام المعامل "\" بدلا من "/" ..
وعليكم السلام ورجمه الله وبركاته
جربت وطلعت نفس النتيجة ولو اني بكل صدق ما ادري اش الفرق
اعتقد ان الفيجوال بيسك يعدلها تلقائي ويقسم بالصورة الصحيحة
ومازال السؤال قائم: ماهي الطريقة الصحيحة لتحويل احداثيات الشاشة (بيكسل) إلى احداثيات صحيحة؟
سماء بعيدة كتب:وعليكم السلام ورجمه الله وبركاته
جربت وطلعت نفس النتيجة ولو اني بكل صدق ما ادري اش الفرق
اعتقد ان الفيجوال بيسك يعدلها تلقائي ويقسم بالصورة الصحيحة
ومازال السؤال قائم: ماهي الطريقة الصحيحة لتحويل احداثيات الشاشة (بيكسل) إلى احداثيات صحيحة؟
غير صحيح ..
المعامل "/" في vb.net يستخدم للقسمة ..
المعامل "\" في vb.net يستخدم للقسمة العددية ..
مثل :
5/2 = 2.5 5\2 = 2
كما هو الحال في vb6 لم يتغير شئ ...
بالنسبة للنتائج .. لو قارنت الصورتين لوجدت أن الكلاس يعمل بكفائة ، فقط هناك بعض النقاط لا تظهر فالمشكلة ليست باحتساب المسافة وإنما باحتساب عدد النقاط ...
تم تعديل هذه المشاركة بواسطة عاشق للبرمجة في 19 مارس 2012 في 00:27
... إذا كنت تعتقد أن مشاركتي مفيده ، الرجاء قم بتقييمي ...

عاشق للبرمجة كتب:غير صحيح ..
المعامل "/" في vb.net يستخدم للقسمة ..
المعامل "\" في vb.net يستخدم للقسمة العددية ..
مثل :
5/2 = 2.5 5\2 = 2كما هو الحال في vb6 لم يتغير شئ ...
بالنسبة للنتائج .. لو قارنت الصورتين لوجدت أن الكلاس يعمل بكفائة ، فقط هناك بعض النقاط لا تظهر فالمشكلة ليست باحتساب المسافة وإنما باحتساب عدد النقاط ...
جزاك الله خير
ممكن توضح لي اش قصدك باحتساب عدد النقاط
انا سويت trace للبرنامج وكمان سويت dry run بالورقة والقلم
وكان البرنامج يعدي على كل النقاط (nested for loop) بحيث يقارن النقطة الأولى بكل النقاط ، وبعدين يمسك النقطة الثانية ويقارنها بكل النقاط وهكذا
واللي حصل، ان لما احسب المسافة بين نقطتين تطلع بعض النتائج مابين (0,1) والبعض اكبر من 1
على حسب قيم (x,y) لكل نقطة
تم تعديل هذه المشاركة بواسطة سماء بعيدة في 19 مارس 2012 في 18:44