在Erlang中查找形状重叠的函数

时间:2016-02-13 17:19:37

标签: erlang

我对功能范例相当新,所以这是我的问题

我有一个计算圆周长的函数和一个有效的矩形,这里是

perim({circle, {X,Y}, R}) -> 
math:pi()*(R * 2);
perim({rectangle, {X,Y}, H, W})-> 
  (H + W) * 2.

现在我的问题是如何定义一个函数来测试两个形状是否重叠。说过它们可以是2个圆形重叠或2个矩形或圆形和矩形。我从Erlang文档中得到的唯一提示是使用abs()函数。

任何帮助非常感谢

1 个答案:

答案 0 :(得分:4)

这个问题与Erlang没有多大关系。这是一个数学问题。你需要做一些功课,挖掘数学公式,然后设计算法,然后你可以回来,我们将帮助你在Erlang中实现算法。

以下是一些可以帮助您入门的资源:

包含一些some useful linksespecially the Geometry 2D食谱的论坛。有一些相关的SO问题,例如关于PathGeometry的问题,或者关于overlapping rectangles的问题。

我还建议在Stack Exchange https://math.stackexchange.com/的数学部分重新发布这个问题,只是跳过有关Erlang的细节。这是您首先需要了解的算法。

我希望有所帮助。