实用指南:用MATLAB画一只可爱的小熊
本文介绍了一个利用MATLAB绘制可爱小熊的代码实现。
凭借定义身体各部分的参数(如头部半径、耳朵位置、四肢尺寸等),利用rectangle函数绘制圆形和圆角矩形,组合成完整的小熊形象。代码设置了不同颜色区分身体(深灰)、脸部(浅灰)、眼睛(黑)和鼻子(棕),并添加微笑曲线作为嘴巴。应用包含缩放比例调整功能,可整体改变小熊大小。最终生成一个600×600像素的白色背景图形,隐藏坐标轴,呈现出一个比例协调的卡通小熊形象。
可爱的小熊
%% MATLAB绘制可爱小熊
% 清理工作区
clear; clc; close all;
% --- 1. 定义小熊身体各部分的参数 ---
% 这些参数可以调整,以改变小熊的大小和比例
body_scale = 1; % 整体缩放比例
% 头部
head_center = [0, 5]; % 头部中心坐标
head_radius = 2.5 * body_scale; % 头部半径
% 耳朵
ear_radius = 0.8 * body_scale; % 耳朵半径
ear_offset_x = 1.8 * body_scale; % 耳朵在x方向上的偏移
ear_offset_y = 1.8 * body_scale; % 耳朵在y方向上的偏移
% 眼睛
eye_radius = 0.3 * body_scale; % 眼睛半径
eye_offset_x = 1.0 * body_scale; % 眼睛在x方向上的偏移
eye_offset_y = 0.5 * body_scale; % 眼睛在y方向上的偏移
% 鼻子
nose_width = 0.6 * body_scale; % 鼻子宽度
nose_height = 0.4 * body_scale; % 鼻子高度
% 嘴巴
mouth_width = 1.2 * body_scale; % 嘴巴宽度
mouth_height = 0.5 * body_scale; % 嘴巴高度
% 身体
body_width = 3.5 * body_scale; % 身体宽度
body_height = 3.0 * body_scale; % 身体高度
% 四肢
limb_width = 0.6 * body_scale; % 四肢宽度
limb_height = 2.0 * body_scale; % 四肢长度
% --- 2. 绘制小熊 ---
figure('Color', 'w', 'Position', [100, 100, 600, 600]);
hold on;
axis equal;
axis off; % 隐藏坐标轴
% 定义颜色
bear_color = [0.3, 0.3, 0.3]; % 小熊身体颜色 (深灰色)
face_color = [0.9, 0.9, 0.9]; % 小熊脸部颜色 (浅灰色)
eye_color = [0, 0, 0]; % 眼睛颜色 (黑色)
nose_color = [0.7, 0.2, 0.2]; % 鼻子颜色 (棕色)
% --- 开始绘制 ---
% 绘制身体 (使用rectangle函数绘制圆角矩形)
rectangle('Position', [-body_width/2, 0, body_width, body_height], ...
'Curvature', [0.5, 0.5], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 绘制头部 (使用rectangle函数绘制一个圆形)
rectangle('Position', [head_center(1)-head_radius, head_center(2)-head_radius, ...
2*head_radius, 2*head_radius], ...
'Curvature', [1, 1], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 绘制脸部 (一个稍小的圆形)
rectangle('Position', [head_center(1)-head_radius+0.5, head_center(2)-head_radius+0.5, ...
2*head_radius-1, 2*head_radius-1], ...
'Curvature', [1, 1], 'FaceColor', face_color, 'EdgeColor', 'none');
% 绘制耳朵
% 左耳
rectangle('Position', [head_center(1)-ear_offset_x-ear_radius, head_center(2)+ear_offset_y-ear_radius, ...
2*ear_radius, 2*ear_radius], ...
'Curvature', [1, 1], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 右耳
rectangle('Position', [head_center(1)+ear_offset_x-ear_radius, head_center(2)+ear_offset_y-ear_radius, ...
2*ear_radius, 2*ear_radius], ...
'Curvature', [1, 1], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 绘制眼睛
% 左眼
rectangle('Position', [head_center(1)-eye_offset_x-eye_radius, head_center(2)+eye_offset_y-eye_radius, ...
2*eye_radius, 2*eye_radius], ...
'Curvature', [1, 1], 'FaceColor', eye_color, 'EdgeColor', 'none');
% 右眼
rectangle('Position', [head_center(1)+eye_offset_x-eye_radius, head_center(2)+eye_offset_y-eye_radius, ...
2*eye_radius, 2*eye_radius], ...
'Curvature', [1, 1], 'FaceColor', eye_color, 'EdgeColor', 'none');
% 绘制鼻子 (一个椭圆形)
rectangle('Position', [-nose_width/2, head_center(2)-nose_height/2, nose_width, nose_height], ...
'Curvature', [1, 1], 'FaceColor', nose_color, 'EdgeColor', 'none');
% 绘制嘴巴 (一个微笑的弧线)
theta = linspace(pi, 2*pi, 100); % 角度从180度到360度
mouth_x = (mouth_width/2) * cos(theta);
mouth_y = -0.2 + (mouth_height/2) * sin(theta); % -0.2是为了让嘴巴位置下移一点
plot(mouth_x, mouth_y, 'k', 'LineWidth', 2);
% 绘制四肢
% 左手臂
rectangle('Position', [-body_width/2-limb_width, body_height/2, limb_width, limb_height], ...
'Curvature', [0.3, 0.3], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 右手臂
rectangle('Position', [body_width/2, body_height/2, limb_width, limb_height], ...
'Curvature', [0.3, 0.3], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 左腿部
rectangle('Position', [-body_width/4-limb_width/2, -limb_height, limb_width, limb_height], ...
'Curvature', [0.3, 0.3], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 右腿部
rectangle('Position', [body_width/4-limb_width/2, -limb_height, limb_width, limb_height], ...
'Curvature', [0.3, 0.3], 'FaceColor', bear_color, 'EdgeColor', 'none');
% 添加标题
title('MATLAB 小熊', 'FontSize', 16, 'FontWeight', 'bold');
hold off;
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943629.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
成熟稳定、省钱好用的AI应用怎么开发?趣丸科技员工助手的技术实践
成熟稳定、省钱好用的AI应用怎么开发?趣丸科技员工助手的技术实践本文分享趣丸科技定制化AI助手在选型底层数据库时,对比多款向量数据库后选择OceanBase的思路和经验。作者:苏程辉,趣丸数据库负责人
如今,大模型推…
JavaScript 自定义元素类的作用域跨环境兼容管理
JavaScript 自定义元素类的作用域跨环境兼容管理
原创 夏群林 2025.10.22
自定义元素类,是为了后续复用,通常需要全局可见。
JavaScript 类名遵循标识符规范,可包含字母、数字、下划线(_)、美元符号($),且不能…
victoriamonitor监控gcp的cloudrun - Super
victoriamonitor监控gcp的cloudrun方案总览VictoriaMetrics 无法直接 scrape Cloud Run 的 /metrics,因为:
Cloud Run 是动态实例,没有固定 IP;
Cloud Run 实例按需启动/销毁;
没有暴露容器内部端口供 scraping。…
QT实现QTreeWidget项目拖拽移动功能
主要功能概述
允许用户在QTreeWidget内部拖拽项目
拖拽时显示确认对话框
程序环境Python 3.8.9
pyside6==6.1.3pip install pyside6==6.1.3实现效果demo代码获取
Gitee:treewidget-demo
百度网盘:https://pan.baidu.…
解决 Semi Design Upload 组件实现自定义压缩,上传文件后无法触发 onChange
背景
我们团队主要在做 C 端产品,对于 C 端应用,图片资源使用 CDN 十分重要,因此我们曾建立了一个文件上传平台:上传文件后,可以复制图片的 CDN URL 在前端项目中使用。
目前服务端不会对图片做压缩,使用前得先借…
实用指南:生活琐记(3)
实用指南:生活琐记(3)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…
重构商业生态:全域分销商城小程序开发赋能商家高效增长 - 实践
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
设计模式-建造者模式 - 实践
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
自动化释放5G全部潜力:新西兰电信One NZ的实践之路
本文详细介绍了新西兰电信运营商One New Zealand如何通过自动化技术实现5G网络转型,包括容器化平台、GitOps自动化流程和AI驱动的运维框架,大幅提升部署效率和网络可靠性。电信行业正站在新时代的门槛上。随着5G网络…
实用指南:C++设计模式_创建型模式_原型模式Prototype
实用指南:C++设计模式_创建型模式_原型模式Prototype2025-10-22 18:06
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…
阿里出手了:全免费!号称国内版ClaudeCode?
这两年编程的开发工具层出不穷,也是一片红海,前有 Claude、CodeX,后有 Code Buddy、Qwen、Qoder 等。那问题来了,有没有一款好用、且免费的编程工具呢?
那么今天给大家分享 3 款好用且免费的编程工具。
视频分享…
[MS-DOS]MS-DOS 6.22 with CD-ROM Driver.ver.6.22.English下载与安装
下载地址:
https://archive.org/details/ms-dos-6.22-with-cd-rom-driver.ver.6.22.english
MS-DOS 6.22 with CD-ROM Driver.ver.6.22.English安装视频:
How to Install MS-DOS on VirtualBox
https://www.youtube.…
2025 年国内品牌设计公司最新推荐排行榜:聚焦行业领军者优势,精选优质服务商深度解析
引言
在当前激烈的市场竞争中,品牌设计已成为企业塑造独特形象、提升核心竞争力的关键环节。然而,品牌设计行业乱象丛生,部分企业缺乏专业体系、过度追求短期利益,导致企业难以找到靠谱的合作伙伴。为帮助企业精准…
报考PostgreSQL中级认证证书多少钱?
近几年随着PostgreSQL数据库在国内的流行,考相关认证的人也多了起来,尤其是使用PostgreSQL数据库的企业,不少员工想了解一下关于PostgreSQL数据库认证的费用、时间、题型、难度等问题,这里做些收费方面的介绍。
首…
087_尚硅谷_switch使用细节(1)
087_尚硅谷_switch使用细节(1)1.swithc细节讨论
2.case和switch 后是一个表达式(即 常量值、变量、一个有返回值的函数等都可以)
3.1.case 后的各个表达式的值的数据类型, 必须和 switch 的表达式数据类型一致,否则程…
linux服务器操作系统字符集是GBK,tomcat和部署的程序是UTF-8,启动后应用界面乱码如何解决
当 Linux 系统编码为 GBK,而 Tomcat 使用 UTF-8 时,程序界面乱码的核心原因是编码 / 解码环节不统一(如 JVM 默认编码、请求响应编码、资源文件编码等不一致)。解决需从多个层面统一编码为 UTF-8,具体步骤如下:
…
2025 年感温电缆厂家最新推荐权威榜单重磅发布,全方位解析头部品牌优势助力工业消防精准选型
在工业生产、城市基建等领域,火灾安全防护是保障生命财产安全的核心环节,而感温电缆作为火灾早期探测的关键设备,其品质与性能直接决定防护效果。当前感温电缆市场品牌繁杂,既有深耕多年的老牌企业,也有新兴入局者…
完整教程:2- 十大排序算法(希尔排序、计数排序、桶排序)
完整教程:2- 十大排序算法(希尔排序、计数排序、桶排序)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…