سؤال

أنا أبحث عن مكتبة تخطيط رسم بياني بسيطة لـ C++.أريد تضمين المكتبة في المتخيل الخاص بنا استنادًا إلى wxWidgets.باختصار، أنا أبحث عن شيء من هذا القبيل graphviz, ، باستثناء الديناميكي - أي عند وقوع حدث ما، يلزم تحميل التغيير في الرسم البياني فقط، وليس العرض الكامل.هنالك ديناغراف, ولكن يبدو أنه مشروع ميت.لقد سبق أن اقترحت استخدام VTK - لكنه ثقيل الوزن.

أنا أبحث عن مكتبة مفتوحة المصدر وغير متروكة ومتاحة للاستخدام التجاري (GPL معطلة، LGPL يجب أن تكون على ما يرام).أنا منفتح على الاقتراحات التي لن تقدمها Google.

هل كانت مفيدة؟

المحلول

يعتمد التخطيط الذي ينشئه Graphviz على البنية العامة - يمكن لأي إضافة واحدة أن تغير المخرجات بشكل كبير (إلا إذا كنت تستخدم إحداثيات ثابتة، وفي هذه الحالة ربما لن تطرح هذا السؤال).في الأساس، إذا كنت تريد الموضع التلقائي للعناصر، فأنت بحاجة إلى قبول أحد الحلول التالية:

  • عندما يتم وضع عنصر جديد، يتم تشغيل محاكاة فيزيائية في الوقت الفعلي، مما يتسبب في ارتداد العقد بشكل عشوائي حتى تستقر في مواقعها الجديدة.سيكون هذا بطيئًا، لكنه سيُظهر تغييرات "ممتعة".
  • عندما يتم وضع عنصر جديد، تتم إعادة رسم الرسم البياني بأكمله (الفيزياء / كل ما هو مخفي، ولكن يتم تعديل كل شيء).سيكون هذا أسرع نظرًا لعدم الحاجة إلى إعادة الرسم، لكن المواقع النسبية للعقد يمكن أن تكون مختلفة تمامًا.
  • عند إضافة عنصر جديد، لا يتم تعديل العناصر الموجودة.بعد إجراء ما يكفي من التحديثات الديناميكية، سيبدو الرسم البياني الخاص بك وكأنه تافه، لأن الموضع التلقائي يمثل مشكلة تحسين عالمية.

آسف، لا أستطيع مساعدتك في الإجابة على سؤالك، ولكن ربما يساعد هذا في توضيح سبب عدم وجود ما تبحث عنه (أو أن يكون جيدًا).

نصائح أخرى

لتجاوز بعض isues عند استخدام graphviz (ديسسيبيد توم). وضعنا احداثيات متخيل العالم ليتزامن مع احداثيات العالم graphviz.

وبعد ذلك. على افتراض كل العنصر البصري لديه معرف فريد، وبناء الرسم البياني باستخدام هذه العناصر. الناتج الرسم البياني كنص. إعادة تنظيم كل شيء على أساس تحليل المخرجات.

-

ومايكل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top