func (c *BezierCurve) quadApprox(p1, c1, c2, p2 mathgl.Vec2d) (v mathgl.Vec2d, ok bool) { //P2 - 3·C2 + 3·C1 - P1 d01 := p2.Sub(c2.Mul(3)).Add(c1.Mul(3)).Sub(p1).Len() / 2 if d01 <= gQuadraticApproxPrecision { // (3·C2 - P2 + 3·C1 - P1)/4 return c2.Mul(3).Sub(p2).Add(c1.Mul(3)).Sub(p1).Mul(1 / 4.), true } return v, false }