ShapeRenderer`` 행 방법 (Vector2 first, Vector2 second)을 통해 연결하는 점들을 얻는 방법을 찾으려고합니다. 그래서 도움을주는 이미지와 코드를 설명해 드리겠습니다.마지막 점을 제외한 가장 가까운 점 찾기 LibGDX Java
Vector2 유형 목록이 있으며 가장 가까운 다음 버텍스를 찾아 첫 번째 점을 제외해야합니다. 여기 내가 의미하는 바를 묘사 한 이미지가 있습니다. 나는 이미지에서 루프의 반복을 표시했다.
제 1 회 반복.) 그것은 가장 가까운 지점을 찾습니다.
두 번째 반복.) 첫 번째 점은 더 가깝지만 여전히 세 번째 점을 선택합니다. 이것은 핵심 문제입니다. 첫 번째 점이 더 가까운 점에도 두 번째 점이 세 번째 점을 찾도록해야합니다.
다음은이 작업을 시도한 코드입니다.
private void cleanVertices(Array<Vector2> verts){
newVerts = new Array<Vector2>();
Vector2 tmpKey, tmpClose = null;
tmpKey = verts.get(0);
for(int i = 0; i < verts.size; i++){
for(int k = 0; k < (verts.size - 1); k++){
if(k == i)
continue;
//Distance formula
double dist = MathFactory.distance(verts.get(i), verts.get(k));
if(MathFactory.distance(verts.get(i), verts.get(k + 1)) < dist){
tmpClose = verts.get(k + 1);
}else
tmpClose = verts.get(i);
}
tmpKey = tmpClose;
newVerts.add(tmpClose);
}
}'
이것은 내가 원하는 것을 성취하지 않고 대신에 x 축에 가장 가까운 점들을 연결하는 것처럼 보입니다. 나는 필사적으로 도움이 필요하다. 감사!