欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python编程实现打印笛卡尔之心

程序员文章站 2023-11-24 11:55:16
随着网剧《隐秘的角落》的热播,让法国数学家、哲学家笛卡尔重回大众视野,他的心形线也在剧情中抢尽风头。在隐秘的角落剧中,少年宫奥数老师张东升,在课上给同学们讲了这么一个故事:数学家笛卡尔流落到瑞典,邂逅了美丽的公主克里斯蒂娜。国王知道了这件事后,强行拆散了他们。后来,笛卡尔生病死去,在临死前给公主寄去了最后一封信,信中只有一行字:r=a(1-sinθ)。同样喜欢数学的公主最终解开了这个秘密——笛卡尔之心。下边笛卡尔写的!对,就这样子。好吧,抱歉有点瞎,这个爱情小说不应该看真人!看这个好了:....

python编程实现打印笛卡尔之心
随着网剧《隐秘的角落》的热播,让法国数学家、哲学家笛卡尔重回大众视野,他的心形线也在剧情中抢尽风头。

在隐秘的角落剧中,少年宫奥数老师张东升,在课上给同学们讲了这么一个故事:
数学家笛卡尔流落到瑞典,邂逅了美丽的公主克里斯蒂娜。国王知道了这件事后,强行拆散了他们。
后来,笛卡尔生病死去,在临死前给公主寄去了最后一封信,信中只有一行字:r=a(1-sinθ)。
同样喜欢数学的公主最终解开了这个秘密——笛卡尔之心。
python编程实现打印笛卡尔之心
下边笛卡尔写的!对,就这样子。
python编程实现打印笛卡尔之心
好吧,抱歉有点瞎,这个爱情小说不应该看真人!
看这个好了:
python编程实现打印笛卡尔之心

为了把这个表示出来,我们试着用python来打印一下这个‘浪漫色彩’的心形。

极坐标方程:ρ=a(1−sinθ)\rho = a (1-\sin\theta)ρ=a(1−sinθ)
也可以是这样:ρ=a(1−sinθ)

这里使用一下MATLIB来给我们打印出来(没版权),或者使用matplotlib打印。

import matplotlib.pyplot as plt
import numpy as np


Descartes = np.linspace(0.5*np.pi, 1.5*np.pi, 1000)
sintheta = np.sin(Descartes)
a = 1
y = a * sintheta * (1 - sintheta)
x = np.sqrt((1 - sintheta) ** 2 - y ** 2)
#x[::-1]步长为-1是反转x
x1 = np.hstack((x,-x[::-1]))  
y1 = np.hstack((y,y[::-1]))
plt.plot(x1, y1, c = 'r')
plt.show()

python编程实现打印笛卡尔之心

theta = np.linspace(0.0, 2 * np.pi, 1000)
a = 5
rho = a * (1 - np.sin(theta))
plt.subplot(polar=True)
plt.plot(theta, rho, c = 'r')
plt.show()

python编程实现打印笛卡尔之心

当然了,这么浪漫的爱情故事,真的是我们看到的那样子吗?

别闹了,和隐秘的角落里一样,事情远远比想象的更加复杂。
就比如 看过不关注,不加红心!
python编程实现打印笛卡尔之心

本文地址:https://blog.csdn.net/ailuoyi521/article/details/107069189