سؤال

لنفترض أن لديك مجموعة من النقاط ذات الإحداثيات على نظام الإحداثيات الديكارتية.

an unwarped grid

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

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

a warped grid (مصدر)

أنت تعرف الإحداثيات الممتدة وغير الممتدة لكل مجموعة من النقاط، ولكن ليس وظيفة التمدد الأساسية.أنت تعرف الإحداثيات غير الممتدة لنقطة جديدة.

كيف يمكنك تقدير مكان رسم النقطة الجديدة في الإحداثيات الممتدة بناءً على المواضع الممتدة للنقاط القريبة؟ليس من الضروري أن تكون دقيقة، حيث لا يمكنك تحديد وظيفة التمدد الفعلية من مجموعة من النقاط المعاد تعيينها إلا إذا كان لديك المزيد من المعلومات.

الكلمات الرئيسية المحتملة الأخرى:مشوه شبكة مشوهة تنسيق مستوى الشبكة unwarp

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

المحلول

حسنًا، هذا يبدو وكأنه تشويه للصورة.هذا هو ما يجب عليك القيام به:

  1. إنشاء تثليث ديلوناي لشبكتك غير المشوهة واستخدم معرفتك بالمراسلات بين الشبكة الملتوية وغير المشوهة لإنشاء التثليث للشبكة الملتوية.الآن أنت تعرف المثلثات المقابلة في كل صورة وبما أنه لا يوجد تداخل، فمن المفترض أن تكون قادرًا على تنفيذ الخطوة التالية دون صعوبة كبيرة.

  2. الآن، للعثور على النقطة المقابلة A, ، في الصورة المشوهة:

    1. ابحث عن المثلث A يكمن في واستخدام التحويل بين المثلث في الشبكة غير المشوهة والشبكة الملتوية لمعرفة الموضع الجديد.

وهذا ما تم شرحه بوضوح وبالتفصيل هنا.

طريقة أخرى (أكثر تعقيدًا) هي شريحة لوحة رقيقة (والذي تم شرحه أيضًا في الشرائح أعلاه).

نصائح أخرى

لقد فهمت أن لديك مراسلات فردية بين نقاط الشبكة الملفوفة وغير المغلفة.وأفترض أن التشوه ليس شديدًا لدرجة أنه قد يكون لديك خطوط شبكة متقاطعة (مثل الصورة التي تعرضها).

الإستراتيجية هي بالضبط ما يقترحه جاكوب:قم بتثليث الشبكتين بحيث يكون هناك تطابق واحد لواحد بين المثلثات، وحدد موقع النقطة التي سيتم تعيينها في التثليث ثم استخدم إحداثيات مركز الكتلة في المثلث المقابل لحساب موقع النقطة الجديد.

المعالجة المسبقة

  1. توليد تثليث ديلوناي من نقاط الشبكة الملتفة، دعنا نسميها WT.
  2. لكل مثلث في WT أضف مثلثًا بين القمم المقابلة في الشبكة غير المغلفة.وهذا يعطي التثليث UWT من النقاط غير المغلفة.

خريطة نقطة p في الشبكة ملفوفة

  1. ابحث عن المثلث T(p1,p2,p3) في ال UWT الذي يحتوي على p.
  2. احسب ال إحداثيات مركزية (b1,b2,b3) ل p في T(p1,p2,p3)
  3. يترك Tw(q1,q2,q3) يكون المثلث في WT المقابلة ل T(p1,p2,p3).الموقف الجديد هو
    b1 * q1 + b2 * q2 + b3 * q3.

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

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

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

وهناك الكثير يعتمد على عدد النقاط الموجودة لديك. إذا كان لديك واحد فقط، وليس هناك الكثير حقا يمكنك القيام به مع ذلك - يمكنك تعويض النقطة الثانية من قبل نفس المبلغ في نفس الاتجاه، ولكن لم يكن لديك ما يكفي من البيانات لحقا أي أفضل من ذلك

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

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