2017-12-05 15 views
0

Es ist eine Spirale Anstieg Wirkung wie unten gezeigt:

spiral rise effect

Eine Demo finden Sie hier: http://openlayers.org/en/latest/examples/dynamic-data.htmlLeinwand Spirale Anstieg Effekt mit Wendepunkten

Im unteren Teil der Demo-Seite wird ein Algorithmus verwendet, um implementieren Sie diesen Effekt. Aber ich kann nicht herausfinden, wie es funktioniert.

var t = theta + 2 * Math.PI * i/n; 
var x = (R + r) * Math.cos(t) + p * Math.cos((R + r) * t/r); 
var y = (R + r) * Math.sin(t) + p * Math.sin((R + r) * t/r); 

Was bedeutet R, r und p? Und wie kann man die obige Formel verstehen? Kann mir jemand Details erklären? Jede Hilfe wird geschätzt.

Antwort

2

Ich kann erkennen, dass Code zeichnet epicycloid curve (+ es ist Phase theta permanent ändert, um Bewegungseffekt zu liefern).

Sie können R als Radius von inneren (hier größer) Kreis beziehen, p und r (gleiche Werte hier) als Radius der äußeren (hier kleiner) Kreis. Hier r sieht aus wie Radius der Spule der Ringfeder.

Die ersten Summanden entsprechen dem Mittelpunkt des äußeren Kreises, die zweiten Summanden - der Rotation zweiter Ordnung um den äußeren Kreismittelpunkt.

Spielen Sie mit diesen Werten und beobachten Effekte

Beachten Sie, dass, wenn Sie p ändern zu machen, nicht gleich r, werden Sie epitrochoid Kurve (allgemeiner Art Epizykloide) erhalten

Verwandte Themen