聲明:代碼是祖?zhèn)鞔a,我不知道原創(chuàng)是誰了,修修改改。主要是為了給情侶們用,雖然自己貴為單身狗。
一、花式浪漫愛心(一)
matlab代碼:
clear; clc; close all;
% NOTICE: Your MATLAB version should be at least R2019a !
% --------------------------- functions -------------------------------
f = @(x, y, z)(x.^2 + 2.25*y.^2 + z.^2 - 1).^3 - ...
x.^2.* z.^3 - 0.1125*y.^2.*z.^3;
g = @(x, y, z)(sqrt(x.^2+y.^2)-2.5).^2 + z.^2 - 0.4^2;
% -------------------------- generate data ----------------------------
t = linspace(-5, 5);
[x1, y1, z1] = meshgrid(t);
[x2, y2, z2] = meshgrid(t);
val1 = f(x1, y1, z1);
val2 = g(x2, y2, z2);
[p1, v1] = isosurface(x1, y1, z1, val1, 0);
[p2, v2] = isosurface(x2, y2, z2, val2, 0);
% --------------------------- basic plot ------------------------------
figure()
subplot(1, 1, 1)
h = patch('faces',p1,'vertices',v1,'facevertexcdata',jet(size(v1,1)),...
'facecolor','w','edgecolor','flat'); hold on;
patch('faces',p2,'vertices',v2,'facevertexcdata',jet(size(v2,1)),...
'facecolor','w','edgecolor','flat');
grid on; axis equal; axis([-3,3,-3,3,-1.5,1.5]); view(3)
title(["$(x^2+\frac{9}{4}y^2+z^2-1)^3-x^2z^3-\frac{9}{80}y^2z^3=0$",...
"$(\sqrt{x^2+y^2}-R)^2 +z^2 = r^2$"],'Interpreter','latex','position',[3.3,4])
warning('off');
% 請?jiān)诖颂庍M(jìn)行您的演講!% 請?jiān)诖颂庍M(jìn)行您的演講!
T = suptitle("$I\ Love\ U\ !$");
% 請?jiān)诖颂庍M(jìn)行您的演講!% 請?jiān)诖颂庍M(jìn)行您的演講!
set(T,'Interpreter','latex','FontSize',24)
% -------------------------- generate gif -----------------------------
pic_num = 1;
for i = 1:20
v1 = 0.98 * v1;
set(h, 'vertices', v1); drawnow;
F = getframe(gcf);
I = frame2im(F);
[I,map]=rgb2ind(I,256);
if pic_num == 1
imwrite(I,map,'BeatingHeart.gif','gif','Loopcount',inf,'DelayTime',0.05);
else
imwrite(I,map,'BeatingHeart.gif','gif','WriteMode','append','DelayTime',0.05);
end
pic_num = pic_num + 1;
end
for i = 1:20
v1 = v1 / 0.98;
set(h, 'vertices', v1); drawnow;
F = getframe(gcf);
I = frame2im(F);
[I,map] = rgb2ind(I,256);
imwrite(I,map,'BeatingHeart.gif','gif','WriteMode','append','DelayTime',0.05);
pic_num = pic_num + 1;
end
% ----------------------------- dynamic -------------------------------
while true
for i = 1:20
v1 = 0.98 * v1;
set(h, 'vertices', v1); drawnow;
end
for i = 1:20
v1 = v1 / 0.98;
set(h, 'vertices', v1); drawnow;
end
end
% ------------------------------- end ---------------------------
二、花式浪漫愛心(二)
matlab代碼如下:
%愛心1
clear all
clc
f=@(x,y,z)(x.^2+ (9./4).*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9./80).*y.^2.*z.^3;
[x,y,z]=meshgrid(linspace(-3,3));
val=f(x,y,z);
[p,v]=isosurface(x,y,z,val,0);
patch('faces',p,'vertices',v,'facevertexcdata',jet(size(v,1)),'facecolor','w','edgecolor','flat');
view(3);grid on;axis equal;
三、花式浪漫愛心(三)
python代碼:
# 1-1導(dǎo)入turtle模塊進(jìn)行設(shè)計(jì)
import turtle
import time
# 1-2畫心形圓弧
def hart_arc():
for i in range(200):
turtle.right(1)
turtle.forward(2)
def move_pen_position(x, y):
turtle.hideturtle() # 隱藏畫筆(先)
turtle.up() # 提筆
turtle.goto(x, y) # 移動畫筆到指定起始坐標(biāo)(窗口中心為0,0)
turtle.down() # 下筆
turtle.showturtle() # 顯示畫筆
love = input("請輸入表白話語:")
signature = input("請簽署你的名字:")
date = input("請寫上日期:")
if love == '':
love = 'I Love You'
# 1-3初始化
turtle.setup(width=800, height=500) # 窗口(畫布)大小
turtle.color('red', 'pink') # 畫筆顏色
turtle.pensize(3) # 畫筆粗細(xì)
turtle.speed(1) # 描繪速度
# 初始化畫筆起始坐標(biāo)
move_pen_position(x=0, y=-180) # 移動畫筆位置
turtle.left(140) # 向左旋轉(zhuǎn)140度
turtle.begin_fill() # 標(biāo)記背景填充位置
# 1-4畫圖和展示
turtle.forward(224) # 向前移動畫筆,長度為224
# 畫愛心圓弧
hart_arc() # 左側(cè)圓弧
turtle.left(120) # 調(diào)整畫筆角度
hart_arc() # 右側(cè)圓弧
# 畫心形直線( 右下方 )
turtle.forward(224)
turtle.end_fill() # 標(biāo)記背景填充結(jié)束位置
move_pen_position(x=70, y=160) # 移動畫筆位置
turtle.left(185) # 向左旋轉(zhuǎn)180度
turtle.circle(-110, 185) # 右側(cè)圓弧
# 畫心形直線( 右下方 )
# turtle.left(20) # 向左旋轉(zhuǎn)180度
turtle.forward(50)
move_pen_position(x=-180, y=-180) # 移動畫筆位置
turtle.left(180) # 向左旋轉(zhuǎn)140度
# 畫心形直線( 左下方 )
turtle.forward(600) # 向前移動畫筆,長度為224
# 在心形中寫上表白話語
move_pen_position(0, 50) # 表白語位置
turtle.hideturtle() # 隱藏畫筆
turtle.color('#CD5C5C', 'pink') # 字體顏色
# font:設(shè)定字體、尺寸(電腦下存在的字體都可設(shè)置) align:中心對齊
turtle.write(love, font=('Arial', 20, 'bold'), align="center")
# 簽寫署名和日期
if (signature != '') & (date != ''):
turtle.color('red', 'pink')
time.sleep(2)
move_pen_position(220, -180)
turtle.hideturtle() # 隱藏畫筆
turtle.write(signature, font=('Arial', 20), align="center")
move_pen_position(220, -220)
turtle.hideturtle() # 隱藏畫筆
turtle.write(date, font=('Arial', 20), align="center")
# 1-5點(diǎn)擊窗口關(guān)閉程序
window = turtle.Screen()
window.exitonclick()
四、花式浪漫(四)
python代碼:
# coding=gbk
"""
作者:川川
@時間 : 2022/5/20 2:50
"""
import turtle
import random
def love(x,y):#在(x,y)處畫愛心lalala
lv=turtle.Turtle()
lv.hideturtle()
lv.up()
lv.goto(x,y)#定位到(x,y)
def curvemove():#畫圓弧
for i in range(20):
lv.right(10)
lv.forward(2)
lv.color('red','pink')
lv.speed(10000000)
lv.pensize(1)
#開始畫愛心lalala
lv.down()
lv.begin_fill()
lv.left(140)
lv.forward(22)
curvemove()
lv.left(120)
curvemove()
lv.forward(22)
lv.write("思思",font=("Arial",12,"normal"),align="center")
lv.left(140)#畫完復(fù)位
lv.end_fill()
def tree(branchLen,t):
if branchLen > 5:#剩余樹枝太少要結(jié)束遞歸
if branchLen<20:#如果樹枝剩余長度較短則變綠
t.color("green")
t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
t.down()
t.forward(branchLen)
love(t.xcor(),t.ycor())#傳輸現(xiàn)在turtle的坐標(biāo)
t.up()
t.backward(branchLen)
t.color("brown")
return
t.pensize(random.uniform((branchLen+5)/4-2,(branchLen+6)/4+5))
t.down()
t.forward(branchLen)
# 以下遞歸
ang=random.uniform(15,45)
t.right(ang)
tree(branchLen-random.uniform(12,16),t)#隨機(jī)決定減小長度
t.left(2*ang)
tree(branchLen-random.uniform(12,16),t)#隨機(jī)決定減小長度
t.right(ang)
t.up()
t.backward(branchLen)
myWin = turtle.Screen()
t = turtle.Turtle()
t.hideturtle()
t.speed(1000)
t.left(90)
t.up()
t.backward(200)
t.down()
t.color("brown")
t.pensize(32)
t.forward(60)
tree(100,t)
myWin.exitonclick()
五、花式浪漫(五)
演示:
前端浪漫表白
網(wǎng)站可訪問:
已部署到網(wǎng)址,可訪問:https://yanghanwen.xyz/ai/
此網(wǎng)站用不變更,致曾最愛的人。也許那個人永遠(yuǎn)都看不到我的這個網(wǎng)站了。
源碼:
前端源碼文件太多,百度網(wǎng)盤下載:
鏈接:https://pan.baidu.com/s/10ubZKHiyEGdW3qYG_UNS6Q?pwd=zgxk
提取碼:zgxk
六、花式浪漫(六)
演示:
前端表白源碼
網(wǎng)站:
可訪問網(wǎng)址(建議用電腦):https://yanghanwen.xyz/ai1/
此網(wǎng)站用不變更,致曾最愛的人。也許那個人永遠(yuǎn)都看不到我的這個網(wǎng)站了。
源碼文件:
鏈接:https://pan.baidu.com/s/1XcMeF5f3AD7sEeHaWpYEOQ?pwd=oc79
提取碼:oc79
七、簡約愛心(一)
python代碼:
import matplotlib.pyplot as plt
import numpy as np
from decimal import Decimal
from decimal import getcontext
import time
def heartfunc(x, y):
return (x ** 2 + y ** 2 - 1) ** 3 - x ** 2 * y ** 3 <= 0
def cal_pi(precision):
getcontext().prec = precision
return sum(1 / Decimal(16) ** k *
(Decimal(4) / (8 * k + 1) -
Decimal(2) / (8 * k + 4) -
Decimal(1) / (8 * k + 5) -
Decimal(1) / (8 * k + 6)) for k in range(precision))
def printer(text, delay=0.1314):
for ch in text:
print(ch, end='', flush=True)
time.sleep(delay)
if __name__ == '__main__':
n = 1314
x = np.linspace(-2, 2, n)
y = np.linspace(-2, 2, n)
X, Y = np.meshgrid(x, y)
plt.contourf(X, Y, heartfunc(X, Y), cmap=plt.cm.autumn)
# Colour Query https://matplattlib.org/examples/color/collormaps_reference.html
plt.title("5201314")
plt.show()
loveInPi = str(cal_pi(1314))
heart = ['5', '2', '0', '1', '3', '1', '4']
iloveyou = "5201314"
love = ""
i, j = 0, 0
while love != iloveyou:
if loveInPi[i] == heart[j]:
love += loveInPi[i]
j += 1
i += 1
八、簡約愛心(二)
python代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-777732.html
# coding=gbk
"""
作者:川川
@時間 : 2022/5/20 2:46
"""
# -*- coding:utf-8 -*-
import turtle
import time
# 畫愛心的頂部
def LittleHeart():
for i in range(200):
turtle.right(1)
turtle.forward(2)
# 輸入表白的語句,默認(rèn)I Love you
love = input('請輸入表白語句,默認(rèn)為輸入為"I Love you": ')
# 輸入署名或者贈誰,沒有不執(zhí)行
me = input('請輸入您心上人的姓名或者昵稱: ')
if love == '':
love = 'I Love you'
# 窗口大小
turtle.setup(width=800, height=500)
# 顏色
turtle.color('red', 'pink')
# 筆粗細(xì)
turtle.pensize(5)
# 速度
turtle.speed(1)
# 提筆
turtle.up()
# 隱藏筆
turtle.hideturtle()
# 去到的坐標(biāo),窗口中心為0,0
turtle.goto(0, -180)
turtle.showturtle()
# 畫上線
turtle.down()
turtle.speed(1)
turtle.begin_fill()
turtle.left(140)
turtle.forward(224)
# 調(diào)用畫愛心左邊的頂部
LittleHeart()
# 調(diào)用畫愛右邊的頂部
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')
# 在心中寫字 font可以設(shè)置字體自己電腦有的都可以設(shè) align開始寫字的位置
turtle.write(love, font=('gungsuh', 30,), align="center")
turtle.up()
turtle.hideturtle()
time.sleep(2)
# 在心中寫字 二次
turtle.goto(0, 0)
turtle.showturtle()
turtle.color('red', 'pink')
turtle.write(love, font=('gungsuh', 30,), align="center")
turtle.up()
turtle.hideturtle()
# 寫署名
if me != '':
turtle.color('black', 'pink')
time.sleep(2)
turtle.goto(180, -180)
turtle.showturtle()
turtle.write(me, font=(20,), align="center", move=True)
# 點(diǎn)擊窗口關(guān)閉
window = turtle.Screen()
window.exitonclick()
九、關(guān)于源碼
具體文字自行調(diào)整,可運(yùn)行,祝天下有情人終成眷屬。當(dāng)我忙完一天所有事的時候,已經(jīng)凌晨兩點(diǎn)多了,突然想起520這樣的日子,發(fā)現(xiàn)自己還是一個人過,不過還是希望各位好好珍惜身邊擁有,有個愛的你人不容易,好好愛護(hù),不要等到失去才懂得珍惜,我的所有表白系列元素都是她一個人吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-777732.html
到了這里,關(guān)于程序員的520花式繪制愛心代碼大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!