Vector3 projectPoint(Vector3 point, Vector3 target) { return target .setFrom(normal) .scale(-distanceToPoint(point)) .add(point); }