matlab导出3D彩色模型(surface类转stl,并对白模上色)

在matlab中绘制3维图形时,需要将3维图形导出到PPT中展示。但是直接导出图片效果欠佳,无法全方位展示。

最近学习了如何将matlab中的图形导出为stl模型,然后再采用简单的方法对模型上色。

中间尝试过matlab导出stl、ply、3dm等多种格式,其中stl格式的三维模型导出最为简便,其他格式导出需要获取所有定点和面的信息,但是isosurcafe函数我自己没整明白,所以最后还是选择stl模型。

1.matlab生成3维图形

matlab中绘制3维图形时通常采用surf、mesh等函数,生成surface类。
例如,我绘制一个全向天线方向图:
下面展示一些 内联代码片

// 绘制全向天线方向图
theta =linspace(0,pi*2,50);% 定义方位角范围(以弧度表示)
phi = linspace(0+0.001*pi,pi+0.001*pi,50);% 定义俯仰角范围
% 创建网格
[Phi,Theta] = meshgrid(phi,theta);
r = sin(3*Phi).*cos(theta);
x = r.*sin(Phi ).*cos(Theta);
y = r.*sin(Phi ).*sin(Theta);
z = r.*cos(Phi );
figure(1);
surf(x,y,z);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Antenna Radiation Pattern in Polar Coordinates');

得到的结果如下图所示。
在这里插入图片描述
在matlab中,可以对该图形进行旋转,拖拽,以观察其在不同方位角和俯仰角的结果。但是在做PPT展示或者在其他没有matlab环境的电脑上需要分析展示时,无法做到该功能。

因此萌生了 将该三维模型导出成标准格式的模型的想法。

2.surface转stl

将matlab中的surface类直接转为stl类较为简单,该函数有国外大佬在04年就写好了,直接下载并调用即可。下载链接

调用该函数也很简单,只要是网格类数据就可以直接调用。比如对于上面提到的天线方向图来说:

// 绘制全向天线方向图
theta =linspace(0,pi*2,50);% 定义方位角范围(以弧度表示)
phi = linspace(0+0.001*pi,pi+0.001*pi,50);% 定义俯仰角范围
% 创建网格
[Phi,Theta] = meshgrid(phi,theta);
r = sin(3*Phi).*cos(theta);
x = r.*sin(Phi ).*cos(Theta);
y = r.*sin(Phi ).*sin(Theta);
z = r.*cos(Phi );
figure(1);
surf(x,y,z);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Antenna Radiation Pattern in Polar Coordinates');
surf2stl('radio_antenna.stl',x,y,z)

只要在最后加上这个函数的调用即可。就可以得到白模文件。直接用windows自带的画图3D就可以打开查看。
在这里插入图片描述

3.白膜简易上色

由于stl模型文件的导出是不包含颜色数据的,因此导出的模型也叫白膜。用blender等专业工具可以对其上色,但是对于外行来说,我觉得用画图3D直接上色比较简单。

画图3D自带的上色方案比较简单粗暴,只有填充、绘画和贴图。填充的颜色单一,绘画步骤复杂,我选择的是贴图的方法。

首先先自己准备一张图片,我是用matlab画了一张彩图作为贴纸。
在这里插入图片描述
然后再画图3D中选择贴纸,调整贴纸位置,覆盖模型
在这里插入图片描述
最后就可以得到想要的彩色三维模型了
在这里插入图片描述
因为我这个模型的横切面是圆形的,所以我选择的图片是渐变的同心圆。最后体现的结果就是:离中心近的地方颜色偏暖,离中心远的地方颜色偏冷。通过颜色反应天线方向图的相对辐射强度。

4.PPT中插入三维模型。

再offce2019及以后,PowerPoint软件新增了插入3D模型的功能。

通过对连续页插入同一个3D模型,然后改变其旋转角度和拉伸效果,可以自动生成动画,看起来很平滑。大家可以试一试,在PPT汇报中比较酷炫,可以锦上添花。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java项目中加缓存

Java项目中加缓存 1.更新频率低;但读写频率高的数据很适合加缓存; 2.可以加缓存的地方很多:浏览器的缓存;CDN的缓存;服务器的缓存; 本地内存;分布式远端缓存; 加缓存的时候不要…

VTK的基本概念(一)

文章目录 三维场景的基本要素1.灯光2.相机3.颜色4.纹理映射 三维场景的基本要素 1.灯光 在三维渲染场景中,可以有多个灯光的存在,灯光和相机是三维渲染场景的必备要素,如果没有指定的话,vtkRenderer会自动创建默认的灯光和相机。…

【C知道】数据包捕获(wire shark)

请解释一下数据包捕获和分析工具(如Wireshark)的工作原理和用途。 数据包捕获和分析工具,例如Wireshark(以前称为 Ethereal),是一种网络协议分析软件,它允许用户实时监控计算机网络中的数据传输…

浮点数计算,不丢失精度

