مبعثر مؤامرة 3D لتطبيق الويب
-
05-07-2019 - |
سؤال
أنا أبحث عن مكون 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 ديك بعض المكتبات مثيرة للاهتمام لهذا النوع من الشيء:
هل يمكن أن ننظر فقط القيام بذلك مع العلامة قماش، ولأي متصفح المحدثة، إلا IE، يمكن أن تحصل تلميحات، كما فعلت الأحداث تماما مثل أي علامة HTML أخرى.
ويمكنك الحصول على أكثر من وظيفة في IE باستخدام excanvas، أنا فقط لم يكن لها حظ رسم النص.
وليس من مكتبة، ولكن من شأنه أن يوفر لك القدرة على العمل فقط في أتش تي أم أل مع جافا سكريبت.
والمؤامرة مبعثر 3D من canvasXpress يوفر بديلا جافا سكريبت وقماش. http://canvasxpress.org/scatter3d.html