Lassen Sie uns sagen, dass ich einen kubischen Bezier-Pfad haben als (formatiert für die Verwendung mit der Bahnfunktion Raphael) folgt:Zeichnung Hälfte eines Bézier-Pfades in Raphael
M55 246S55 247 55 248
nur ein Beispiel. Dies wurde meiner Zeichnungsanwendung entnommen, wo ich den Cursor verwende, um eine Linie zu zeichnen, wenn der Benutzer die Maustaste gedrückt hält, etwa wie ein Bleistift oder eine Markierung. Ich verwende jquery's mousemove-Ereignis, um die Linie zwischen zwei Punkten jedes Mal zu zeichnen, wenn der Benutzer die Maus bewegt. Bevor die Linie gezeichnet wird, gibt es einen weiteren (den Referenzpunkt), so dass die Bezier-Kurve erstellt werden kann.
Hier ist meine Frage: ist es möglich, Raphael nur die Hälfte eines bestimmten Weges zu zeichnen? Ich kenne die Funktion getSubpath(), aber wenn ich die Bezier-Kurven richtig verstanden habe, wäre es ziemlich schwierig, das zweite Argument zu berechnen. Das Problem mit der Animate-Funktion ist, dass sie doppelte Linien erzeugt (dh, sie erzeugt die gekrümmte Linie, die ich möchte, und die kastenförmige Linie, die nicht gezeigt werden sollte, möglicherweise, weil die Maus schneller bewegt wird, als die Animation verarbeiten kann)).
Natürlich, wenn mein Ansatz selbst in irgendeiner Weise fehlerhaft ist (oder mein Verständnis der möglichen Lösungen), würde ich es gerne hören. Jede Hilfe wäre willkommen.
Was meinst du mit "halb"? Welche Hälfte möchtest du zeichnen? – Gabe
Ich möchte die erste Hälfte zeichnen (vom Beginn der Mausbewegung bis zum Mittelpunkt der Bezier-Kurve). Die Rechtfertigung dafür besteht darin, die Kanten zu eliminieren, die unweigerlich erscheinen, wenn Sie einfach Linien von einer Cursorposition zur nächsten zeichnen. – Fibericon