سؤال

هل هناك أي فرعية، في matlab., ، الذي يأخذ في قائمة النقاط، وعادتني شبكة جيدة يمكنني استخدامها لإظهار زملائي، مثل هذا؟

alt text

في الواقع، كل ما أحتاج إليه هو مجرد مولد شبكي ثنائي الأبعاد بسيط يأخذ في سلسلة من x، y forminates (يحدد حدود المنطقة)، وأعطاني قائمة بالعناصر التي يمكن أن تربط تلك المنطقة جيدا. يمكنني أن أفعل الباقي باستخدام الأمر MATLAB لترابط قيمة Z.

تحرير: أنا ليس مهتم باستخدام MATLAB لإنتاج مؤامرة مظهر أعلاه. أنا مهتم باستخدام مكتبة MATLAB للحصول على قائمة بالعناصر بحيث عندما أرسم هذه العنصر بنفسي (ليس في Matlab نفسه؛ ولكن في برنامجي C #)، يمكنني الحصول على هذا السطح المشترك.

ملاحظة: أعرف أن هناك هذا Distmesh., ، لكنني أبحث عن شيء أبسط - شيء مدمج مباشر في ماتلاب ربما. و لا، meshgrid. يكون ليس توليد شبكة.

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

المحلول

يبدو وكأنك تريد إنشاء العنصر المحدود شبكة, ، بدءا من مجموعة من النقاط التي تحدد حدود المنطقة ثم توليد شبكة ثلاثية يخلق المزيد من النقاط داخل تلك المنطقة. لا أعتقد أن هناك حل "بسيط" لهذه المشكلة.

ربما يكون أقرب حل "مدمج" هو مربع أدوات المعادلة التفاضلية الجزئية, ، وتحديدا بعض من خوارزميات الهندسة مثل initmesh. و refinemesh..

الرابط الذي قدمته ل Distmesh. يبدو أنه حل جيد آخر. هناك أيضا عدد قليل من التقديمات على MathWorks File Exchange. يمكن أن نلقي نظرة على:

نصائح أخرى

  • تلك الصورة تبدو تماما مثل واحد من griddata. توثيق. المثال في هناك يبدو أن ما تريد.
  • SFTool. سوف تجعل الصورة بسهولة التي تظهر.
  • شريحة رقيقة، على سبيل المثال، tpaps., ، يجب أن تفعل الوظيفة أيضا.

أعتقد أن المستخدم الذي تم إنشاؤهgridfit."هو أفضل ما صادفته لسطح واحد، أفضل بكثير / أجمل من Griddata.

شبكة الجيل كما هو الحال في delaunay triangulation + نقاط شتاينر؟ هناك وظيفة delaunay المدمجة في ماتلاب.

إذا كان سطحك هو نموذج Z = f (x، y) يمكنك استخدامها:

http://www.advancedmcode.org/how-to-plot-a-coloured-surface-from-3d-scatter.html.

إذا كان السطح الخاص بك، فابحث عن إعادة بناء السطح على نفس الموقع.

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