سؤال

أنا أبحث عن مكون Scatter Plot 3D لتطبيق ويب.الآن أنا أستخدم JMathPlot (داخل برنامج Java الصغير) لإنتاج شيء مثل هذا:

نص بديل http://jmathtools.berlios.de/lib/exe/fetch.php?media=scatterplot3d.png

JMathPlot جيد، لكنه يفتقد بعض الوظائف المطلوبة (أنا مهتم بشكل خاص بالحصول على تلميحات أدوات لنقاط الرسم).

هل هناك أي بدائل؟أي تقنية ويب تفاعلية (جافا سكريبت، برنامج جافا، فلاش، سيلفر لايت) جيدة.يجب أن يكون المستخدم قادرًا على تدوير/تكبير/تصغير المؤامرة ورؤية تلميحات الأدوات، عند تحريك الماوس فوق نقطة ما.

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

المحلول

هناك العديد من المحركات ثلاثية الأبعاد البسيطة لكل من الضوء الفضي (على سبيل المثال. http://www.markdawson.org/Kit3D/ أو http://www.codeplex.com/aXelerateSL3D) وفلاش (قائمة هنا) نظرًا لأنك تعرف إما ActionScript أو VB.NET أو C#، فمن السهل إنشاء مثل هذا المخطط بنفسك.

الإصدار 10 من الفلاش يحتوي أيضًا على بنيت في "محرك ثلاثي الأبعاد" بسيط:

يتيح Flash Player 10 ترجمة XYZ وتناوب XYZ من الأسطح ثنائية الأبعاد على محاور X و Y و Z.يعرض Flash Player 10 أيضًا المنظور وزوايا الكاميرا التي تقوم بتعيينها لإنشاء تأثيرات تشبه ثلاثية الأبعاد.

ربما هذا هو كل ما تحتاجه لبناءه بنفسك بسرعة.

نظرًا لأن JMathPlot مفتوح المصدر، فقد يكون اعتماده لتلبية احتياجاتك خيارًا آخر.

نصائح أخرى

وقد ترغب أيضا أن ننظر إلى معالجة . قد لا يكون لديك المكونات الجاهزة، ولكن هناك آلاف الأمثلة الجيدة التعليمات البرمجية المصدر على شبكة الإنترنت.

جيمس بلاك اقتراح لاستخدام العلامة قماش، هو فكرة جيدة للغاية، ولكنه يتطلب عدم متصفح إنترنت إكسبلورر المحدثة. أو أليس كذلك؟ بفضل جوجل، <وأ href = "http://tech.slashdot.org/story/09/09/22/2138201/Google-Brings-Chrome-Renderer-Speedy-Javascript-To-IE؟art_pos=17" يختلط = "noreferrer نوفولو"> سوف تكون قادرة على استخدام العارض كروم ضمن IE . بهذه الطريقة كنت تستهدف HTML5 مكنت المتصفحات (أبو بريص، بكت والمعزوفة) مع الرسوم البيانية الديناميكية، ونسأل مستخدمي IE لتثبيت جوجل إضافة على مرة واحدة فإنه يخرج. يعمل canvas بفضل عبر متصفح لدعم أصلي في كل شيء غير IE، وجوجل استكشاف المساعد قماش للحصول على IE. دعم SVG هو متاح أيضا عبر متصفح بفضل <لأ href = " http://tech.slashdot.org/story/09/08/22/1246248/Google-Brings-SVG-Support-To-IE؟from=rss "يختلط =" نوفولو noreferrer "> ل <ل أ href = "http://www.rustybrick.com/svg-support-for-internet-explorer.html" يختلط = "نوفولو noreferrer"> بعض الإضافات <لأ href = "HTTP: //wiki.svg كافيه / Internet_Explorer "يختلط =" نوفولو noreferrer "> لIE . لاحظ أنه إذا طلبتم من العارض Chrome للIE، لا تحتاج أي شيء آخر.

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

SVG                                        canvas
-------------------------------------------------------------------------------
Has scene DOM (SVG DOM, though)            Single HTML element, 
                                           rendering script-driven
Deals in shapes                            Deals in pixels
Somewhat hard to mix with HTML (not XHTML) Behaves like an image in both
Event handling easy                        Event handling hard

وكنت أعتقد أن كنت اذهب مع SVG أن تفعل ما تريد، لأنها سوف تكون بسيطة القتلى لإضافة العلامات الحيوية لذلك، ولكن سيكون من الصعب إنشاء API مرونة حقا لقطع مبعثر الزائفة 3D.

والمشكلة مع svg هي أنه من خلال محاولة لجعل لغة مرنة جدا، لديك واحدة معقدة للغاية. هنا يمكنك ان ترى قانون مكتوب في كل المكتبات التي تفعل الشيء نفسه.

وSVG

var rect = document.createElementNS(SVG_NS, "rect");
rect.setAttribute("x", "5");
rect.setAttribute("y", "5");
rect.setAttribute("width", "20");
rect.setAttribute("height", "20");
rect.setAttribute("fill", "red");
parent.appendChild(rect);

var poly = document.createElementNS(SVG_NS, "polygon");
poly.setAttribute("fill", "green");
poly.setAttribute("points", "-40,40 0,-40, 40,40");
parent.appendChild(poly);

وقماش

with (ctx) {
  fillStyle = "red";
  fillRect(5, 5, 20, 20);
}

with (ctx) {
  fillStyle = "green";
  beginPath();
  moveTo(-40, 40);
  moveTo(0, -40);
  moveTo(40, 40);
  closePath();
  fill();
}

وFlashAndMath ديك بعض المكتبات مثيرة للاهتمام لهذا النوع من الشيء:

http://www.flashandmath.com/advanced/contours/combo.html

هل يمكن أن ننظر فقط القيام بذلك مع العلامة قماش، ولأي متصفح المحدثة، إلا IE، يمكن أن تحصل تلميحات، كما فعلت الأحداث تماما مثل أي علامة HTML أخرى.

ويمكنك الحصول على أكثر من وظيفة في IE باستخدام excanvas، أنا فقط لم يكن لها حظ رسم النص.

وليس من مكتبة، ولكن من شأنه أن يوفر لك القدرة على العمل فقط في أتش تي أم أل مع جافا سكريبت.

والمؤامرة مبعثر 3D من canvasXpress يوفر بديلا جافا سكريبت وقماش. http://canvasxpress.org/scatter3d.html

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