我对功能范例相当新,所以这是我的问题
我有一个计算圆周长的函数和一个有效的矩形,这里是
perim({circle, {X,Y}, R}) ->
math:pi()*(R * 2);
perim({rectangle, {X,Y}, H, W})->
(H + W) * 2.
现在我的问题是如何定义一个函数来测试两个形状是否重叠。说过它们可以是2个圆形重叠或2个矩形或圆形和矩形。我从Erlang文档中得到的唯一提示是使用abs()函数。
任何帮助非常感谢
答案 0 :(得分:4)
这个问题与Erlang没有多大关系。这是一个数学问题。你需要做一些功课,挖掘数学公式,然后设计算法,然后你可以回来,我们将帮助你在Erlang中实现算法。
以下是一些可以帮助您入门的资源:
包含一些some useful links,especially the Geometry 2D食谱的论坛。有一些相关的SO问题,例如关于PathGeometry的问题,或者关于overlapping rectangles的问题。
我还建议在Stack Exchange https://math.stackexchange.com/的数学部分重新发布这个问题,只是跳过有关Erlang的细节。这是您首先需要了解的算法。
我希望有所帮助。