Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

회전된 박스 수정 기능 추가 #6

Open
tuna1210 opened this issue Dec 22, 2022 · 0 comments
Open

회전된 박스 수정 기능 추가 #6

tuna1210 opened this issue Dec 22, 2022 · 0 comments

Comments

@tuna1210
Copy link
Member

개요

  • 기존 박스는 축에 평행하게 그려짐 [그림1]
  • 이는 기울어진 심볼을 정확하게 감싸지 않음
  • 정확하게 심볼(또는 텍스트)에 맞는 박스를 그려야 함 [그림2]
    image

요구사항

  1. 변경된 포맷 (x1, y1, x2, y2, x3, y3, x4, y4) XML을 읽고,
  2. 박스의 형태를 유지한 상태로 (직사각형),
  3. 회전된 박스의 점 4개 좌표를 XML에 저장

요구사항 1 추가 설명

  • 기존 XML 포맷 : (x_min, y_min, x_max, y_max)
  • 수정될 포맷 : (x1, y1, x2, y2, x3, y3, x4, y4)

요구사항 2 추가 설명

  • 기존 박스처럼 네 각이 직각인 직사각형의 형태를 유지한 상태로 회전되어야 함
    image

제안 방식

  1. 파워포인트 방식

    • 파워포인트에서 박스를 그리고 회전하는 것과 동일한 UI로 제작
    • 기존 방식대로 박스를 그리고 회전 버튼을 드래그 하여 회전, 박스를 드래그 하면 이동
  2. 제안 방식

    1. Ctrl+좌클릭으로 시작점을 정함
    2. 마우스를 따라서 생성될 선분이 보임
    3. Ctrl+좌클릭으로 선분의 끝점을 정함
      image
    4. 마우스를 따라 그려질 박스가 보임. 이 때, 그려져 있던 선분과 수직인 방향으로만 박스가 그려짐
      (첫 선분의 기울기를 구하고, 그에 수직인 방향으로의 마우스 움직임만 계산하여 박스 보여줌)
      image
    5. Ctrl+좌클릭으로 최종 박스를 결정하고, 그 박스의 좌표 4곳을 테이블에 저장
      image

추가 설명

  • 제안 방식은 1번이 저희가 작업할 때 '조금' 더 편한 방식입니다. 다만 구현에 다소 어려움이 있을 것 같아 내부적으로 고려해본 방식이 2번입니다. 두 방식 모두 구현 난이도에서 큰 차이는 없을 것 같고, 둘 중 어느 방식이 확실히 '편하다'는 것도 아니기 때문에 구현하기 편하신 방식대로 구현해주시면 됩니다.
  • XML 파일에서 박스의 시작 점(p1)은 항상 '심볼(또는 텍스트)이 똑바로 되어있을 때'를 기준으로 왼쪽 위의 점으로 지정되어 있으며, 그 시작점부터 시계방향으로 점 3개가 찍혀있는 형태입니다. 수정해주신 뒤 저희가 직접 작업할 때도 같은 규칙을 따를 예정입니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant