2010-11-25 4 views
0

기하학적 모양 인식 (직사각형, 타원형 등)의 문맥에서 프로그래밍 문제가 있습니다. 일련 번호 (xy 쌍)로 구성된 (x1, y1)부터 (x2, y2)에 이르는 단순한 선이있는 경우 -라인의 DirectionVector를 어떻게 방해합니까?

어떻게 방향 벡터를 계산할 수 있습니까? 이 줄? 나는 그 뒤에있는 수학을 이해하지만 내 클라이언트가 제공 한 알고리즘이 다소 모호하다는 것을 알고 있습니다. 나는이 알고리즘의 3 단계에서 멈춰있다. 다음은 내 클라이언트에서 제공 한 알고리즘과 동일합니다 (영어로는 psedocode와 반대).

1) 브레이크는 "뇌졸중"또는 "라인"구성하는 점의 기본 X = (20)에 의해 X (세트에 최대 - 우리가 조정합니다) 포인트 각각에 대해 PointSet

2) = PointSet에서 첫 번째와 마지막 Y 포인트 (기본적으로 Y = X/5)에 대한 EndPouint (끝점의 평균)를 찾습니다. PointSets 각 쌍 용

3) PointSet의 DirectionVector 찾기 = 빼는 CentrePoints

4)는 AngleChange = PointSets의 DirectionVectors 사이의 각도를 발견.

등등 ... 나는 (3) 어떤 점을 의미하는지 알아 내려고 노력하고 있습니다. ...... 도움이 될만한 분들께 깊이 감사드립니다! 미리 감사드립니다. (X2, Y2) (X1, Y1)로부터 세그먼트가 짧으면

답변

0

후 간단히하여 방향 벡터를 근사 할 수 (X2-X1) * I + (Y2 - Y1) * j를.

그렇지 않으면, 당신은

+0

당신에게 너무 감사 세그먼트를 형성하는 개별 지점의 주요 축으로 방향 벡터를 추정하는 PCA를 사용할 수 있습니다! 나는 DirectionVector를 포함하여 다양한 속성에 대해 분석되기 전에 선들이 작은 세그먼트들로 나뉘어 지므로 회신의 옵션을 선택할 것이라고 생각합니다. – ImmortalBuddha

+0

안녕하세요, 내 눈에 보이는 무식한 용서해주세요 ..하지만 위의 방정식에서 "i"와 "j"는 무엇을 나타내는가? (x2-x1) ** i ** 등 – ImmortalBuddha

+0

벡터 i와 j (또는 e_x와 e_y) 형식 2D 유클리드 공간의 표준 기반. http://en.wikipedia.org/wiki/Standard_basis – ssegvic

관련 문제