【卫星影像三维重建随记】obj模型及其纹理材质文件介绍

obj模型及纹理材质介绍

  • 1.介绍
    • 1.1 背景
    • 1.2 带有纹理色彩的obj三维模型
  • 2.带有纹理信息obj三维模型文件解析
    • 2.1 三维模型数据
    • 2.2 obj文件内容
    • 2.3mtl文件内容
  • 3 参考

1.介绍

1.1 背景

OBJ格式是一种简单且通用的三维模型文件格式,支持多边形网格和基本的几何体类型,如点、线和面等三维信息的存储,一般包括三个子文件,分别是**.obj、.mtl、.jpg**,含有三个文件的一般为带有纹理色彩的三维模型,
也存在只有obj文件的,这种文件一般是没有纹理色彩的三维模型;

1.2 带有纹理色彩的obj三维模型

带有纹理的OBJ文件通常包含以下特定文件及其具体作用:

  1. OBJ文件:这是主要的3D模型文件,包含了模型的顶点、面片、法向量和纹理等几何信息。OBJ文件使用标准的Polygon(多边形)储存格式,直接储存顶点坐标和法线等数据;
  2. MTL文件:材质库文件,与OBJ文件配合,把纹理颜色渲染到OBJ模型上。MTL文件描述的是物体的材质信息,如颜色、透明度等,这些信息主要是呈现模型的视觉效果的参数信息;
  3. 纹理文件:通常情况下,为了实现更真实的视觉效果,OBJ模型会关联一个或多个纹理文件。这些纹理文件存储了模型表面的颜色和其他视觉属性,如反射、透明度等。

2.带有纹理信息obj三维模型文件解析

2.1 三维模型数据

三维模型文件在资源绑定可下载,包含三维模型文件( obj),材质文件(mtl)、以及纹理文件(.jpg),有纹理和无纹理的三维模型效果示意如下(PS:以下效果均在meshlab中呈现):
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2 obj文件内容

首先是obj整体信息:包含534165个顶点,1064007个面,然后mtllib指向材质文件1.mtl,接下来是三维模型的具体展开
v :几何体顶点 (Geometric vertices)
vt: 贴图坐标点 (Texture vertices)
vn: 顶点法线 (Vertex normals)
f :面 (Face)
详细介绍见3D文件格式之OBJ文件格式

# 534165 vertices, 1064007 faces
mtllib 1.mtl
v 5933.684 5014.03 24.7866
v 6783.865 4216.579 18.71951
v 6785.873 4216.577 17.27195
v 5934.572 5014.032 24.79637
v 6787.372 4216.6 8.83658
v 5935.165 5014.034 24.97735
v 6782.655 4216.573 25.12711
v 6782.359 4216.56 27.72783
v 5936.057 5014.036 25.42348
v 6787.987 4216.596 8.63874
v 5936.65 5014.037 25.59104
v 6792.734 4216.605 8.42905
v 6793.037 4216.612 8.351725
v 6793.328 4216.592 12.30764
v 5937.838 5014.04 25.73989
v 6794.222 4216.606 7.762855
v 6794.514 4216.58 15.05509
v 6796.001 4216.661 16.87754
v 6796.902 4216.596 20.05687
v 5939.32 5014.043 26.09047
v 6797.203 4216.625 26.43649
v 5939.915 5014.044 26.11746
v 6798.062 4216.66 26.58853
v 5940.51 5014.046 25.96651
v 6798.966 4216.625 23.67713
v 5941.1 5014.045 25.72362
v 5941.396 5014.046 25.64608

2.3mtl文件内容

# 
# Wavefront MTL generated by www.daspatial.com for 3D Users
# 
newmtl Tile_+007_+004_textured_geometry_0
Ka 0.2 0.2 0.2
Kd 1 1 1
Ks 0.2 0.2 0.2
map_Kd Tile_+007_+004_textured_geometry_0.jpg

3 参考

