سؤال

أنا أكتب برنامج (.net) لإنشاء تخطيط نمط الملعب وأحتاج إلى تحديد زاوية الدوران لكل مضلع مقارنة بالأفقي.

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

بالنظر إلى الصورة أدناه كمثال لمحاكاة كل متغير من الاتجاه المواجه (المشار إليه بالخط الأحمر) كيف يمكنني تحديد زاوية الدوران اللازمة للحصول على الشكل ليكون الخط الأحمر في الأعلى كما هو موضح بالفعل في الشكل 5.

http://i40.tinypic.com/16ifhoo.gif alt text

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

لست متأكدًا مما إذا كنت بحاجة إلى نقطة مرجعية مركزية لمساعدة جميع المضلعات.

كيف يمكنني حل هذا بشكل أفضل؟

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

المحلول

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

  • استخدم متوسط ​​اللون لبعض وحدات البكسل القريبة من الخط على كلا الجانبين لتحديد الحالة.
    • إذا كان المضلع فوق الخط، تكون زاوية الدوران 180+أ.
    • إذا كان المضلع أسفل الخط، يكون الدوران أ.

حيث يتوافق الجزء العلوي والسفلي من جانب الزاوية الأصغر وجوانب الزاوية الأكبر من الخط وفقًا لكيفية قياسك أ.

نصائح أخرى

(. على سبيل المثال 0 درجة لمدة المضلع 5، 45 درجة لمدة 4، 90 درجة لمدة 3، الخ)

وسوف أحاول لحساب ناقلات العادية على كل خط أحمر ومن ثم الزاوية التي تحتاج إلى تدوير التي وضعها الطبيعي - وبالتالي المضلع مطابقة - بحيث طبيعية "يشير حتى" يجب أن تكون بسيطة جدا

للأسف ليس لدي الصيغ اللازمة متاح لك من على قمة رأسي، ولكن غوغلينغ "ناقلات العادي" و / أو البحث عنه في ويكيبيديا يجب أن تحصل التي على ما يرام، على ما أعتقد. ربما في اتجاه ما يسمى 'المنتج عبر ".

ويجب أن هناك حاجة إلى نقطة مرجعية مركزية لجميع المضلعات لهذا (لا علاقة الاتجاه الطبيعي إلى الإحداثيات المطلقة).

والخطيئة، كوس، وظائف تان تسمح لك لتحويل من نسبة حافة مثلث بدرجات.

وتخيل، واحدة من نهاية الخط الأحمر هو في (X1، Y1) والطرف الآخر هو في (X2، Y2). يمكنك علاج خط أحمر كما hipotenuse من مثلث مستطيل واستخدام ظل الزاوية القوسي للحصول على درجة.

والنسبة بين catheti هي (X2-X1) / (Y2 - Y1). دوران خط أحمر ومن ثم ظل الزاوية القوسي ((X2-X1) / (Y2 - Y1)). احترس من الحالات عندما Y1-Y1 هو 0!

ودعونا نحاول مثال واحد من صورتك، مضلع 6 مع احداثيات (55، 65) و (65، 55). اكتب في جوجل: "ظل الزاوية القوسي ((65-55) / (55-65)) في درجة"

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