버그 해결을 위한 모든 질문을 던져
0 votes
143 views
두 벡터 A,B가 있습니다.

두 벡터 사이의 각도theta가 있고요.

선분AB의 중점에 수직으로 만나는 길이n의 점C를 구하려고 합니다...

손계산과 그래프 계산기 계산과 그려보았을 때 제가 생각하는 결과 세개가 다 다릅니다.. 아마 식부터 잘못 새운거 같은데.... 어떻게 구할 수 있을까요?

충격적이네요..
asked (139 point) , 143 views

2 answers

0 votes
벡터 내적...
answered (133 point)
0 votes
두가지 경우에 따라서 계산하는 방법, 유일한 해를 구할 수 있는 방법인지가 달라집니다.

1. 처음 가진 데이터가 방향성을 내포하는 벡터 두개인지 위치를 나타내는 점 두개인지

2. 2차원 공간인지 3차원 공간인지

문맥상 추론해보면 1번에서는 위치를 나타는 점 두개를 가지고 계산하는 걸로 예측됩니다. 이 경우 2차원 공간만 결정적으로 값을 구할 수 있습니다. 3차원 공간의 경우 중점을 둘러싸는 원이 전부 해가 될 수 있기 때문이고, 2차원 공간의 경우 선분이 공간을 두 파트로 나누기 때문이지요.

점 A,B의 방향을 v0=normalize(A-B), 중간 지점을 p0=(A-B)/2 라고 정의한 다음, 원하는 방향 벡터를 v1 라고 정의한다면, 작성자님이 요구한 수직으로 만나는 경우, v0과 v1을 내적하면 값이 0이 나오겠지요? 이를 풀어써보면,

v0.x * v1.x + v0.y * v1.y = 0 으로 되는데, 여기서 v1 해는 두개가 나올 수 있습니다. v1=(1/x0,-1/y0) 이나 v1=(-1/x0, 1/y0) 이 될 수 있겠지요. 둘 중에 하나를 선택하신 후, v1을 정규화 해주고, 원하는 점 C는 C=p0+n*v1 으로 나타낼 수 있습니다.

여기까지가 2차원 공간에서 두 점의 위치를 통하여 구하는 방법이였습니다. 원하시는 답변이 될지는 모르겠네요.
answered (4 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

461 질문
607 answers
598 댓글
69,094 users