2012-05-04 4 views
0

주어진 지오메트리에 맞는 정삼각형 격자를 만들어야합니다.기하학 위에 정삼각형 격자 만들기

이미지에 지오메트리가 포함되어 있고 구멍이나가는 패스가있을 수 있습니다. 그리고 i는 현재 이미지와 유사한 격자를 만들어야

http://neutrinodata.s3.amazonaws.com/theage-education/cmsimages/web/b3c5925e-34de-11e0-99f6-005056b06a0e-4535326.jpg

서클 직경이 가변이며, 전체 구조를 커버해야한다. 점들이 지오메트리에있을 필요는 없습니다.

+3

. 그럴 경우 해당 레이블로 분류해야합니다. – CAbbott

+0

실제로, 나는 재미로 이것을하고있다. 이미지는 최고의 잔디 깍는 길을 찾는 것에 대해 이야기하는 웹 사이트에서 가져온 것입니다. 나는 그걸 프로그램으로하고 싶었습니다. –

답변

3
당신이 예를 들어, 2 차원 매트릭스의 각 원의 상태를 저장 할 수 있습니다

enter image description here

비스듬한 사각형 격자에게 것으로 삼각 격자 생각할 수있는, 간단한 사용

처리를위한 네스트 루프. 원인의 경우 이러한 논리 좌표를 도면의 좌표 평면 좌표로 변환해야합니다.

const double Sin30 = 0.5; 
static readonly double Cos30 = Math.Cos(30*Math.PI/180); 

for (int xLogical = 0; xLogical < NX; xLogical++) { 
    for (int yLogical = 0; yLogical < NY; yLogical++) { 
     double xGeo = GridDistance * xLogical * Cos30; 
     double yGeo = GridDistance * (yLogical + xLogical * Sin30); 
     ... 
    } 
} 
0

2D 메쉬 도구를 만드는 것으로 가정합니다. 그것이 있고, 그것이 숙제 인 경우에, 나는 당신이 그것을 많이 얻을 것이므로 스스로하는 것이 좋습니다. 그것이 meshing 문제가 아니라면 무엇을 말할 필요가 있겠습니까 ...

이렇게하려면 그리드 노드 센터를 사용하여 평형을 생성하십시오. 시작할 중심점이 없다면 먼저 객체의 방향을 선택한 다음 이들 (직사각형 기반) 격자 노드를 작성해야합니다 (실제로 이러한 점의 실제 위치를 테스트하는 방법을 강구해야합니다 객체 경계 안에 위치). 그런 다음이 점을 사용하여 등변 삼각형을 만들 수 있습니다. 노트. 당신은 다시 절반의 괜찮은 정확성을 얻기 위해 가장자리 감지를 처리해야합니다.

평탄한 점을 좀 더 자세히 살펴보고 더 정확한 메쉬를 얻으려면 삼각형 분할을 사용하여 이방성 메쉬 적응 (AMA)을 조사해야합니다. 위에서 설명한 기본 접근 방식보다 훨씬 어려울 것입니다. 그러나 재미 있습니다!

AMA를 사용하여 2D tet-mesh 생성기에 link을 확인하십시오. 이 코드를 기반으로 종이는이 숙제처럼 보인다

  1. V. Dolejsi: Anisotropic mesh adaptation for finite volume and finite element methods on triangular meshes Computing and Visualisation in Science, 1:165-178, 1998.
관련 문제