python绘制笛卡尔心形线——左半边红色,右半边蓝色

本文介绍如何使用参数方程绘制心形线,并通过Python代码实现一半红色一半蓝色的心形线效果。文章提供了完整的代码示例,包括设置字体、定义参数方程、确定t的取值范围等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看完了《隐秘的角落》,除了被玩坏的爬上梗之外。
在这里插入图片描述
还有一个贯穿始终的小故事——关于笛卡尔的心形线的故事。两个版本的故事,一个是美好的童话,一个是残忍的真相。

参数方程

暂且不谈你是愿意相信童话还是愿意相信真相,我们先看下心形线的函数的参数方程。

x=a*(2cos(t)-cos(2t))
y=a*(2sin(t)-sin(2t))

知道了方程,那么我们要实现一半红色一半蓝色的效果也就好说了,a是常数,我们随意赋个值就好,代码中我赋的值为80。接着确定t的取值范围就可以绘图了,分别为:

-π<t<0
0<t<π

实现效果

先上效果图如下:
在这里插入图片描述

代码实现

具体实现代码如下:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

#定义参数方程
def X(a,t):
    return a*(2*np.sin(t)-np.sin(2*t))

def Y(a,t):
    return a * (2*np.cos(t) - np.cos(2 * t))

#绘制左半边
t1=[i for i in np.arange(-np.pi,0,0.01)]
x1=[X(80,i) for i in t1]
y1=[Y(80,i) for i in t1]
plt.title("爬山吗?")
plt.plot(x1,y1,color='r')
plt.text(-150,-50,'fairy',color='r')

#绘制右半边
t2=[i for i in np.arange(0,np.pi,0.01)]
x2=[X(80,i) for i in t2]
y2=[Y(80,i) for i in t2]
plt.plot(x2,y2,color='b')
plt.text(150,-50,'truth',color='b')
plt.show()

好了,现在你可以相信
在这里插入图片描述


更多精彩内容可以康康这个公众号↓
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Demonslzh6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值