眼看着2月14号就要到来了,又是一年一度的画红心装13的时候,这种事情已经被我BS了,请猛击:《画❤️装geek什么的,都弱爆了!😜》。红心已经没什么好画的了,特别是在我画了生日蛋糕,并用蛋糕画红心之后,《130岁了,祝你生快》,是驴子是马,都没法晒肌肉了。当然红心还是会有所谓的理工宅男晒,除此之外还会有各种花招,来给单身狗撒狗粮。想要加入撒狗粮大军的,快点看《如何告别单身》。

单身狗除了吃朋友圈的精神狗粮,还可以一手画个不正经的图娱乐自己,《正经的图千篇一律,不正经的叔万里挑一》,另一手翻翻八卦故事,《虐狗节来看一下这个裤衩都不要的故事》,左手右手慢动作,心里空荡荡的,就准秀恩爱晒红心,难道单身狗就不能也晒个心撒精神粮食给秀恩爱的爱狗人士?这道理我竟无言反驳。

来吧,人家画个怦然心动,我们就画个心碎了。红心容易画,因为是xy二元函数,随便就解了,散点或连线画出来,伤心就不同了,xyz三元,但只有一条不等式,不要试图去解它,contour就先拿出来试一下。

A contour plot is a graphical technique for representing a 3-dimensional surface by plotting constant z slices, called contours, on a 2-dimensional format. That is, given a value for z, lines are drawn for connecting the (x,y) coordinates where that z value occurs.

f <- function(x, y) 17*x^2 - 16*abs(x)*y + 17*y^2 + 150/abs(5*x + sin(5*y)) - 225
x = y = seq(-5, 5, length=100)
z <- outer(x, y, f)
d <- data.frame(x=x, y=rep(x, each=100), z=as.vector(z))
library(ggplot2)
ggplot(d, aes(x, y, z=z)) + geom_contour(breaks=10) + theme_void() + 
    ggtitle(expression(17*x^2 - 16*abs(x)*y + 17*y^2 + 150/abs(5*x + sin(5*y)) < 225))

看完你还想看