2014-06-16 7 views
3

Firemonkey XE2를 사용하여 TCube 구성 요소를 사용하여 큐브 된 맵을 만들 수 있었지만 지금은 육각형 맵을 원합니다. 찾을 수있는 3d 육각형 모양에 대한 옵션이 없었습니다. 내가 TCube과 비슷한 THex을 만들 수 있다고 생각했지만이 작업을 수행하지 못했거나 가까이에 작업을 수행 할 수 없었습니다. 누구든지이 작업을 수행 할 수있는 샘플을 제공 할 수 있습니까?육각형 그리기

내가 찾고있는 모양은 hexagon prism입니다.

enter image description here

+0

육각형은 3D 모양이 아닙니다. [육각형 타일을 사용하는 3D "구형"모양은 실제로 가능하지 않습니다.] (http://stackoverflow.com/questions/12847654/hexagon-grid-on-sphere-without -오각형). [Dodecahedron] (http://en.wikipedia.org/wiki/Dodecahedron)을 만들겠습니까? –

+0

음, 더 이상 육각형 프리즘이 아닙니다. http://en.wikipedia.org/wiki/Uniform_prism –

+0

더 나은 답변을 누구든지! 내 생각에 이것들 중 어느 것도 500의 가치가 있다고 생각하지 않는다. –

답변

4

및 델파이의 육각형지도를 이용한 전략적 게임 개발.

당신은 델파이 자체에서 필요로하는 객체를 가지며 그 객체는 TCylinder입니다. SubdivisionAxes를 12에서 6으로 설정해야합니다. (이 개체의 기본값은 12입니다.) 그러면 원하는 개체 만 있으면됩니다.

지도를 구현하려면이 링크도 확인하시기 바랍니다. http://www.redblobgames.com/grids/hexagons/

행운을 빕니다.

+0

완벽! 어쨌든 여기 바깥에 연락하셔야합니다. 당신의 일을보고 싶어합니다. –

+0

@GlenMorse 내 프로필에서 내 이메일을 찾을 수 있습니다. 답변을 수락 주셔서 감사합니다 :) – Loghman

+0

고마워 .. .. 여기에 곧 당신에게 뭔가를 보내려고 .. 건배 –

1

당신은 당신이 필요로하는 어떤 형상을 만들 수 TMesh를 사용할 수 있습니다.

각 점 에 대한 점, 법선 및 텍스처를 지정하고 결과 삼각형이 그려지는 순서를 지정합니다.

당신이 필요로 미리 계산 된 점과 원하는 육각형 모양에 대한 법선

+0

나는 구글에서 이것을 발견하지 못했고이 3d에 조금 새로운 것을 발견했다. 이 계산 방법을 확신 할 수 없다 –

3

당신은 TCustomMesh에서 파생 Render를 재정의해야합니다 (I이 구글 발견, 또는 특수 형태 편집기에서 생성 할 수 있습니다 생각)입니다 계산 된 정점을 전달합니다.

센터와 반지름으로 시작하고 포인트는 다음과 같습니다. 모양이 평면에 평행하게 구성되고 연속적으로 변형된다고 가정합니다. 다음은 수직 6 각형 프리즘을 만듭니다 (저는 IDE atm이 없으며 이것을 테스트 할 방법이 없습니다!). 6 개 값이 들어

ClearPoints(); 
prismEnd := -1; 
while prismEnd < 2 do 
begin 
    Z := Center.Z + (prismEnd * length) 
    angle = 0; 
    AddPoint(0, 0, Z); 
    while angle < 360 do 
    begin 
     X := Center.X + (radius * Cos(DegToRad(angle))); 
     Y := Center.Y + (radius * Sin(DegToRad(angle))); 
     AddPoint(X, Y, Z); 
     Inc(angle, 60); 
    end; 
    Inc(prismEnd, 2); 
end; 

는 TexCoords

Tex X Tex Y 
1  0.5 
0.75 1 
0.25 1 
0  0.5 
0.25 0 
0.75 0 

당신은 최대 72 개 인덱스를 요구할 수 드로우 방법에 따라 어떤이를 렌더링하는 24 삼각형이 필요합니다 수 있어야 만듭니다.

하지만 텍스처 매핑 방법에 따라 다릅니다.

나는이 이론에 는 형태를 제공해야 TCustomMesh

을 상속 및 사용 예제를 가지고 this link을 발견 나는 당신이하고있는 같은 일을하고 같은

enter image description here

+0

델파이는 for 루프에서 단계적으로 가능성이 없다. 비록 여기에 표시된 구조 중 일부를 사용할 가능성이 있습니다 (http://stackoverflow.com/a/16371783/576719). –

+0

@LURD Delphi에서 일한 이후로 너무 오래되었습니다. 지금 고칠 것입니다 –

+0

어떻게 표시했는지 데이터를 얻는 방법이나 계산 방법을 이해할 수 있지만 이것을 X 구성 요소에 통합하여 그리는 방법은 무엇입니까? –

관련 문제