参考网站:
(1)https://cloud.tencent.com/developer/ask/sof/116081910
(2)https://www.jianshu.com/p/afa7ffa01191

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

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

相关文章

leetcode.K站中转(python)

开始准备用dfs深度搜索,发现n100,dfs可能会超时,即使用了剪枝。 class Solution:def findCheapestPrice(self, n: int, flights: List[List[int]], src: int, dst: int, k: int) -> int:length k 2ans float(inf)rec []vis [True]*n…

Golang RPC实现-day01

导航 Golang RPC实现一、主体逻辑设计二、服务设计1、监听和接收请求2、处理请求(1)服务结构体定义(2)确认请求方和服务方编解码格式(3)循环读取请求(4)解析请求的内容(5)响应请求 三、读取和发送数据到连接中代码 Golang RPC实现 先来一个最简单的版本,后续更新。…

Qt学习笔记1.3.4 QtCore-Qt资源系统

文章目录 资源收集文件(.qrc)外部二进制资源内编译(compiled-in)资源压缩使用应用程序中的资源使用库中的资源 Qt资源系统是一种 独立于平台的机制,用于在应用程序的可执行文件中存储二进制文件。如果您的应用程序总是需要一组特定的文件(图标、翻译文件等)&#x…

QT状态机8-使用恢复策略自动恢复属性

当状态分配的属性不再活动时,可能希望将其恢复到初始值,通过设置全局的恢复策略可以使状态机进入一个状态而不用明确制定属性的值。 QStateMachine machine; machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);当设置了恢复策略以后,状态机将自动恢复所有…

sklearn中多分类和多标签分类评估方法总结

一、任务区分 多分类分类任务:在多分类任务中,每个样本只能被分配到一个类别中。换句话说,每个样本只有一个正确的标签。例如,将图像分为不同的物体类别,如猫、狗、汽车等。 多标签分类任务:在多标签分类任…

助力数字农林业发展服务香榧智慧种植,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建香榧种植场景下香榧果实检测识别系统

作为一个生在北方但在南方居住多年的人,居然头一次听过香榧(fei)这种作物,而且这个字还不会念,查了以后才知道读音(fei),三声,这着实引起了我的好奇心,我相信…

STM32使用ADC单/多通道检测数据

文章目录 1. STM32单片机ADC功能详解 2. AD单通道 2.1 初始化 2.2 ADC.c 2.3 ADC.h 2.4 main.c 3. AD多通道 3.1 ADC.c 3.2 ADC.h 3.3 main.c 3.4 完整工程文件 1. STM32单片机ADC功能详解 STM32单片机ADC功能详解 2. AD单通道 这个代码实现通过ADC功能采集三脚电…

【Vue2】关于response返回数据的错误小记

关于Vue2中response返回数据的一个错误小记 如图&#xff0c;在这里返回的时候&#xff0c;后端是通过List< String >返回的&#xff0c;response接收到的实际上是一个Array数组&#xff0c;但是赋值给searchedTaskList的时候&#xff0c;需要在.then包括的范围里面赋值给…

【SpringBoot】 什么是springboot(二)?springboot操作mybatisPlus、swagger、thymeleaf模板

文章目录 SpringBoot第三章1、整合mybatsPlus1-234-67-10问题 2、整合pageHelper分页3、MP代码生成器1、编写yml文件2、导入依赖3、创建mp代码生成器4、生成代码5、编写配置类扫描mapper类6、编写控制器类 4、swagger1、什么是swagger2、作用3、发展历程4、一个简单的swagger项…

ElastiCache Serverless for Redis应用场景和性能成本分析

一. 前言 传统基于实例节点的 Redis 缓存架构中&#xff0c;扩展性是一个重要影响因素。在很多场景中&#xff0c;例如广告投放、电商交易、游戏对战&#xff0c;流量是经常变化的。无论是主从还是集群模式&#xff0c;当大流量进入时&#xff0c;Redis 处理能力达到上限&…

“打工搬砖记”中吃什么的轮盘功能实现(二)

