当前位置: 首页 > news >正文

如何用matlab画一条蛇

在这里插入图片描述

文章目录

  • 源代码
  • 运行结果
  • 代码说明
  • 结果

源代码

% 画蛇的代码
% 2025-01-28/Ver1
% 清空环境
clc;
clear;
close all;% 定义蛇的身体坐标
t = linspace(0, 4*pi, 100); % 参数化变量
x = t;                       % x坐标
y = sin(t) + 0.5 * sin(3*t); % y坐标,形成更复杂的波动形状% 绘制蛇的身体
figure;
hold on;
fill(x, y, 'g', 'EdgeColor', 'k', 'LineWidth', 1.5); % 填充蛇的身体% 绘制蛇的头部
head_x = [4*pi, 4*pi+0.5, 4*pi+0.5, 4*pi]; % 头部的x坐标
head_y = [0.5, 0.5, 0, 0]; % 头部的y坐标
fill(head_x, head_y, 'g', 'EdgeColor', 'k', 'LineWidth', 1.5); % 填充头部% 绘制蛇的眼睛
eye_x = [4*pi + 0.3, 4*pi + 0.35, 4*pi + 0.35, 4*pi + 0.3]; % 眼睛的x坐标
eye_y = [0.3, 0.3, 0.4, 0.4]; % 眼睛的y坐标
fill(eye_x, eye_y, 'w'); % 绘制眼睛的白色部分% 绘制蛇的瞳孔
pupil_x = [4*pi + 0.32, 4*pi + 0.34, 4*pi + 0.34, 4*pi + 0.32]; % 瞳孔的x坐标
pupil_y = [0.32, 0.32, 0.37, 0.37]; % 瞳孔的y坐标
fill(pupil_x, pupil_y, 'k'); % 绘制瞳孔% 绘制蛇的舌头
tongue_x = [4*pi + 0.5, 4*pi + 0.7, 4*pi + 0.5]; % 舌头的x坐标
tongue_y = [0, -0.5, -0.2]; % 舌头的y坐标
fill(tongue_x, tongue_y, 'r', 'EdgeColor', 'k', 'LineWidth', 1.5); % 绘制舌头% 设置图形属性
axis equal;
xlim([-1 15]);
ylim([-2 2]);
title('Detailed Snake');
xlabel('X-axis');
ylabel('Y-axis');
grid on;
hold off;

运行结果

在这里插入图片描述

代码说明

  1. 身体细节:通过对 y 坐标进行更复杂的计算(sin(t) + 0.5 * sin(3*t)),使蛇的身体呈现更自然的波动。
  2. 眼睛:在蛇的头部增加了眼睛的绘制,使用白色填充表示眼睛的部分。
  3. 瞳孔:用黑色填充绘制了蛇的瞳孔,增强了细节。
  4. 舌头:用红色填充绘制了蛇的舌头,增加了动态感。

结果

运行以上代码后,你将看到一条更具细节的蛇,具有波动的身体、眼睛、瞳孔和舌头,整体效果更加生动。可以根据需要进一步调整颜色和形状。

如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

http://www.lryc.cn/news/528581.html

相关文章:

  • Greenplum临时表未清除导致库龄过高处理
  • 【Linux】gdb——Linux调试器
  • C++ 中用于控制输出格式的操纵符——setw 、setfill、setprecision、fixed
  • C++ ——— 学习并使用 priority_queue 类
  • 基础项目实战——3D赛车(c++)
  • ODP(OBProxy)路由初探
  • 从零推导线性回归:最小二乘法与梯度下降的数学原理
  • 计算机网络__基础知识问答
  • 第 5 章:声音与音乐系统
  • C语言编译过程全面解析
  • 算法每日双题精讲 —— 前缀和(【模板】一维前缀和,【模板】二维前缀和)
  • Maui学习笔记- SQLite简单使用案例02添加详情页
  • VMware 中Ubuntu无网络连接/无网络标识解决方法【已解决】
  • 完美世界前端面试题及参考答案
  • 新时代架构SpringBoot+Vue的理解(含axios/ajax)
  • 代理模式 -- 学习笔记
  • gif动画图像优化,相同的图在第2,4,6帧中重复出现,会增加图像体积吗?
  • Harmony Next 跨平台开发入门
  • 阿里巴巴Qwen团队发布AI模型,可操控PC和手机
  • android 音视频系列引导
  • STM32调试手段:重定向printf串口
  • 基于 Jenkins 的测试报告获取与处理并写入 Jira Wiki 的技术总结
  • Vue.js组件开发-实现导出PDF文件可自定义添加水印及水印样式方向
  • css中的animation
  • 四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)
  • 基于Springboot + vue实现的洗衣店订单管理系统
  • 用 Scoop 优雅管理 Windows 软件:安装、配置与使用全指南
  • 深度学习中常用的评价指标方法
  • 多协议网关BL110钡铼6路RS485转MQTT协议云网关
  • Nginx 安装配置指南