情人节特献之“我心永恒”

  • 极坐标中的心形[R]

预览:
heart1
代码:

1
2
3
4
library(plotrix)
t《-seq(-pi,pi,0.1)
r《-1-cos(t/2)
radial.plot(r,t,rp.type="p",lwd=3,line.col=2)
  • 2D的中国心[R]

预览:
heart2
代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#heart
n=30000
p=sort(runif(n,min=0,max=pi))
p=sin(p)+rnorm(n)
plot(sort(rnorm(n)),-p,col="red",pch="·",axes = F, ylab="",xlab=paste("By 微微    ",Sys.Date()),main="Happy Birthday")
#stars
p《-c()
q《-c()
rr《-c(0.68,rep(0.32,4))
#locator()定的下面坐标,精确但不准确。
m《-c(-1.2511927,-0.7707085,-0.5538095,-0.6129638,-0.8293381)
n《-c(-0.079779159,0.42312375,0.05632304,-0.45719796,-0.8440031)
for (k in c(1:5))
{
r=rr[k]
for (i in 1:5)
{
p[2*i-1]=sin(pi*18/90)/sin(pi*54/90)*r*sin(pi*(i*72+36)/90)
q[2*i-1]=sin(pi*18/90)/sin(pi*54/90)*r*cos(pi*(i*72+36)/90)
p[2*i]=sin(pi*18/90)/sin(pi*54/90)*0.38*r*sin(pi*(i*72+18)/90)
q[2*i]=sin(pi*18/90)/sin(pi*54/90)*0.38*r*cos(pi*(i*72+18)/90)
}
x=c(p[1],p[2],p[5],p[6],p[9],p[10],p[3],p[4],p[7],p[8],p[1])
y=c(q[1],q[2],q[5],q[6],q[9],q[10],q[3],q[4],q[7],q[8],q[1])
x=x+m[k]
y=y+n[k]
polygon(x, y, col="yellow",border = "yellow")
}
  • 3D的中国心[R]

预览:
snapshot01
代码(下载):mychina

  • 浪漫的表白

参看:浪漫的表白与猥琐的相思——几个有趣的R代码

  • 4D心[可能是Mathematica](未测试)

预览:
heart3
代码:

1
Manipulate[ContourPlot3D[((x^2 + 2y^2 + z^2+ Cos[w*t]/10 - 9/10)^3) / ((x^2 + y^2/9) * z^3) == 1, {x, -1.5, 1.5}, {y, -1.5, 1.5}, {z, -1.5, 1.5}], {w, 1, 10}, {t, 1, 10}]
  • 完整的心[Mathematica]

代码与预览:
heart4

  • 破碎的心[Mathematica]

代码与预览:
heart5

  • 3D红心[Mathematica]

代码与预览:
heart6

  • 参考资料

R怎么根据函数来画图形?
灌灌水庆庆生
【感动中国】“4D函数”打造“驿动之心”
爱的方程式
情人节特献:有心之函数必然就有分手函数
爱的方程式(加强版)