2016-10-22 2 views
0

저는 리플릿을 사용하여 C# MVC 컨트롤러를 생성하는지도를 그립니다.지도 타일에 모양이 있습니다.

내지도는 실제로 여러 모양으로 구성된 2D CAD 도면입니다. 간단하게하기 위해 나는 현재 라인에만 초점을 맞추고 확대/축소에서는 고려하지 않습니다.

그래서 내지도가 그림과 1 : 1 비율로 확대되었다고 가정합니다. 각 타일에 대해 라인의 일부가 해당 타일 내에 있는지 여부를 계산해야합니다. 그런 다음 오프셋이 무엇인지 그리고 오프셋을 어디에서 그릴지를 알아야합니다.

나는 이것을 어떻게 계산할 수 있을지 전혀 모른다. 이를 달성하기 위해 권장 할 수있는 라이브러리 또는 알고리즘이 있습니까? 나는 연구를 해왔지만 흔적은 춥다.

+0

를 볼 수 있습니다 당신이 무엇을 격자 세포 (사각형)이 직선으로 교차 알고 싶니? – MBo

+0

예 .. 어떤 방향으로도 갈 수 있지만 직선입니다. –

답변

0

직사각형 격자의 타일이 직선과 교차하는지 알아 보려면 "Fast Voxel Traversal Algorithm"에 설명 된 Woo 및 Amanatides 알고리즘을 사용할 수 있습니다. 그것은 셀 좌표와 셀을 입력하고 나가는 지점을 제공합니다.

enter image description here

일부 실제 구현은 here