前端开发 之 12个鼠标交互特效上【附完整源码】

前端开发 之 12个鼠标交互特效上【附完整源码】

文章目录

  • 前端开发 之 12个鼠标交互特效上【附完整源码】
      • 一:彩色空心爱心滑动特效
          • 1.效果展示
          • 2.`HTML`完整代码
      • 二:彩色实心爱心滑动特效
          • 1.效果展示
          • 2.`HTML`完整代码
      • 三:粒子连结特效
          • 1.效果展示
          • 2.`HTML`完整代码
      • 四:彩色拖尾特效
          • 1.效果展示
          • 2.`HTML`完整代码
      • 五:彩色粒子收回特效
          • 1.效果展示
          • 2.`HTML`完整代码
      • 六:彩色粒子交互特效
          • 1.效果展示
          • 2.`HTML`完整代码

一:彩色空心爱心滑动特效

1.效果展示

在这里插入图片描述

2.HTML完整代码
<!doctype html>
<html>
<head><meta charset="utf-8"><title>超级炫酷的爱心滑动特效</title><style>body {overflow: hidden;margin: 0;background: #222;}canvas {display: block;}</style>
</head><body><canvas></canvas><script>var canvas = document.querySelector("canvas"),ctx = canvas.getContext("2d");var ww, wh;function onResize() {ww = canvas.width = window.innerWidth;wh = canvas.height = window.innerHeight;}function randomColor() {return `hsla(${Math.random() * 360}, 100%, 60%, 1)`;}var precision = 100;var hearts = [];var mouseMoved = false;function onMove(e) {mouseMoved = true;for (let i = 0; i < 5; i++) { // 生成更多的爱心let x, y;if (e.type === "touchmove") {x = e.touches[0].clientX;y = e.touches[0].clientY;} else {x = e.clientX;y = e.clientY;}hearts.push(new Heart(x, y));}}var Heart = function (x, y) {this.x = x || Math.random() * ww;this.y = y || Math.random() * wh;this.size = Math.random() * 4 + 1;this.shadowBlur = Math.random() * 20;this.speedX = (Math.random() - 0.5) * 10;this.speedY = (Math.random() - 0.5) * 10;this.speedSize = Math.random() * 0.05 + 0.01;this.opacity = 1;this.color = randomColor();this.vertices = [];for (var i = 0; i < precision; i++) {var step = (i / precision - 0.5) * (Math.PI * 2);var vector = {x: (15 * Math.pow(Math.sin(step), 3)),y: -(13 * Math.cos(step) - 5 * Math.cos(2 * step) - 2 * Math.cos(3 * step) - Math.cos(4 * step))}this.vertices.push(vector);}}Heart.prototype.draw = function () {this.size -= this.speedSize;this.x += this.speedX;this.y += this.speedY;ctx.save();ctx.translate(this.x, this.y);ctx.scale(this.size, this.size);ctx.beginPath();ctx.strokeStyle = this.color;ctx.shadowBlur = this.shadowBlur;ctx.shadowColor = this.color;for (var i = 0; i < precision; i++) {var vector = this.vertices[i];ctx.lineTo(vector.x, vector.y);}ctx.globalAlpha = this.size;ctx.closePath();ctx.stroke();ctx.restore();};function render(a) {requestAnimationFrame(render);ctx.clearRect(0, 0, ww, wh);for (var i = 0; i < hearts.length; i++) {hearts[i].draw();if (hearts[i].size <= 0) {hearts.splice(i, 1);i--;}}}onResize();window.addEventListener("mousemove", onMove);window.addEventListener("touchmove", onMove);window.addEventListener("resize", onResize);requestAnimationFrame(render);</script>
</body>
</html>

二:彩色实心爱心滑动特效

1.效果展示

在这里插入图片描述

2.HTML完整代码
<!doctype html>
<html>
<head><meta charset="utf-8"><title>滑动爱心</title><style>body {overflow: hidden;margin: 0;background: linear-gradient(to right, #ff9a9e, #fad0c4);height: 100vh;display: flex;justify-content: center;align-items: center;}canvas {position: absolute;top: 0;left: 0;}</style>
</head>
<body><canvas></canvas><script>var canvas = document.querySelector("canvas"),ctx = canvas.getContext("2d");var ww, wh;function onResize() {ww = canvas.width = window.innerWidth;wh = canvas.height = window.innerHeight;}var precision = 50;var hearts = [];var mouseMoved = false;function onMove(e) {mouseMoved = true;var x, y;if (e.type === "touchmove") {x = e.touches[0].clientX;y = e.touches[0].clientY;} else {x = e.clientX;y = e.clientY;}hearts.push(new Heart(x, y));}var Heart = function (x, y) {this.x = x || Math.random() * ww;this.y = y || Math.random() * wh;this.size = Math.random() * 2 + 1;this.maxSize = this.size * 1.5;this.shadowBlur = Math.random() * 15;this.speedX = (Math.random() - 0.5) * 4;this.speedY = (Math.random() - 0.5) * 4;this.alpha = 1;this.fadeSpeed = Math.random() * 0.02 + 0.02;this.color = `hsl(${Math.random() * 360}, 100%, 50%)`;this.vertices = [];for (var i = 0; i < precision; i++) {var step = (i / precision - 0.5) * (Math.PI * 2);var vector = {x: (15 * Math.pow(Math.sin(step), 3)),y: -(13 * Math.cos(step) - 5 * Math.cos(2 * step) - 2 * Math.cos(3 * step) - Math.cos(4 * step))}this.vertices.push(vector);}}Heart.prototype.draw = function () {this.x += this.speedX;this.y += this.speedY;this.size += (this.maxSize - this.size) * 0.1;this.alpha -= this.fadeSpeed;ctx.save();ctx.translate(this.x, this.y);ctx.scale(this.size, this.size);ctx.beginPath();ctx.moveTo(0, 0);for (var i = 0; i < precision; i++) {var vector = this.vertices[i];ctx.lineTo(vector.x, vector.y);}ctx.closePath();ctx.fillStyle = this.color;ctx.globalAlpha = this.alpha;ctx.shadowBlur = this.shadowBlur;ctx.shadowColor = this.color;ctx.fill();ctx.restore();};function render(a) {requestAnimationFrame(render);ctx.clearRect(0, 0, ww, wh);for (var i = 0; i < hearts.length; i++) {hearts[i].draw();if (hearts[i].alpha <= 0) {hearts.splice(i, 1);i--;}}}onResize();window.addEventListener("mousemove", onMove);window.addEventListener("touchmove", onMove);window.addEventListener("resize", onResize);requestAnimationFrame(render);</script>
</body>
</html>

三:粒子连结特效

1.效果展示

在这里插入图片描述

2.HTML完整代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Enhanced Particle System with Cool Effects</title><style>body {margin: 0;overflow: hidden;background: linear-gradient(45deg, #000, #333);animation: bgGradient 10s ease infinite;}@keyframes bgGradient {0% { background-position: 0% 50%; }50% { background-position: 100% 50%; }100% { background-position: 0% 50%; }}canvas {display: block;}</style>
</head>
<body><canvas id="particleCanvas"></canvas>
</body>
<script>
const canvas = document.getElementById('particleCanvas');
const ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;let particlesArray = [];
const numberOfParticles = 50;
const mouse = {x: undefined,y: undefined,
};
const maxParticleLifeTime = 1; class Particle {constructor(x, y, initialLife = 1) {this.x = x || Math.random() * canvas.width;this.y = y || Math.random() * canvas.height;this.size = Math.random() * 2 + 1;this.speedX = (Math.random() - 0.5) * 2;this.speedY = (Math.random() - 0.5) * 2;this.color = `hsl(${Math.random() * 360}, 100%, 50%)`;this.alpha = 1;this.decay = Math.random() * 0.01 + 0.01;this.life = initialLife;this.trail = [];this.lifeTime = 0; }update() {this.x += this.speedX;this.y += this.speedY;if (this.x > canvas.width || this.x < 0) this.speedX *= -1;if (this.y > canvas.height || this.y < 0) this.speedY *= -1;if (mouse.x && mouse.y) {const dx = mouse.x - this.x;const dy = mouse.y - this.y;const distance = Math.sqrt(dx * dx + dy * dy);const force = 1 / distance * 20;this.speedX += (dx / distance) * force;this.speedY += (dy / distance) * force;}this.life -= this.decay;this.alpha = this.life;this.color = `hsl(${(1 - this.life) * 360}, 100%, 50%)`;this.lifeTime += 1 / 60; if (this.life <= 0 || this.lifeTime >= maxParticleLifeTime) {this.reset();}this.trail.push({ x: this.x, y: this.y });if (this.trail.length > 15) this.trail.shift();for (let otherParticle of particlesArray) {if (otherParticle !== this) {const dx = this.x - otherParticle.x;const dy = this.y - otherParticle.y;const distance = Math.sqrt(dx * dx + dy * dy);if (distance < 50) {const repelForce = 0.1 / distance;this.speedX -= (dx / distance) * repelForce;this.speedY -= (dy / distance) * repelForce;}}}}draw() {ctx.globalAlpha = this.alpha;ctx.fillStyle = this.color;ctx.beginPath();ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);ctx.closePath();ctx.fill();ctx.globalAlpha = 0.7 * this.alpha;ctx.beginPath();for (let i = 0; i < this.trail.length; i++) {ctx.lineTo(this.trail[i].x, this.trail[i].y);}ctx.strokeStyle = this.color;ctx.lineWidth = 0.5;ctx.stroke();ctx.closePath();}reset() {this.x = Math.random() * canvas.width;this.y = Math.random() * canvas.height;this.size = Math.random() * 2 + 1;this.speedX = (Math.random() - 0.5) * 4;this.speedY = (Math.random() - 0.5) * 4;this.color = `hsl(${Math.random() * 360}, 100%, 50%)`;this.alpha = 1;this.life = 1;this.decay = Math.random() * 0.01 + 0.01;this.trail = [];this.lifeTime = 0;}
}function init() {particlesArray = [];for (let i = 0; i < numberOfParticles; i++) {particlesArray.push(new Particle());}
}function animate() {ctx.clearRect(0, 0, canvas.width, canvas.height);for (let particle of particlesArray) {particle.update();particle.draw();}requestAnimationFrame(animate);
}window.addEventListener('resize', function() {canvas.width = window.innerWidth;canvas.height = window.innerHeight;init();
});window.addEventListener('mousemove', function(event) {mouse.x = event.x;mouse.y = event.y;
});window.addEventListener('mouseout', function() {mouse.x = undefined;mouse.y = undefined;
});window.addEventListener('click', function(event) {for (let i = 0; i < 30; i++) {const angle = Math.random() * 2 * Math.PI;const distance = Math.random() * 50;const x = event.x + Math.cos(angle) * distance;const y = event.y + Math.sin(angle) * distance;particlesArray.push(new Particle(x, y, 1));}
});init();
animate();
</script>
</html>

四:彩色拖尾特效

1.效果展示

在这里插入图片描述

2.HTML完整代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>1234</title><style>body, html {margin: 0;padding: 0;width: 100%;height: 100%;overflow: hidden;background-color: #000;}#trail-container {position: absolute;top: 0;left: 0;width: 100%;height: 100%;pointer-events: none;}.particle {position: absolute;width: 3px; /* 减小粒子大小 */height: 3px;background-color: #fff;border-radius: 50%;opacity: 1;transform: translate(-50%, -50%);pointer-events: none;mix-blend-mode: screen;}/* 为粒子添加一个更快的淡出动画 */@keyframes fadeOut {0% { opacity: 1; }100% { opacity: 0; }}.particle.fade {animation: fadeOut 0.5s ease-out forwards; /* 缩短动画持续时间 */}</style>
</head>
<body><div id="trail-container"></div><script>document.addEventListener('DOMContentLoaded', () => {const trailContainer = document.getElementById('trail-container');const particles = [];// 监听鼠标移动事件document.addEventListener('mousemove', (e) => {// 在鼠标位置创建粒子createParticle(e.clientX, e.clientY);});// 创建粒子function createParticle(x, y) {const particle = document.createElement('div');particle.classList.add('particle');particle.style.left = `${x}px`;particle.style.top = `${y}px`;// 使用随机颜色或固定颜色particle.style.backgroundColor = getRandomColor();trailContainer.appendChild(particle);particles.push(particle);// 几乎立即给粒子添加淡出动画setTimeout(() => {particle.classList.add('fade');// 动画结束后移除粒子particle.addEventListener('animationend', () => {particle.remove();particles.splice(particles.indexOf(particle), 1);});}, 100); // 非常短的延迟,几乎立即开始淡出}// 获取随机颜色function getRandomColor() {const letters = '0123456789ABCDEF';let color = '#';for (let i = 0; i < 6; i++) {color += letters[Math.floor(Math.random() * 16)];}return color;}// 定期清理,动画结束后粒子会自动移除setInterval(() => {particles.forEach(particle => {if (particle.classList.contains('fade')) {particle.remove();particles.splice(particles.indexOf(particle), 1);}});}, 1000);});</script>
</body>
</html>

五:彩色粒子收回特效

1.效果展示

在这里插入图片描述

2.HTML完整代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Enhanced Particle System with Gravity and Wind</title><style>body, html {margin: 0;padding: 0;width: 100%;height: 100%;overflow: hidden;}#particleCanvas {display: block;width: 100%;height: 100%;background: linear-gradient(to bottom, #000000, #111111);}</style>
</head>
<body><canvas id="particleCanvas"></canvas><script>const canvas = document.getElementById('particleCanvas');const ctx = canvas.getContext('2d');canvas.width = window.innerWidth;canvas.height = window.innerHeight;const particlesArray = [];const numberOfParticles = 500; const mouse = {x: undefined,y: undefined,};const gravity = 0.05; const wind = {x: 0.01, y: 0,};class Particle {constructor() {this.x = Math.random() * canvas.width;this.y = Math.random() * canvas.height;this.size = Math.random() * 5 + 1; this.speedX = (Math.random() - 0.5) * 4; this.speedY = (Math.random() - 0.5) * 4;this.color = 'hsl(' + Math.floor(Math.random() * 360) + ', 100%, 50%)';this.alpha = 1; this.targetX = this.x;this.targetY = this.y;this.ease = 0.05;}update() {if (mouse.x !== undefined && mouse.y !== undefined) {this.targetX = mouse.x;this.targetY = mouse.y;}this.x += (this.targetX - this.x) * this.ease;this.y += (this.targetY - this.y) * this.ease;this.speedY += gravity;this.speedX += wind.x;if (this.x > canvas.width || this.x < 0) this.speedX *= -1;if (this.y > canvas.height) this.y = canvas.height, this.speedY *= -0.7; this.alpha -= 0.01; if (this.alpha < 0) this.alpha = 0;this.draw();}draw() {ctx.globalAlpha = this.alpha;ctx.fillStyle = this.color;ctx.beginPath();ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);ctx.closePath();ctx.fill();}}function init() {for (let i = 0; i < numberOfParticles; i++) {particlesArray.push(new Particle());}}function animate() {ctx.clearRect(0, 0, canvas.width, canvas.height);for (let particle of particlesArray) {particle.update();}requestAnimationFrame(animate);}window.addEventListener('resize', function() {canvas.width = window.innerWidth;canvas.height = window.innerHeight;});window.addEventListener('mousemove', function(event) {mouse.x = event.x;mouse.y = event.y;});window.addEventListener('mouseout', function() {mouse.x = undefined;mouse.y = undefined;});window.addEventListener('click', function() {for (let i = 0; i < 20; i++) {particlesArray.push(new Particle());}});init();animate();</script>
</body>
</html>

六:彩色粒子交互特效

1.效果展示

在这里插入图片描述

2.HTML完整代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>彩色粒子交互特效</title>
</head>
<body>
<script>!(function () {function n(n, e, t) {return n.getAttribute(e) || t;}function e(n) {return document.getElementsByTagName(n);}function t() {var t = e("script"),o = t.length,i = t[o - 1];return {l: o,z: n(i, "zIndex", -1),o: n(i, "opacity", 0.6),c: n(i, "color", "0,255,0"), n: n(i, "count", 400), // 粒子的数量};}function o() {(a = m.width =window.innerWidth ||document.documentElement.clientWidth ||document.body.clientWidth),(c = m.height =window.innerHeight ||document.documentElement.clientHeight ||document.body.clientHeight);}function i() {r.clearRect(0, 0, a, c);var n, e, t, o, m, l;s.forEach(function (particle, index) {for (particle.x += particle.xa,particle.y += particle.ya,particle.xa *= particle.x > a || particle.x < 0 ? -1 : 1,particle.ya *= particle.y > c || particle.y < 0 ? -1 : 1,// 使用粒子的颜色属性进行绘制r.fillStyle = particle.color,r.fillRect(particle.x - 0.5, particle.y - 0.5, 1, 1),e = index + 1;e < u.length;e++) {(n = u[e]),null !== n.x &&null !== n.y &&((o = particle.x - n.x),(m = particle.y - n.y),(l = o * o + m * m),l < n.max &&(n === y &&l >= n.max / 2 &&((particle.x -= 0.03 * o), (particle.y -= 0.03 * m)),(t = (n.max - l) / n.max),r.beginPath(),(r.lineWidth = t / 2),// 连线颜色和粒子颜色一致r.strokeStyle = particle.color,r.moveTo(particle.x, particle.y),r.lineTo(n.x, n.y),r.stroke()));}}),x(i);}var fixedColors = ["rgba(255, 0, 0, 1.0)",   // 红色"rgba(0, 255, 0, 1.0)",   // 绿色"rgba(0, 0, 255, 1.0)",   // 蓝色"rgba(255, 255, 0, 1.0)", // 黄色"rgba(0, 255, 255, 0.8)", // 青色"rgba(255, 0, 255, 0.8)", // 紫色"rgba(255, 165, 0, 0.8)", // 橙色"rgba(127, 255, 212, 1.0)","rgba(0, 255, 127, 1.0)"];var a,c,u,m = document.createElement("canvas"),d = t(),l = "c_n" + d.l,r = m.getContext("2d"),x =window.requestAnimationFrame ||window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||window.oRequestAnimationFrame ||window.msRequestAnimationFrame ||function (n) {window.setTimeout(n, 1e3 / 45);},w = Math.random,y = { x: null, y: null, max: 2e4 };(m.id = l),(m.style.cssText ="position:fixed;top:0;left:0;z-index:" + d.z + ";opacity:" + d.o),e("body")[0].appendChild(m),o(),(window.onresize = o),(window.onmousemove = function (n) {(n = n || window.event), (y.x = n.clientX), (y.y = n.clientY);}),(window.onmouseout = function () {(y.x = null), (y.y = null);});//固定颜色for (var s = [], f = 0; d.n > f; f++) {var h = w() * a,g = w() * c,v = 2 * w() - 1,p = 2 * w() - 1,// 从固定颜色数组中随机选择一个颜色color = fixedColors[Math.floor(Math.random() * fixedColors.length)];s.push({ x: h, y: g, xa: v, ya: p, max: 6e3, color: color }); // 使用选定的固定颜色}(u = s.concat([y])),setTimeout(function () {i();}, 100);})();</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494563.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker快速入门到项目部署

一、课程介绍 实现一键部署&#xff0c; Docker是 快速构建、运行、管理应用的工具。 二、docker的安装 安装教程地址 三、快速入门-部署MySQL docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \mysql 一键安装成功&#xff0c;…

差分矩阵(Difference Matrix)与累计和矩阵(Running Sum Matrix)的概念与应用:中英双语

本文是学习这本书的笔记: https://web.stanford.edu/~boyd/vmls/ 差分矩阵&#xff08;Difference Matrix&#xff09;与累计和矩阵&#xff08;Running Sum Matrix&#xff09;的概念与应用 在线性代数和信号处理等领域中&#xff0c;矩阵运算常被用来表示和计算各种数据变换…

C++ OpenGL学习笔记(4、绘制贴图纹理)

相关链接&#xff1a; C OpenGL学习笔记&#xff08;1、Hello World空窗口程序&#xff09; C OpenGL学习笔记&#xff08;2、绘制橙色三角形绘制、绿色随时间变化的三角形绘制&#xff09; C OpenGL学习笔记&#xff08;3、绘制彩色三角形、绘制彩色矩形&#xff09; 通过前面…

被裁20240927 --- 嵌入式硬件开发 前篇

前篇主要介绍一些相关的概念&#xff0c;用于常识扫盲&#xff0c;后篇开始上干货&#xff01; 他捧着一只碗吃过百家的饭 1. 处理器芯片1.1 处理器芯片制造商一、 英特尔&#xff08;Intel&#xff09;二、 三星&#xff08;SAMSUNG&#xff09;三、 高通&#xff08;Qualcomm…

华为EC6108V9/C 通刷固件包,内含高安版及详细教程

该固件的特点包括 调出被屏蔽的功能、无广告和强制升级、精简软件、去除安装限制、支持多种花式功能等。 固件压缩包内有详细刷机教程&#xff1a; 需用特定格式的 8G 品牌 U 盘&#xff0c;导入 4 个文件到根目录&#xff0c;短接特定点&#xff0c;出现升级提示后松开等待…

运维工程师面试系统监控与优化自动化与脚本云计算的理解虚拟化技术的优点和缺点

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…

汽车IVI中控开发入门及进阶(47):CarPlay开发

概述: 车载信息娱乐(IVI)系统已经从仅仅播放音乐的设备发展成为现代车辆的核心部件。除了播放音乐,IVI系统还为驾驶员提供导航、通信、空调、电源配置、油耗性能、剩余行驶里程、节能建议和许多其他功能。 ​ 驾驶座逐渐变成了你家和工作场所之外的额外生活空间。2014年,…

Spring(三)-SpringWeb-概述、特点、搭建、运行流程、组件、接受请求、获取请求数据、特殊处理、拦截器

文章目录 一、SpringWeb概述 二、SpringWeb特点 三、搭建SpringWeb&#xff08;在web项目中&#xff09; 1、导包 2、在web.xml文件中配置统一拦截分发器 DispatcherServlet 3、开启 SpringWEB 注解 4、处理器搭建 四、SpringWeb运行流程 五、SpringWeb组件 1、前端控…

Vue2四、 scoped样式冲突,data是一个函数,组件通信-父传子-子传父-非父子

组件通信 1. 父组件通过 props 将数据传递给子组件 2. 子组件利用 $emit 通知父组件修改更新 父--->子 子--->父

LLaMA-Factory(二)界面解析

这里写目录标题 1. 基础选项语言模型选择模型路径微调方法检查点路径量化等级量化方法提示模板RoPE加速方式 2.模型训练界面训练方式数据集超参数设置其他参数部分参数设置LoRA参数设置RLHF参数设置GaLore参数设置BAdam参数设置训练 3.评估预测界面4.Chat界面5.导出Export界面 …

SRE 与 DevOps记录

flashcat https://flashcat.cloud

Python入门:4.Python中的运算符

引言 Python是一间强大而且便捷的编程语言&#xff0c;支持多种类型的运算符。在Python中&#xff0c;运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析&#xff0c;并通过一个综合案例展示其实际应用。 1. 算术运…

蓝桥杯物联网开发板硬件组成

第一节 开发板简介 物联网设计与开发竞赛实训平台由蓝桥杯大赛技术支持单位北京四梯科技有限公司设计和生产&#xff0c;该产品可用于参加蓝桥杯物联网设计与开发赛道的竞赛实训或院校相关课程的 实践教学环节。 开发板基于STM32WLE5无线微控制器设计&#xff0c;芯片提供了25…

ARM异常处理 M33

1. ARMv8-M异常类型及其详细解释 ARMv8-M Exception分为两类&#xff1a;预定义系统异常(015)和外部中断(1616N)。 各种异常的状态可以通过Status bit查看&#xff0c;获取更信息的异常原因&#xff1a; CFSR是由UFSR、BFSR和MMFSR组成&#xff1a; 下面列举HFSR、MMFSR、…

百度热力图数据处理,可直接用于论文

数据简介1、CSV点数据2、SHP数据3、TIF数据4、png图片或标准经纬度出图5、案例6、论文的参考方向 其他数据处理/程序/指导&#xff01;&#xff01;&#xff01;&#xff08;1&#xff09;街景数据获取&#xff08;2&#xff09;街景语义分割后像素提取&#xff0c;指标计算代码…

利用Gurobi追溯模型不可行原因的四种方案及详细案例

文章目录 1. 引言2. 追溯不可行集的四种方法2.1 通过约束增减进行判断2.2 通过computeIIS函数获得冲突集2.3 利用 feasRelaxS() 或 feasRelax() 函数辅助排查2.4 利用 IIS Force 属性1. 引言 模型不可行是一个让工程师头疼的问题,对于复杂模型而言,导致模型不可行的原因可能…

数据流图和流程图的区别

在结构化建模中&#xff0c;数据流图和流程图都是非常重要的工具&#xff0c;它们为开发人员提供了强大的手段来分析和设计系统。尽管两者在表面上看起来有些相似&#xff0c;但它们在功能、用途和表达方式上存在显著的区别。本文将详细探讨数据流图和流程图的区别&#xff0c;…

《计算机组成及汇编语言原理》阅读笔记:p48-p81

《计算机组成及汇编语言原理》学习第 4 天&#xff0c;p48-p81 总结&#xff0c;总计 34 页。 一、技术总结 1.CISC vs RISC p49&#xff0c; complex instruction set computing For example, a complex instruction set computing (CISC) chip may be able to move a lar…

GitLab的安装与卸载

目录 GitLab安装 GitLab使用 使用前可选操作 修改web端口 修改Prometheus端口 使用方法 GitLab的卸载 环境说明 系统版本 CentOS 7.2 x86_64 软件版本 gitlab-ce-10.8.4 GitLab安装 Gitlab的rpm包集成了它需要的软件&#xff0c;简化了安装步骤&#xff0c;所以直接…

LAUNCHXL_F28379D_Workspace_CCS124

/// 安装 controlSUITE C:\ti\controlSUITE\device_support\F2837xD\v210 /// /// /// /// /// 删除 /// /// /// >> Compilation failure source_common/subdir_rules.mk:9: recipe for target source_common/F2837xD_Adc.obj failed "C:/ti/controlSUITE/devic…