图解莲花井
《莲花井》,作者: 阿·卡赞采夫、马·西亚宁 〔阅读〕此碑文系太阳神祭司所刻。这堵墙后有一口圆形莲花井,边上有一块石头、一把刻刀和两根细长棍子。这两根棍子一根长3个度量单位,另一根为2个度量单位。如果将棍子一端抵住井的底角斜靠在井里,两根棍子正好在水面交叉,水面距离井底为1个度量单位。谁能用这两根棍子测出莲花井井口的最长直线的长度,谁就能成为太阳神祭司。只要懂得了题意,这堵墙就会打开放他进去,但一走进去,出口就封死了。他把所得的结果用刀刻在石头上,从通气的小孔把石头递出来,由最高祭司来检验他所刻的数字是否正确。
“非升即死”。这些研究生与导师们的自杀诱因中,排名前三的分别为:学术压力(65%),个人病史与信仰(28%)和家庭问题(10%)…… 跳楼是学术界自杀的最主要方式(89例,占68.5%),自杀者年龄越大,选择跳楼的倾向似乎也越大。
德列依耶把杰特里耶带到石穴里,地上写满了方程式。他用r来表示两根棍子的交叉点到短棍子在井底末端的距离。他设想,棍子的一端垂直移动,另一端按水平线在井底移动。根据高等数学的原理可以得知,距离为r的点会沿着椭圆曲线移动……井口直径为1.231个度量单位。
最后结果是37/30,与4000年后人们用高等数学计算出来的数只相差两个基点(2‰)。1、2、3出来了1.231哦。
下面是相似三角形的方法:
画图程序。字用kolourpaint写上去的
s = lambda x: int(100 * x)
from PIL import Image, ImageDraw
img = Image.new('RGB', (s(1.3), s(3)), 'white')
draw = ImageDraw.Draw(img)
from math import sqrt
d = 1.231; d2 = d * d; d = s(d)
a = s(sqrt(9 - d2))
b = s(sqrt(4 - d2))
x = s(d / b) # 相似三角形
w = 2
c = (0, 0, 0)
draw.line(((0, 0), (0, a)), c, w)
draw.line(((0, a), (d, a)), c, w)
draw.line(((d, a), (d, a - b)), c, w)
draw.line(((0, 0), (d, a)), (255, 0, 0), w)
draw.line(((0, a), (d, a - b)), (0, 255, 0), w)
draw.line(((x, a), (x, a - s(1))), (128, 0, 0), w)
img.save('w.png')View Code以前我用sympy解这个方程得到了解析解,特别长的一串根式套根式,今天sympy半天出不来,所以验证和nsolve:
d = 1.23118
for i in range(100):
d += 1E-6
x = (9 - d*d) ** 0.5
y = (4 - d*d) ** 0.5
e = abs(x + y - x*y)
if e < 1E-6:print(d, e); break
from sympy import *
d = symbols('d')
x = (9 - d*d) ** 0.5
y = (4 - d*d) ** 0.5
print(nsolve(x + y - x*y, d, 1.2))
#print(solve(x + y - x*y, d))
t = symbols('t')
x = (9 - t) ** 0.5
y = (4 - t) ** 0.5
print(solve(x + y - x*y, t) ** 0.5)
1.2311859999999994 4.461343507955462e-07
1.23118572377867
1.23118572377867〔这个〕网站公式可以换行。上述公式的LaTex代码如下:
\frac{1}{x}=\frac{b}{d}\\
\frac{1}{y}=\frac{a}{d}\\
\frac{1}{x}+\frac{1}{y}=1\\
x+y=xyView Code〔替换法和sympy解方程5例〕
这样算可以(好像以前更长的):
>>> e=sqrt(9-t)+sqrt(4-t)-sqrt((9-t)*(4-t))
>>> e2=solve(e,t)
>>> e2.evalf()
1.51581828643640
>>> e2
-sqrt(1225/(18*(50*sqrt(39)/9 + 43525/216)**(1/3)) + 37/3 + 2*(50*sqrt(39)/9 + 43525/216)**(1/3))/2 - sqrt(-2*(50*sqrt(39)/9 + 43525/216)**(1/3) - 1225/(18*(50*sqrt(39)/9 + 43525/216)**(1/3)) + 16/sqrt(1225/(18*(50*sqrt(39)/9 + 43525/216)**(1/3)) + 37/3 + 2*(50*sqrt(39)/9 + 43525/216)**(1/3)) + 74/3)/2 + 11/2
忘记开方了。 1.51581828643640**0.5 = 1.231185723778667
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 过来提前占个楼 感谢分享 不错,里面软件多更新就更好了 前排留名,哈哈哈 这个好,看起来很实用 谢谢分享,辛苦了 收藏一下 不知道什么时候能用到 用心讨论,共获提升! 分享、互助 让互联网精神温暖你我 感谢,下载保存了 感谢分享,下载保存了,貌似很强大 鼓励转贴优秀软件安全工具和文档! 喜欢鼓捣这些软件,现在用得少,谢谢分享! 前排留名,哈哈哈 感谢分享,学习下。 过来提前占个楼 喜欢鼓捣这些软件,现在用得少,谢谢分享! 这个有用。 不错,里面软件多更新就更好了
页:
[1]
2