黄金比例的标准名称空间中是否有定义的值?

时间:2014-07-15 17:33:19

标签: c#

我试图找出是否已在其中一个标准命名空间中定义黄金比例的值,但我无法在文档或其他在线资源中找到任何内容。

那么我可能错过的标准命名空间中已经定义的黄金比率值是否存在?

Math下,有Math.PiMath.E,但没有Math.Phi

3 个答案:

答案 0 :(得分:43)

不,没有。但是,golden ratio一个数字的解,其倒数本身减去1

$\dfrac{1}{x} = x - 1\ \longrightarrow\ x^2 - x - 1 = 0$

然后您可以使用二次公式求解:

$\dfrac{1+\sqrt{5}}{2} = 1.61803398874989484820458683436\mathellipsis$

这意味着您可以将黄金比例定义为以下之一:

readonly double GoldenRatio = (1 + Math.Sqrt(5)) / 2;
const double GoldenRatio = 1.61803398874989484820458683436;

答案 1 :(得分:8)

不,它不是黄金比率的已定义值。您必须构建一个计算黄金比率的方法,或者您可以声明一个const变量,您将在其中存储此值。

const double goldenRatio = 1.61803398874989484820458683436;

答案 2 :(得分:6)

Math.Net库包含一个用于GoldenRatio的definition,其实现与上面@Steve的答案相匹配。它还包括大量其他有用的数学相关功能。