2013-05-27 7 views
0

두 개의 CGPoint가 있습니다. 하나에서 다른 하나까지 곡선을 그려야합니다. 어떻게 그릴 수 있습니까? 코어 그래픽 또는 베 지어 경로? 그렇다면 약간의 안내가 필요합니다. 사전에 도움을 주셔서 감사합니다.두 점 사이의 부드러운 곡선?

+0

는 베 지어 패스입니다. 하지만 곡선을 말할 때 두 지점을 통과하는 수천 개의 부드러운 곡선이있을 수 있습니다. 베 지어 곡선에는 항상 끝점과 떨어진 두 개의 제어점이 있습니다. 제어점은 곡선이 구부러지는 방법을 결정합니다. 그래서 두 점을 통과하는 매끄러운 곡선이 임의의 제어점을 가지길 원합니다. 또는 곡선을 구부리는 방법을 결정하는 조절 점을 제공하십시오. 포인트가 많으면 베 지어 스플라인이 필요합니다. –

+0

처음 두 점, 시작점과 끝점 하나만 있으면 곡선을 약간 구부릴 수 있습니까? –

+2

** 얼마나 많이 ** 구부릴 것인지 지정하려면 적어도 하나 이상의 추가 지점이 필요합니다. – lnafziger

답변

2

UIBezierPath 또는 CGPath를 사용하십시오. 보기의의 drawRect에서 OS X의 에 NSBezierPath 같은 UIBezierPath 작품 : 방법은 그런 다음 첫 번째 점을 시작 객체

UIBezierPath *aPath = [UIBezierPath bezierPath]; 

를 선언합니다.

[aPath moveToPoint: startPoint]; 

다음으로 제어점이있는 곡선 세그먼트를 추가하십시오. 컨트롤 포인트가 필요한 위치를 찾는 것이 어려운 부분입니다.

두 종류가 있습니다. 차 곡선

[aPath addCurveToPoint: aDestinationPoint controlPoint1: aControlPoint controlPoint2: anotherControlPoint]; 

차 곡선 마지막

[aPath addQuadCurveToPoint:aDestinationPoint controlPoint: aLonelyControlPoint]; 

(맥 NSColor)를 UIColor에 설정된 호출 방법. 그런 다음 패스를 스트로크하거나 채 웁니다.

[aPath stroke]; 

스트로크 너비를 설정할 수도 있습니다.

도면이 절차 적으로 전면에 다시이며 채우기 또는 뇌졸중의 다음 그리기 명령하기 전에 다른 색에 설정된 다른 색상 호출을 원하는 경우

이벤트의 CG 버전은 비슷하지만 더 복잡한 것을 기억하십시오. 당신이 그릴 원하는 것은

http://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/BezierPaths/BezierPaths.html

+0

대단히 감사합니다. –