|
답변 감사합니다.
말씀하신 내용으로 가능할것 같습니다.
삼각형 내부는 x = r * cos(θ), y = r * sin(θ) 공식을 역으로 이용하면 가능할것도 같네요.
1) θ = acos(x/r), θ = asin(y/r) 이용해서 각도를 찾고,
각 섹터마다 각도 범위가 있으니까 (60 ~120도 등) 원하는 섹터를 찾을수 있을것 같습니다.
2) 아크부분은 x, y 좌표를 알고 있으니까 피타고라스 정의을 이용해 거리 구해서
반지름 보다 작으면 그 범위안에 있게 되니까
1) 과 2)를 같이 적용하면 원하는 섹터를 찾을 수 있을것 같습니다.
사랑니 님이 쓰신 글 :
: 부채꼴의 중심점 좌표는 아셨다고 하셨고,
:
: 먼저 부채꼴 아크쪽을 제외하고 삼각형의 내부좌표를 구분해두시구요, 삼각형에 포함되지 않은
: 아크쪽은 부채꼴의 각도범위 안에 마우스 XY좌표가 존재하고(&&) 반지름 내에 있는지 확인하면 되지않을까요..
:
: 좀 무식하지만..ㅎㅎ
:
: unitas 님이 쓰신 글 :
: : 답변 감사합니다.
: :
: : GDI+로 해서 원 그림을 그립니다. 원의 크기는 고정입니다.
: : 원의 중앙을 지나는 선을 그리고(평행선) 그 선을 기준으로 해서 60도 (각도도 고정입니다.)씩 해서
: : 위에 3개 아래 3개 부채꼴 모양이 되게 선을 그립니다.
: : 그렇게 하면 질문에 첨부한 그림처럼 나옵니다.
: :
: : 부채꼴의 꼭지점 좌표는 인터넷 검색을 해서 x = r * cos(θ), y = r * sin(θ) 공식으로 계산했습니다.
: :
: : PaintBox1MouseDown 이벤트에서 마우스로 클릭 했을때 어느 섹터를 클릭했는지
: : 알아야 합니다.
: :
: : 사각형 이라면 간단하게 X, Y 좌표( 넓이 , 높이) 만 가지고 영역을 알수 있는데 부채꼴 모양은
: : 어떻게 해야 할지 모르겠습니다.
: :
: : 말씀하신 내용이 잘 이해가 되지 않습니다. 쉽게 설명을 해주시면 안될까요.
: :
: :
: :
: : locke 님이 쓰신 글 :
: : : 이 도형(!)이 동적으로 크기나 좌표등이 변하는거라면 수학적 공식을 적용하시는 방법밖에 없다고 보여지고
: : :
: : : 항상 정적인 도형이면.. 각 영역을 구분하는 mask(섹터가 6개면 6개의 매스크 이미지 버퍼)이미지에 특정좌표의 점을 or 연산하여
: : :
: : : 연산전과 같은 값이 나오면 해당영역이 선택된거고..다른 값이 나오면 그 특정 영역 밖이 선택된거라고 볼 수도 있겠습니다.
: : :
: : : 방식은 여러가지가 있겠는데.. 더 정확히 설명하셨으면 하는 바램이..
: : :
: : : 이렇게밖에 설명을 못드리겠네요. 다른 분께 패스...
: : :
: : : -locke
: : :
: : : unitas 님이 쓰신 글 :
: : : : 첨부한 그림처럼 원에서 1 ~ 6 번 까지 6개의 Sector(부채꼴 모양)가 있다고 할때
: : : :
: : : : 마우스로 클릭했을때 몇번 Sector 에 클릭했는지 알 수 있습니까?
: : : :
: : : : 참고로 각도는 모두 60도로 동일합니다.
: : : : 원 중심점과 각 부채꼴 모양의 꼭지점(적색으로 표시한 조그마한 원)의 좌표는 알고 있습니다.
|