2017-01-13 4 views
1

테두리 상자 내에 선을 만드는 두 개의 x,y 쌍이 있습니다.경계 상자에서 교차점 계산

coord1 = 75, 180

coord2 = -30, 300

경계 상자 나 선이 경계를 교차하는 곳에 나에게의 좌표를 알 수있는 개체를 생성 할 x0x500에와 y0 enter image description here

y400에있다 상자.

Intercept.new(bounding_box, coord1, coord2).call! 반환 [x,y]

은 내가 y = mx + b를 사용할 필요가 생각하지만, 내가 경계 상자에서이 두 좌표, 요소를 취할 수있는 개체를을 writting하는 데 문제가, 나 어디 말해 인터셉트 포인트 교차점이 발생합니다. 누구든지 총소리를 내고 여기에서 나를 도울 수 있습니까?

편집 의견에 링크 된 질문의 중복이 아닙니다. 이 질문은 점 B의 상수가 항상 직사각형의 중심에 있음을 나타냅니다.

+0

선이 '상자'와 교차하면 두 개의 교차점이 생깁니다. 또한 y 축이 거꾸로되어 있습니까? –

+1

@ sagarpandya82 그것은 사용중인 이미지 프로그램이'x, y'를 사용하는 방식이기 때문에 거꾸로되어 있습니다. 그것은'y = mx + b'가 어떻게 작동하는지에 영향을 미치지 않습니다. 선이 유한하며 경계 상자의 한 부분과 만 교차합니다. – theartofbeing

+0

무엇을 시도 했습니까? https://github.com/DanielVartanov/ruby-geometry로 무엇을 했습니까? 아니면 코드 작성을 요청하는 것입니까? – OneNeptune

답변

1

당신은 y = mx + b 개념을 이용하여 올바른 방향으로 나아가고 있습니다. 그리기 직전에 문제를 정확하게 해결하려면 선형 대수학이 필요합니다. 그러나, 당신은 당신이이 특정 문제에 접근하기 위해 어디에서 시작해야하는지에 대한 방향을 찾고 있다고 말했습니다.

당신의 투쟁과 관련이있는 게임을 개발하는 동안 누군가가 발사체 교차로와 비슷한 문제에 부딪쳤을 것입니다. 여기에 자신의 블로그 포스트는 다음과 같습니다이 도움이 https://github.com/adriand/intercept-calculator/blob/master/intercept_math.rb

희망 : http://factore.ca/blog/166-how-to-calculate-the-point-of-intersection-between-a-line-and-a-bounding-box

는 여기에 자신의 문제에 대한 자신의 루비 특정 솔루션에 대한 링크입니다!

+0

와우, 그건 ... 내가 필요한 것. +10 루비에 속한다. 고맙습니다! – theartofbeing