이미받은 답변에 동의하고 있지만 베 지어 곡선에 사용할 수있는 간단하지만 강력한 근사 메커니즘을 추가하고 싶습니다. 하위 커브의 기준선에 대한 하위 커브의 일부는 일정한 epsilon 아래 입니다. 이 경우 서브 커브는 기준선에 의해 근사화 될 수 있습니다.
사실, 이것이 그래픽 서브 시스템이 베 지어 곡선을 그릴 때 일반적으로 취하는 접근법이라고 생각합니다. 그러나 이것에 대해 인용하지 마십시오. 현재 언급이 없습니다.
실제로는 다음과 같습니다 : (언어가 관련이없는 것을 제외하고)
public static Line[] toLineStrip(BezierCurve bezierCurve, double epsilon) {
ArrayList<Line> lines = new ArrayList<Line>();
Stack<BezierCurve> parts = new Stack<BezierCurve>();
parts.push(bezierCurve);
while (!parts.isEmpty()) {
BezierCurve curve = parts.pop();
if (distanceToBaseline(curve) < epsilon) {
lines.add(new Line(curve.get(0), curve.get(1)));
} else {
parts.addAll(curve.split(0.5));
}
}
return lines.toArray(new Line[0]);
}