用“心”迎接情人节,用另一种形式表达爱意

1 情人节的来源

情人节又称圣瓦伦丁节,是西方的传统节日之一,在我国是每年的公历2月14日,是一年中最浪漫的节日,每个人表达爱意的方式不同,例如:和心爱的人看一场电影,为对方做一顿美味的饭菜,送一束美丽的鲜花,精心准备爱慕已久的礼物,惊喜连连。除了物质上的表示,从古到今,在不同领域都有浪漫的表达,例如,写一首情诗,画一条数学曲线—心形线,编程画一束花,特色的表达爱意的信物等。本文从数学和计算机的维度来探索情人节相关的浪漫。

2 数学知识

2.1 矩阵

行列式

前几年有数学专业的同学利用利用运算规则,模拟汉语表达,蕴含暖暖的浪漫。
利用三阶行列式的运算法则,来得出一句话,既体现出智慧,又包含了浪漫。

∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{vmatrix} a11a21a31a12a22a32a13a23a33= a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 − a 12 a 21 a 33 − a 11 a 23 a 32 a_{11} a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13} a_{21}a_{32} - a_{13}a_{22}a_{31} - a_{12}a_{21}a_{33} - a_{11}a_{23}a_{32} a11a22a33+a12a23a31+a13a21a32a13a22a31a12a21a33a11a23a32

下面只是形式上模仿,实际不能计算汉字哈!!!

∣ 我 生 爱 你 你 ∣ \begin{vmatrix} 我 & &生 \\ & 爱 & \\ 你& & 你 \end{vmatrix} = 我爱你一生爱你

2.2 心形线

心形线英文名称“Cardioid”,de Castillon 在1741年的提出的。

极坐标,属于二维坐标系统,创始人是牛顿,主要应用于数学领域,包括极轴和角度两个参数,在极坐标中, x x x ρ cos ⁡ θ \rho\cos\theta ρcosθ 代替, y y y ρ sin ⁡ θ \rho\sin\theta ρsinθ 代替。
ρ 2 = ( x 2 + y 2 ) ρ^{2}=(x^{2}+y^{2}) ρ2=(x2+y2)

极坐标方程: ρ = a ( 1 − s i n θ ) \rho = a(1-sin{\theta}) ρ=a(1sinθ)

心型线

#程序代码
import matplotlib.pyplot as plt
import numpy as np

a = plt.subplot(111,projection = 'polar')
#子图1行1列第1个图,采用极坐标
t = np.linspace(0,2*np.pi,180)
#0-360度,分成180份
a.plot(t,1-np.sin(t),'*',c='r')
#用*号,r是红色
plt.show()

这是浪漫吧?仅仅一个公式,在数学公式中,悄无声的表达了自己的爱意,收到这个公式就嫁了吧!

3 计算机画图—Turtle模块

python 功能十分强大,模块众多,其中画图模块,matplotlib、turtle,都可以画。

表白图

import turtle
import time

def LittleHeart():
    for i in range(200):
        turtle.right(1)
        turtle.forward(2)
love = input('请输入表白语句,默认为输入为"我爱你": ') 
me = input('请输入您心上人的姓名或者昵称: ')
if love == '':
    love = '我爱你'
#  默认:我爱你
turtle.setup(width=600, height=800) 
#窗口大小
turtle.color('red', 'pink')
#画笔和内部颜色
turtle.pensize(7)
#画笔粗细
turtle.speed(3)
#画的速度
turtle.up()
# 提笔
turtle.hideturtle()
# 隐藏笔
turtle.goto(0, -180)
# 从窗口中心为0,-180,靠下一点,这个坐标和画布大小有关系,不然会超出去
turtle.showturtle()
# 画线
turtle.down()
turtle.speed(1)
turtle.begin_fill()
turtle.left(140)
turtle.forward(224)
LittleHeart()
# 调用画爱心左边的顶部
turtle.left(120)
LittleHeart()
# 画下线
turtle.forward(224)
turtle.end_fill()
turtle.pensize(5)
turtle.up()
turtle.hideturtle()
# 在心中写字 一次
turtle.goto(0, 0)
turtle.showturtle()
turtle.color('#CD5C5C', 'pink')
turtle.write(love, font=('gungsuh', 30,), align="center")
# 在心中写字 font可以设置字体, align开始写字的位置
turtle.up()
turtle.hideturtle()
#爱心+字

#开始画花
def DegreeCurve(n, r, d=1):
    for i in range(n):
        turtle.left(d)
        turtle.circle(r, abs(d))
# 初始位置设定
s = 0.2 
# size
turtle.setup(0, 0)
turtle.pencolor("black")
turtle.fillcolor("red")
turtle.speed(50)
turtle.penup()
turtle.goto(0, 900*s)
turtle.pendown()
# 绘制花朵形状
turtle.begin_fill()
turtle.circle(200*s,30)
DegreeCurve(60, 50*s)
turtle.circle(200*s,30)
DegreeCurve(4, 100*s)
turtle.circle(200*s,50)
DegreeCurve(50, 50*s)
turtle.circle(350*s,65)
DegreeCurve(40, 70*s)
turtle.circle(150*s,50)
DegreeCurve(20, 50*s, -1)
turtle.circle(400*s,60)
DegreeCurve(18, 50*s)
turtle.fd(250*s)
turtle.right(150)
turtle.circle(-500*s,12)
turtle.left(140)
turtle.circle(550*s,110)
turtle.left(27)
turtle.circle(650*s,100)
turtle.left(130)
turtle.circle(-300*s,20)
turtle.right(123)
turtle.circle(220*s,57)
turtle.end_fill()
turtle.done()
# 点击窗口关闭

if __name__ == '__main__':
    window = turtle.Screen()
    window.exitonclick()

浪漫和复杂的展示形式还有很多,简单入门!

情人节快乐,祝有情人终成眷属!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值