maito
April 8, 2024, 2:16am
1
안녕하세요. 현재 프로젝트 진행 중에 0~360도 기준으로 방향 표시하는 기능을 구현 중입니다.
첫 구현은 opengl을 사용하여 3D Arrow로 상하, 좌우의 방향을 표시하였으나 생각보다 시각적으로 정확한 구분이 안가더라고요.
그래서 생각한게 상하표시를 없애고 좌우만 표시할 수 있는 방법으로 하자고하여 네비어맵 또는 카카오맵 처럼 표기하고 싶은데 샘플코드나 방법이 있을까요?
(물론 radar로 응용해서 구현하면 되겠다 싶긴한데..)
위에 이미지는 샘플 이미지입니다. 빨간색과 같이 0~360도 기준으로 구현하고 싶어요… 검색해도 어떤키워드로 해야할지 의문이긴하네요.
아 참고로 avalonia framework 사용 중입니다. wpf 샘플 있으면 그것도 응용 가능할거 같긴합니다
감사합니다
1 Like
dimohy
April 8, 2024, 2:23am
2
카카오 로드맵의 360도 표시와 동일하게 하고 싶으시면 너무 어렵게 생각하지 마시고 16개의 이미지를 준비한 후 바라보는 각도에 따라 적절한 이미지를 표시하시면 될 듯 합니다.
4 Likes
al6uiz
April 8, 2024, 2:40am
3
@dimohy 님 말씀대로 카카오맵은 아래 그림과 같이 스프라이트 방식으로 구현되어 있습니다.
카카오맵
네이버맵
WPF나 Avalonia에서 스프라이트 애니메이션을 사용하시려면 위와 같은 이미지 한 장을 로드하여 Viewbox 속성을 활용하면 됩니다.
각도를 입력으로 하여 해당 프레임의 이미지 영역에 대한 Rect를 반환하는 Converter를 만들어 사용하시면 될 듯 합니다.
9 Likes
maito
April 9, 2024, 12:09am
5
오옷 감사합니다.
혹시 이미지 따로따로 있는건 없죠?
al6uiz
April 9, 2024, 1:18am
6
이미지가 따로따로 있는 것보다 답변드린대로 하나의 이미지를 로딩해서 필요한 영역만 그리는 방식으로 사용하는 것이 더 유리합니다.
1 Like