Warum wird verwendet Cosinus die X-Werte zu berechnen, und die Y-Werte für eine Arcussinus?
-
28-09-2019 - |
Frage
Ich versuche, die Mathematik auf dieser Raphael.js zu verstehen Demo:
Zur Kasse der Sektor-Methode:
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);
}
Dies ist die eigentliche Demo: http://raphaeljs.com/pie.html
Meine Mathe ein wenig rostig ist und ich versuche, die Sektor-Funktion zu verstehen - angesichts der startangle und endAngle Parameter (jeweils Start- und Endpunkt Werte zwischen 0 und 360 einen Bogen zeichnen), warum hat diese Funktion Arbeit ? p>
Lösung
Es hängt alles davon ab, wie Sie startAngle
und endAngle
behandeln. Es sieht aus wie diese ist sie als ausgehend von horizontal nach rechts Behandlung (das heißt ein Winkel von 0 zeigen nach Osten) und geht clockingwise (so ein Winkel von 45 Grad zeigt Süd-Ost.
In der Regel in der Mathematik betrachten wir Winkel von den Horizontalen nach rechts beginnend, aber steigenden gegen den Uhrzeigersinn drehen ... aber wenn Sie einen Nicht-Mathematiker bitten um einen Winkel zu zeichnen, können sie es gut behandeln von vertikal nach oben (dh Nord) Erhöhung im Uhrzeigersinn. Das sieht aus wie es nimmt eine Mischung :) Es gibt keine wirklich „falsch“ oder „richtige“ Antwort hier -. Es ist alles eine Frage der Definition
Wie Bilder beliebt sind, hier sind die drei Systeme, die ich beschrieben habe, die jeweils die Linie unter der Annahme einer Länge r
:
Normale Mathematik: gegen den Uhrzeigersinn von der x-Achse
(Quelle: arachsys.com )
Vorstellung des Mannes auf der Straße einen Winkel (im Uhrzeigersinn von der Y-Achse) zu ziehen
Die Winkel durch diesen Code (im Uhrzeigersinn von der x-Achse) verwenden
Andere Tipps
Just Blick auf, was sin und cos eigentlich mittlere in einem Kreis:
Wenn Sie einen Punkt auf einem Kreis haben, die einen Winkel Alpha bildet, die cos alpha ist der x-Teil des Punktes a sin alpha ist der y-Teil.
Diese Abbildung erklärt, warum wird der Winkel negiert.
Es bedeutet, dass Sie jetzt angeben können im Uhrzeigersinn Winkel, was die meisten Menschen mit analogen Uhren bevorzugen.
Weil beliebiger Punkt auf dem Umfang mit dem Mittelpunkt (cx, cy) und den Radius R hat die folgende Koordinate (es folgt direkt aus COS und geometrischen Definitionen SIN - Verhältnis zwischen den Längen der entsprechenden und Kathete Hypotenuse):
x = cx + R*cos(a)
y = cy + R*sin(a) for 0 <= a < 2π
So Grenzwerte für Winkeleinstellung ein Sie beliebigen Bogen definieren können.
Wenn Sie ein 0 ° als horizontal mit x erhöht und 90 ° vertikal mit y Erhöhung dann als:
cos(0) = 1
sin(0) = 0
cos(90) = 0
sin(90) = 1
Sie können den x-Wert variieren, indem sie es durch den Kosinus und variieren den y-Wert multipliziert wird, indem sie es mit dem Sinus multipliziert wird.