计算边界框

时间:2017-01-13 22:54:19

标签: ruby math

我有两个x,y对在边界框内创建一条线。

coord1 = 75, 180

coord2 = -30, 300

边界框为x0x500y0y400 enter image description here

我想创建一个对象,它可以告诉我线与边界框相交的坐标。

即。 Intercept.new(bounding_box, coord1, coord2).call!返回拦截点[x,y]

我相信我需要使用y = mx + b,但我在编写可以采用这两个坐标的对象时遇到问题,请考虑边界框,并告诉我交叉点发生的位置。任何人都可以在这里帮助我吗?

编辑与评论中关联的问题不重复。那个问题有一个常数,即B点始终位于矩形的中心。

1 个答案:

答案 0 :(得分:1)

利用y = mx + b概念,你在正确的轨道上,并且需要一些进一步的线性代数来完全解决问题。但是,您说您只是在寻找接近这个特定问题的方向。

在开发可能与您的斗争相关的游戏时,似乎有人遇到类似的关于射弹交叉点的问题。这是他的博文:http://factore.ca/blog/166-how-to-calculate-the-point-of-intersection-between-a-line-and-a-bounding-box

这是他的问题的红宝石特定解决方案的链接:https://github.com/adriand/intercept-calculator/blob/master/intercept_math.rb

希望这有帮助!