لماذا يتم استخدام جيب التمام لحساب قيم x وقيم القيم y للقوس؟

StackOverflow https://stackoverflow.com/questions/3488569

سؤال

أحاول فهم الرياضيات على عرض Raphael.js:

http://raphaeljs.com/pie.js

الخروج عن طريقة القطاع:

function sector(cx, cy, r, startAngle, endAngle, params) {
    var x1 = cx + r * Math.cos(-startAngle * rad),
        x2 = cx + r * Math.cos(-endAngle * rad),
        y1 = cy + r * Math.sin(-startAngle * rad),
        y2 = cy + r * Math.sin(-endAngle * rad);
    return paper.path(["M", cx, cy, "L", x1, y1, "A", r, r, 0, +(endAngle - startAngle > 180), 0, x2, y2, "z"]).attr(params);
}

هذا هو العرض التجريبي الفعلي:http://raphaeljs.com/pie.html

إن الرياضيات الخاصة بي صدئة بعض الشيء وأحاول فهم وظيفة القطاع - بالنظر إلى معلمات البدء والتهديد (كل قيم نقطة البداية والنهاية بين 0 و 360 رسم قوس) ، لماذا تعمل هذه الوظيفة؟

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

المحلول

كل هذا يتوقف على كيفية علاجك startAngle و endAngle. يبدو أن هذا يعاملهم على أنهم يبدأون من الأفقي إلى اليمين (أي زاوية 0 تشير إلى الشرق) والذهاب في اتجاهين (وبالتالي فإن زاوية 45 درجة تشير إلى الجنوب الشرقي.

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

نظرًا لأن الصور شائعة ، فإليك الأنظمة الثلاثة التي وصفتها ، على افتراض أن الخط يطول r:

الرياضيات الطبيعية: عكس اتجاه عقارب الساعة من المحور السيني

First diagram
(مصدر: arachsys.com)

يطلب من الرجل في الشارع رسم زاوية (في اتجاه عقارب الساعة من المحور ص)

Second diagram

الزوايا المستخدمة في هذا الرمز (في اتجاه عقارب الساعة من المحور السيني)

Third diagram

نصائح أخرى

مجرد إلقاء نظرة على ما الخطيئة و cos في الواقع يعني في دائرة:alt text

إذا كان لديك نقطة على دائرة تشكل زاوية ألفا ، فإن cos alpha هو الجزء X من النقطة التي يكون ألفا الخطيئة هي الجزء y.

يوضح هذا الرسم التوضيحي ، لماذا تنفي الزاوية.alt text

هذا يعني أنه يمكنك الآن تحديد في اتجاه عقارب الساعة زوايا ، والتي يفضل معظم الناس مع الساعات التماثلية.

نظرًا لأن النقطة التعسفية على محيط المركز (CX ، CY) و RADIUS R لها الإحداثيات التالية (يتبع مباشرة من التعاريف الهندسية COS و SIN - نسبة بين أطوال القسطرة المقابلة و hypotenuse):

x = cx + R*cos(a)
y = cy + R*sin(a) for  0 <= a < 2π

لذا فإن تحديد حدود على الزاوية A يمكنك تحديد القوس التعسفي.

إذا كنت تأخذ 0 درجة أفقية مع زيادة x و 90 درجة عمودي مع زيادة y ثم على النحو التالي:

cos(0) = 1
sin(0) = 0

cos(90) = 0
sin(90) = 1

يمكنك تغيير قيمة X عن طريق ضربها بواسطة جيب التمام وتغيير قيمة Y عن طريق ضربها بواسطة الجيب.

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