今天是情人节,有粉丝私信我想要表白代码,所以博主快马加鞭写了一个3D玫瑰花代码,话不多说,先看效果:

附上全部源码如下:


<!DOCTYPE HTML>
<html>
<head>
<title>情人节快乐</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="margin-left:200px">
<div style="text-align: center"><canvas id="c"></canvas>
</div><script type="text/javascript">var canvas = document.getElementsByTagName('canvas')[0];var context = canvas.getContext('2d');var a = context;var b = document.body;var c = canvas;document.body.clientWidth;var zBuffer = [];var SIZE = 777;canvas.width = canvas.height = SIZE;var h = -350;function surface(a, b, c) {if (c > 60) {return {x : Math.sin(a * 7) * (13 + 5 / (.2 + Math.pow(b * 4, 4)))  - Math.sin(b) * 50,y : b * SIZE + 50,z : 625 + Math.cos(a * 7)   * (13 + 5 / (.2 + Math.pow(b * 4, 4))) + b * 400,r : a * 1 - b / 2,  g : a  };}var A = a * 2 - 1;var B = b * 2 - 1;if (A * A + B * B < 1) {if (c > 37) {var j = c & 1;var n = j ? 6 : 4;var o = .5 / (a + .01) + Math.cos(b * 125) * 3 - a * 300;var w = b * h;return {x : o * Math.cos(n) + w * Math.sin(n) + j * 610 - 390,y : o * Math.sin(n) - w * Math.cos(n) + 550 - j * 350,z : 1180 + Math.cos(B + A) * 99 - j * 300,r : .4  - a  * .1   + Math.pow(1 - B * B, -h * 6)  * .15  - a  * b  * .4   + Math.cos(a + b)  / 5   + Math.pow(Math.cos((o * (a + 1) + (B > 0 ? w  : -w)) / 25), 30) * .1 * (1 - B * B),  g : o / 1e3 + .7 - o * w * 3e-6};}if (c > 32) {c = c * 1.16 - .15;var o = a * 45 - 20;var w = b * b * h;var z = o * Math.sin(c) + w * Math.cos(c) + 620;return {x : o * Math.cos(c) - w * Math.sin(c),y : 28 + Math.cos(B * .5) * 99 - b * b * b * 60 - z / 2  - h,z : z,r : (b * b * .3 + Math.pow((1 - (A * A)), 7) * .15 + .3)  * b,g : b * .7};}var o = A * (2 - b) * (80 - c * 2);var w = 99 - Math.cos(A) * 120 - Math.cos(b) * (-h - c * 4.9)  + Math.cos(Math.pow(1 - b, 7)) * 50 + c * 2;var z = o * Math.sin(c) + w * Math.cos(c) + 700;return {x : o * Math.cos(c) - w * Math.sin(c),y : B * 99 - Math.cos(Math.pow(b, 7)) * 50 - c / 3 - z  / 1.35 + 450,  z : z,r : (1 - b / 1.2) * .9 + a * .1,g : Math.pow((1 - b), 20) / 4 + .05};}}setInterval(function() {for ( var i = 0; i < 10000; i++) {var part = i % 46;var c = part / .74;var point = surface(Math.random(), Math.random(), c);if (point) {var z = point.z;var x = parseInt(point.x * SIZE / z - h);var y = parseInt(point.y * SIZE / z - h);var zBufferIndex = y * SIZE + x;if ((typeof zBuffer[zBufferIndex] === "undefined")  || (zBuffer[zBufferIndex] > z)) {zBuffer[zBufferIndex] = z;var r = -parseInt(point.r * h);  var g = -parseInt(point.g * h);var b = -parseInt(point.r * point.r * -80);context.fillStyle = "rgb(" + r + "," + g + "," + b  + ")";// context.fillStyle = "skyblue";context.fillRect(x, y, 1, 1);}}}}, 0);</script></body>
</html>

赶快拿去试试吧,表白成功的小伙伴记得在评论区留言哦,最后祝愿大家:有情人终成眷属。

情人节到了,教你用代码做个3D玫瑰送给她相关推荐

  1. 每日一技:给女友用代码做一个3D旋转相册,每天亿遍忘记初恋~

    前言 不会表白?!我来教你给女朋友或者正在追求的妹子一点小惊喜~ 今天这篇文章就是演示给女友做一个3D旋转相册,学会的小伙伴可以给自己的女朋友或者喜欢的女生做一个,相比几百上千的礼物,零成本的技术实现 ...

  2. 程序员最美的情人节玫瑰花,JAVA代码实现的3D玫瑰噢

    用纯javascript脚本编写的神奇3D圣诞树,令人印象深刻.2月14日情人节就要来临了,还是Roman Cortes,这次他又带来了用javascript脚本编写的红色玫瑰花.用代码做出的玫瑰花, ...

  3. 用python代码做个圣诞树,送给心爱的她

    心思快要圣诞节了,就给我家小可爱做个一颗只属于她的圣诞树,希望她会喜欢.在此分享在这里,希望大家也可以借鉴借鉴,送给心爱的她 import turtle as t import random# 爱心函 ...

  4. python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  5. python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  6. 干货 | 手把手教你用115行代码做个数独解析器!(附代码)

    来源:大数据文摘 本文约4000字,建议阅读8分钟. 本文教你用代码做数独解析器. 你也是数独爱好者吗? Aakash Jhawar和许多人一样,乐于挑战新的难题.上学的时候,他每天早上都要玩数独.长 ...

  7. java玫瑰花代码_教小白用Html代码做玫瑰花

    3.用记事本打开文件,复制下面的代码到文件中,保存. 情人节玫瑰 送给xxx的花

  8. ❀520七夕情人节告白网页代码❀—浪漫梦幻3D相册(樱花主题)HTML+CSS+JavaScript

    ❀ 520七夕情人节告白网页代码❀-浪漫梦幻3D相册(樱花主题)HTML+CSS+JavaScript 520七夕节告白,也就是中国的情人节,你除了送花你还会什么?? 快来制作高端大气上档次的D立体动 ...

  9. 手把手教你用C#做疫情传播仿真

    手把手教你用C#做疫情传播仿真 在上篇文章中,我介绍了用 C#做的疫情传播仿真程序的使用和配置,演示了其运行效果,但没有着重讲其中的代码. 今天我将抽丝剥茧,手把手分析程序的架构,以及妙趣横生的细节. ...

最新文章

  1. 本地windows上传大文件到Linux服务器工具的选择以及使用方法
  2. 集群scan_扫描k8s集群中的漏洞
  3. Leetcode1700. 无法吃午餐的学生数量[C++题解]:模拟题简单,用queue
  4. Xposed框架实战
  5. 深入理解ElasticSearch(八):索引管理
  6. resopnse处理HTTP文件头
  7. Java 并发编程之可重入锁 ReentrantLock
  8. WPF后台自定义文字带背景的选择状态按钮
  9. Illustrator 教程,如何在 Illustrator 中更改角色的姿势?
  10. mssql 查询无记录时sum_SQL常见面试题查询
  11. java深拷贝和浅拷贝
  12. python里lambda和filter和map的用法_python中lambda以及与filter/map/reduce结合的用法
  13. 小米 android 7.0下载地址,小米5安卓7.0公测版固件下载地址 仅限开发版
  14. php 结巴分词,将开源PHP组件注册为服务提供者,以结巴分词为例
  15. sql server order by 的一些高级用法
  16. 权重较高的几个分类信息网站
  17. python爬虫采集财经数据
  18. 20190118 阿耐---《艰难的制造》
  19. 天下数据支招虚拟主机的挑选
  20. sql 查询记录条数

热门文章

  1. 决战设计模式之巅01——设计模式导论
  2. python的持久化存储文件操作
  3. Permissions 0777 for ‘***’ are too open
  4. Ccf跳一跳java,CCF跳一跳Java(201803CCF第1题)
  5. 制表符和空格 python_Python编程中的制表符与空格
  6. Java之List详解
  7. 微型计算机的主板又称为,供电设计比7999元的主板还猛,ROG M11A主板首次亮相
  8. 这些鲜为人知的前端冷知识,你都GET了吗?
  9. 易语言大漠如何判断游戏登录成功
  10. Mr.Alright---基于安卓O(8.0)三指截屏的实现