android. 안드로이드 Path 상의 점(Point)들의 정보 구하기

안드로이드 PathMeasure 클래스는 Path 상의 점들의 정보를 획득할 수 있는 방법을 제공합니다.
아래와 같이 사용하면 됩니다.

Path targetPath = ...;
int frameCount = 60;

PathMeasure pathMeasure = new PathMeasure( targetPath, false );

float totalLength = pm.getLength();
float distancePerFrame = totalLength / frameCount;

float[] position = new float[ 2 ];
float[] tangent = new float[ 2 ];

for( int frame = 0; frame < frameCount; frame++ ){
 pathMeasure.getPosTan( distancePerFrame * frame, position, tangent );
 //패스를 거리로 등분했을 때 frame번째 포인트의 위치정보 
 PointF pointPosition = new PointF( position[ 0 ], position[ 1 ] );
 //패스를 거리로 등분했을 때 frame번째 포인트의 접선각도
 PointF pointTangent = new PointF( tangent[ 0 ], tangent[ 1 ] );
 double radian = Math.atan2( pointTangent.y, pointTangent.x );
}

참고 : http://stackoverflow.com/a/14346276

다른글 읽기