在js中对于浮点数直接计算会存在精度丢失的情况,为了保证精度问题,可以做如下处理: 浮点数精度计算 主要流程如下: 浮点数转换成整数 示例代码如下 /** 将一个浮点数转成整数,返回整数和倍数。如 3.14 >> 314…

计算机网络八股整理(三)

目录 计算机网络八股(三)传输层1:说一下tcp的头部?2:tcp三次握手的过程说一下?拓展linux中查看tcp状态: 3:tcp为什么需要三次握手建立连接?4:tcp三次握手,如果…

C#基础控制台程序

11.有一个54的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 12.从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 13.输入一个数,判断它是奇数还是偶数,如果…

小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

LeetCode—74. 搜索二维矩阵(中等)

仅供个人学习使用 题目描述: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true…

命令行使用ssh隧道连接远程mysql

本地电脑A 跳板机B 主机2.2.2.2 用户名 B ssh端口号22 登录密码bbb 远程mysql C 地址 3.3.3.3 端口号3306 用户名C 密码ccc A需要通过跳板机B才能访问C; navicat中配置ssh可以实现在A电脑上访问C 如何实现本地代码中访问C呢? # 假设本地使…

海康VsionMaster学习笔记(学习工具+思路)

一、前言 VisionMaster算法平台集成机器视觉多种算法组件,适用多种应用场景,可快速组合算法,实现对工件或被测物的查找测量与缺陷检测等。VM算法平台依托海康威视在图像领域多年的技术积淀,自带强大的视觉分析工具库,可…

⭐️ GitHub Star 数量前十的工作流项目

文章开始前,我们先做个小调查:在日常工作中,你会使用自动化工作流工具吗?🙋 事实上,工作流工具已经变成了提升效率的关键。其实在此之前我们已经写过一篇博客,跟大家分享五个好用的工作流工具。…

视频汇聚平台Liveweb国标GB28181视频平台监控中心设计

在现代安防视频监控领域,Liveweb视频汇聚平台以其卓越的兼容性和灵活的拓展能力,为用户提供了一套全面的解决方案。该平台不仅能够实现视频的远程监控、录像、存储与回放等基础功能,还涵盖了视频转码、视频快照、告警、云台控制、语音对讲以及…

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本。 原因是:当前操作系统版本为Windows Server 2016 Standard版本,其自带的Microsoft .NET Framework 版本为4.6太低,不满足要求。 根据报错的提示,点击链接…

重塑视频新语言,让每一帧都焕发新生——Video-Retalking,开启数字人沉浸式交流新纪元!

模型简介 Video-Retalking 模型是一种基于深度学习的视频再谈话技术,它通过分析视频中的音频和图像信息,实现视频角色口型、表情乃至肢体动作的精准控制与合成。这一技术的实现依赖于强大的技术架构和核心算法,特别是生成对抗网络&#xff0…

Llama-2-7b:vocab size:32000;embeddings:4096;hidden_layers是什么意思

目录 Llama-2-7b:vocab size:32000;embeddings:4096 vocab size:模型能解析词汇数量==n_vocab num_hidden_layers: 32 nanogpt隐藏层4 "initializer_range": 0.02 Token Embed是什么 举例说明 不同Chat版本的Token Embed(Token Embeddings) 区别 Llama…

Spring Boot【三】

自动注入 xml中可以在bean元素中通过autowire属性来设置自动注入的方式&#xff1a; <bean id"" class"" autowire"byType|byName|constructor|default" /> byName&#xff1a;按照名称进行注入 byType&#xff1a;按类型进行注入 constr…

mysql之基本常用的语法

mysql之基本常用的语法 1.增加数据2.删除数据3.更新/修改数据4.查询数据4.1.where子句4.2.order by4.3.limit与offset4.4.分组与having4.5.连接 5.创建表 1.增加数据 insert into 1.指定列插入 语法&#xff1a;insert into table_name(列名1,列名2,....,列名n) values (值1,值…

【模电】整流稳压电源

1.整流稳压电源 主要由四大部分组成&#xff0c;分别是&#xff1a; 1&#xff09;电源变压器 2&#xff09;整流电路 3&#xff09;滤波电路 4&#xff09;稳压电路 2.整流电路 2.1半波整流 2.1.1工作原理 平均电压计算 结构最简单&#xff0c;但是只利用了了半个周期的…

ATTCK红队评估实战靶场(二)

http://vulnstack.qiyuanxuetang.net/vuln/?page2 描述&#xff1a;红队实战系列&#xff0c;主要以真实企业环境为实例搭建一系列靶场&#xff0c;通过练习、视频教程、博客三位一体学习。本次红队环境主要Access Token利用、WMI利用、域漏洞利用SMB relay&#xff0c;EWS re…

gitee:删除仓库

1、点击主页面设置 2、找到左侧导航栏-数据管理->仓库空间信息&#xff1b;找到需要删除的仓库->点击设置 3、点击左侧仓库设置->点击右侧删除仓库 4、输入提示内容->确认删除 5、输入密码验证 6、成功删除提示