找回密码
 立即注册
首页 业界区 安全 图解莲花井

图解莲花井

岑韬哎 2025-10-29 17:45:00
《莲花井》,作者: 阿·卡赞采夫、马·西亚宁 〔阅读
此碑文系太阳神祭司所刻。这堵墙后有一口圆形莲花井,边上有一块石头、一把刻刀和两根细长棍子。这两根棍子一根长3个度量单位,另一根为2个度量单位。如果将棍子一端抵住井的底角斜靠在井里,两根棍子正好在水面交叉,水面距离井底为1个度量单位。谁能用这两根棍子测出莲花井井口的最长直线的长度,谁就能成为太阳神祭司。只要懂得了题意,这堵墙就会打开放他进去,但一走进去,出口就封死了。他把所得的结果用刀刻在石头上,从通气的小孔把石头递出来,由最高祭司来检验他所刻的数字是否正确。
“非升即死”。这些研究生与导师们的自杀诱因中,排名前三的分别为:学术压力(65%),个人病史与信仰(28%)和家庭问题(10%)…… 跳楼是学术界自杀的最主要方式(89例,占68.5%),自杀者年龄越大,选择跳楼的倾向似乎也越大。
德列依耶把杰特里耶带到石穴里,地上写满了方程式。他用r来表示两根棍子的交叉点到短棍子在井底末端的距离。他设想,棍子的一端垂直移动,另一端按水平线在井底移动。根据高等数学的原理可以得知,距离为r的点会沿着椭圆曲线移动……井口直径为1.231个度量单位。
最后结果是37/30,与4000年后人们用高等数学计算出来的数只相差两个基点(2‰)。1、2、3出来了1.231哦。
下面是相似三角形的方法:
1.png
   
2.png

画图程序。字用kolourpaint写上去的
3.gif
4.gif
  1. s = lambda x: int(100 * x)
  2. from PIL import Image, ImageDraw
  3. img = Image.new('RGB', (s(1.3), s(3)), 'white')
  4. draw = ImageDraw.Draw(img)
  5. from math import sqrt
  6. d = 1.231; d2 = d * d; d = s(d)
  7. a = s(sqrt(9 - d2))
  8. b = s(sqrt(4 - d2))
  9. x = s(d / b) # 相似三角形
  10. w = 2
  11. c = (0, 0, 0)
  12. draw.line(((0, 0), (0, a)), c, w)
  13. draw.line(((0, a), (d, a)), c, w)
  14. draw.line(((d, a), (d, a - b)), c, w)
  15. draw.line(((0, 0), (d, a)), (255, 0, 0), w)
  16. draw.line(((0, a), (d, a - b)), (0, 255, 0), w)
  17. draw.line(((x, a), (x, a - s(1))), (128, 0, 0), w)
  18. img.save('w.png')
复制代码
View Code以前我用sympy解这个方程得到了解析解,特别长的一串根式套根式,今天sympy半天出不来,所以验证和nsolve:
  1. d = 1.23118
  2. for i in range(100):
  3.   d += 1E-6
  4.   x = (9 - d*d) ** 0.5
  5.   y = (4 - d*d) ** 0.5
  6.   e = abs(x + y - x*y)
  7.   if e < 1E-6:  print(d, e); break
  8. from sympy import *
  9. d = symbols('d')
  10. x = (9 - d*d) ** 0.5
  11. y = (4 - d*d) ** 0.5
  12. print(nsolve(x + y - x*y, d, 1.2))
  13. #print(solve(x + y - x*y, d))
  14. t = symbols('t')
  15. x = (9 - t) ** 0.5
  16. y = (4 - t) ** 0.5
  17. print(solve(x + y - x*y, t)[0] ** 0.5)
  18. 1.2311859999999994 4.461343507955462e-07
  19. 1.23118572377867
  20. 1.23118572377867
复制代码
这个〕网站公式可以换行。上述公式的LaTex代码如下:
5.gif
6.gif
  1. \frac{1}{x}=\frac{b}{d}\\[12pt]
  2. \frac{1}{y}=\frac{a}{d}\\[12pt]
  3. \frac{1}{x}+\frac{1}{y}=1\\[12pt]
  4. x+y=xy
复制代码
View Code〔替换法和sympy解方程5例
这样算可以(好像以前更长的):
>>> e=sqrt(9-t)+sqrt(4-t)-sqrt((9-t)*(4-t))
>>> e2=solve(e,t)[0]
>>> 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

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册