文章目录 打工搬砖记转盘主要的逻辑实现转盘的素材小结 打工搬砖记 先来一个吃什么轮盘的预览图&#xff0c;这轮盘文案加字呈圆形铺出来&#xff0c;开始后旋转到指定的选项处停下来。 已上线小程序“打工人搬砖记”&#xff0c;可以扫码进行预览观看。 转盘主要的逻辑实现…

如何使用Docker安装并运行Nexus容器结合内网穿透实现远程管理本地仓库

前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊如何使用Docker安装并运行Nexus容器结合内网穿透实现远程管理本地仓库&#xff0c;希望大家能觉得实用&#xff01; 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496…

openlayer实现ImageStatic扩展支持平铺Wrapx

地图平铺&#xff08;Tiling&#xff09;是地图服务中常见的技术&#xff0c;用于将大尺寸的地图数据分割成许多小块&#xff08;瓦片&#xff09;&#xff0c;便于高效加载和展示。这种技术特别适用于网络环境&#xff0c;因为它允许浏览器只加载当前视图窗口内所需的地图瓦片…

IT行业现状与未来趋势分析

IT行业现状与未来趋势显示出持续的活力和变革&#xff0c;以下是上大学网&#xff08;www.sdaxue.com&#xff09;关于IT行业现状与未来趋势分析&#xff0c;供大家参考。 当前现状&#xff1a; 市场需求持续增长&#xff1a;随着信息时代的深入发展&#xff0c;各行各业对信息…

LLM Agent智能体综述(超详细)

前言 &#x1f3c6;&#x1f3c6;&#x1f3c6;在上一篇文章中&#xff0c;我们介绍了如何部署MetaGPT到本地&#xff0c;获取OpenAI API Key并配置其开发环境&#xff0c;并通过一个开发小组的多Agent案例感受了智能体的强大&#xff0c;在本文中&#xff0c;我们将对AI Agent…

5G消息和5G阅信的释义与区别 | 赛邮科普

5G消息和5G阅信的释义与区别 | 赛邮科普 在 5G 技术全面普及的当下&#xff0c;历史悠久的短信服务也迎来了前所未有的变革。5G 阅信和 5G 消息就是应运而生的两种短信形态&#xff0c;为企业和消费者带来更加丰富的功能和更加优质的体验。 这两个产品名字和形态都比较接近&am…

618速递丨各平台内卷严重,这些行业能否率先炸场?

根据最新发布的《中国网络视听发展研究报告&#xff08;2024&#xff09;》显示&#xff0c;71.2%的受访用户因为看短视频和直播进行网上购物&#xff0c;超40%的用户认为短视频和直播是他们的主要消费渠道&#xff0c;内容消费正成为各大电商争夺的关键赛道。 今年618&#x…

信创厂商选择要点

信创厂商选择要点 信创项目推进&#xff0c;不可避免的要与众多信创厂商打交道。选择靠谱的供应商&#xff0c;合理避坑&#xff0c;是信创项目成败的关键因素。个人认为技术突破能力、产品服务能力、生态建设能力、平滑迁移能力是评估一个信创厂商是否合格的重要标准。 技术…

【iOS】——RunLoop学习

文章目录 一、RunLoop简介1.RunLoop介绍2.RunLoop功能3.RunLoop使用场景4.Run Loop 与线程5.RunLoop源代码和模型图 二、RunLoop Mode1.CFRunLoopModeRef2.RunLoop Mode的五种模式3.RunLoop Mode使用 三、RunLoop Source1.CFRunLoopSourceRefsourc0&#xff1a;source1: 2.CFRu…

Vue中使用$t(‘xxx‘)实现中英文切换;

&#xff08;原文链接&#xff09; 介绍 {{$t(key)}} &#xff1a;是VueI18n插件提供的函数&#xff0c;主要用于根据当前语言环境返回对应的翻译文本&#xff0c;以便在页面上显示多语言内容。 key&#xff1a;作为参数传递给函数$t()的字符串&#xff0c;用于指定需要翻译的…