程序员的520花式绘制爱心代码大全

您所在的位置:网站首页 拨号代码大全可复制的软件 程序员的520花式绘制爱心代码大全

程序员的520花式绘制爱心代码大全

2024-07-12 08:51| 来源: 网络整理| 查看: 265

声明:代码是祖传代码,我不知道原创是谁了,修修改改。主要是为了给情侣们用,虽然自己贵为单身狗。

一、花式浪漫爱心(一)

跳过爱心 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'); % 请在此处进行您的演讲!% 请在此处进行您的演讲! T = suptitle("$I\ Love\ U\ !$"); % 请在此处进行您的演讲!% 请在此处进行您的演讲! 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导入turtle模块进行设计 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) # 移动画笔到指定起始坐标(窗口中心为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) # 画笔粗细 turtle.speed(1) # 描绘速度 # 初始化画笔起始坐标 move_pen_position(x=0, y=-180) # 移动画笔位置 turtle.left(140) # 向左旋转140度 turtle.begin_fill() # 标记背景填充位置 # 1-4画图和展示 turtle.forward(224) # 向前移动画笔,长度为224 # 画爱心圆弧 hart_arc() # 左侧圆弧 turtle.left(120) # 调整画笔角度 hart_arc() # 右侧圆弧 # 画心形直线( 右下方 ) turtle.forward(224) turtle.end_fill() # 标记背景填充结束位置 move_pen_position(x=70, y=160) # 移动画笔位置 turtle.left(185) # 向左旋转180度 turtle.circle(-110, 185) # 右侧圆弧 # 画心形直线( 右下方 ) # turtle.left(20) # 向左旋转180度 turtle.forward(50) move_pen_position(x=-180, y=-180) # 移动画笔位置 turtle.left(180) # 向左旋转140度 # 画心形直线( 左下方 ) turtle.forward(600) # 向前移动画笔,长度为224 # 在心形中写上表白话语 move_pen_position(0, 50) # 表白语位置 turtle.hideturtle() # 隐藏画笔 turtle.color('#CD5C5C', 'pink') # 字体颜色 # font:设定字体、尺寸(电脑下存在的字体都可设置) 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点击窗口关闭程序 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)#画完复位 lv.end_fill() def tree(branchLen,t): if branchLen > 5:#剩余树枝太少要结束递归 if branchLen


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3