Javascript - Ermitteln von Y basierend auf X bei einer simplen Bezier-Kurve?

Also. Ich habe eine Klasse in JS erstellt, womit ich eine Bezier-Kurve "zwischenspeichern" kann ...

class Bezier {
    constructor (startPoint, controlStartPoint, endPoint, controlEndPoint) {
        this.start = startPoint;
        this.end = endPoint;
        this.controlStart = controlStartPoint;
        this.controlEnd = controlEndPoint;
    }
    pointAt(position) {
        position = Math.max(Math.min(parseFloat(position) || 0, 1), 0);
        let nPos = 1-position;
        let nPos2 = Math.pow(nPos,2);
        let nPos3 = Math.pow(nPos,3);
        let pos3 = Math.pow(position,3);
        let pos2 = Math.pow(position,2);
        let calculatedX = nPos3*this.start.x+3*position*nPos2*this.controlStart.x+3*pos2*nPos*this.controlEnd.x+pos3*this.end.x;
        let calculatedY = nPos3*this.start.y+3*position*nPos2*this.controlStart.y+3*pos2*nPos*this.controlEnd.y+pos3*this.end.y;
        return new Vector2(calculatedX, calculatedY);
    }
}

Wie man sieht, ist "pointAt" bereits definiert, womit man die Koordinate an einer Position der Kurve ermitteln kann. (Vector2 ist eine schlichte xy-struktur)

Nun möchte ich jedoch etwas komplexeres. Wie kriege ich zum Beispiel Y raus, wenn ich X übergebe? Hätte da jemand eine Idee?

Mathematik, JavaScript, Programmierung, Berechnung, Formel, Klasse

Meistgelesene Fragen zum Thema Formel