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

燕郊教育网站建设中山企业手机网站建设

燕郊教育网站建设,中山企业手机网站建设,建筑工程网络计划,彩票网站平台本文介绍PLY 多边形文件格式#xff0c;这是一种用于存储被描述为多边形集合的图形对象。 PLY文件格式的目标是提供一种简单且易于实现但通用的格式足以适用于各种模型。 PLY有两种子格式#xff1a;易于入门的 ASCII 表示形式和用于紧凑存储和快速保存和加载的二进制格式。 …本文介绍PLY 多边形文件格式这是一种用于存储被描述为多边形集合的图形对象。 PLY文件格式的目标是提供一种简单且易于实现但通用的格式足以适用于各种模型。 PLY有两种子格式易于入门的 ASCII 表示形式和用于紧凑存储和快速保存和加载的二进制格式。 我们希望这种格式将促进程序之间以及人群之间的图形对象的交换。 如果需要将gltf、fbx、obj、dae等格式的3D模型转换到PLY格式可以使用这个在线的 3D模型格式转换 工具。 1、PLY格式概述 任何在计算机图形领域工作过一段时间的人时间知道图形存储格式的令人眼花缭乱的阵列对象。 似乎每个程序员、每个新的编程项目都创建一种新的文件格式。 走出这个泥沼的出路是创建一个足够灵活的单一文件格式预测未来的需求这很简单以免被赶走潜在用户。 一旦定义了这样的格式就会出现一套实用程序可以围绕这个格式编写。 添加到套件中的每个新实用程序都可以利用其他人的成果。 PLY 格式将对象描述为顶点、面和其他元素以及颜色和法线方向等可以附加到这些元素上的属性。PLY 文件包含恰好是一个对象的以下描述。 此类对象的来源包括手工数字化对象来自建模程序的多边形对象、范围数据、行进立方体三角化体积数据的等值面、地形数据、光能传递模型等。 可能与对象一起存储的属性包括颜色、表面法线、纹理坐标、透明度、范围数据置信度以及多边形正面和背面的不同属性。 PLY 格式并非旨在作为一般场景描述语言、着色语言或包罗万象的建模格式。 这意味着它不包括变换矩阵、对象实例化、建模层次结构或对象子部分。 典型的 PLY 对象定义只是 (x,y,z) 三元组的顶点列表和面列表由列表中的索引描述顶点。 大多数 PLY 文件都包含此核心信息。 顶点和面是“元素”的两个示例PLY 文件的大部分内容是其列表元素。 给定文件中的每个元素都有固定数量的“属性” 为每个元素指定。 PLY 文件中的典型信息只包含两个元素顶点的 (x,y,z) 三元组和每个面的顶点索引。 应用程序可以创建附加到对象元素的新属性。 例如红色、绿色和蓝色的属性通常与顶点元素相关。 添加新的属性时旧程序不应被中断解释不了的可以被丢弃。 此外还可以创建一个新元素类型并定义与该元素关联的属性。 新元素的例子是边、单元指向面的指针列表和材质环境、漫反射和镜面反射颜色和系数。 新元素还可以被不理解它们的程序携带或丢弃。 2、PLY文件结构 这是典型 PLY 文件的结构 标头顶点列表面列表其他元素的列表 标头是一系列以回车符结尾的文本行描述文件的其余部分。 标头包含每个的描述 元素类型包括元素的名称例如 edge有多少个这样的元素位于对象中以及关联的各种属性的列表与元素。 标头还表明该文件是二进制文件还是 ASCII 文件。标头后面是每种元素类型的元素列表按照表头中描述的顺序出现。 以下是一个立方体模型的完整 ASCII 描述。 同一对象的二进制文件的标头 仅仅是用 binary_little_endian或 binary_big_endian 代表单词 ascii。 这 括号中的注释不是文件的一部分它们是对此示例的注释。 文件中的注释是普通的关键字标识行以 comment 开头。 ply format ascii 1.0 { ascii/binary, format version number } comment made by anonymous { comments keyword specified, like all lines } comment this file is a cube element vertex 8 { define vertex element, 8 of them in file } property float32 x { vertex contains float x coordinate } property float32 y { y coordinate is also a vertex property } property float32 z { z coordinate, too } element face 6 { there are 6 face elements in the file } property list uint8 int32 vertex_index { vertex_indices is a list of ints } end_header { delimits the end of the header } 0 0 0 { start of vertex list } 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0 4 0 1 2 3 { start of face list } 4 7 6 5 4 4 0 4 5 1 4 1 5 6 2 4 2 6 7 3 4 3 7 4 0这个示例演示了标头的基本组成部分。 各部分标头是一个以关键词开头、以回车符结尾的 ASCII 字符串甚至标题的开始和结束 ply和 end_header也采用这种形式。 字符 ply必须是文件的前四个字符因为它们是文件的魔力数字。 标题开头之后是关键字 format和ASCII 或二进制格式的规范后跟版本数字。 接下来是多边形中各个元素的描述并且在每个元素描述中是规范特性。 通用元素描述具有以下形式 element element-name number-in-file property data-type property-name-1 property data-type property-name-2 property data-type property-name-3 ...element行后面列出的属性定义了属性的数据类型以及该属性在每个元素中出现的顺序。属性可能具有三种数据类型标量、字符串和列表。 以下是属性可能具有的标量数据类型的列表 nametypenumber of bytesint8character1uint8unsigned character1int16short integer2uint16unsigned short integer2int32integer4uint32unsigned integer4float32single-precision float4float64double-precision float8 这些字节数很重要并且在不同的实现中不得有所不同以保证这些文件可移植。 有一种特殊形式的属性定义使用列表数据类型 property list numerical-type numerical-type property-name上面的立方体数据集文件中的一个示例 property list uint8 int32 vertex_index这意味着属性 vertex_index 首先包含一个无符号字符标识属性包含多少个索引后跟一个包含的证书列表。 这个可变长度列表中的每个整数都是一个顶点的索引。 3、PLY文件的另一个例子 这是另一个立方体定义 ply format ascii 1.0 comment author: anonymous comment object: another cube element vertex 8 property float32 x property float32 y property float32 z property red uint8 { start of vertex color } property green uint8 property blue uint8 element face 7 property list uint8 int32 vertex_index { number of vertices for each face } element edge 5 { five edges in object } property int32 vertex1 { index to first vertex of edge } property int32 vertex2 { index to second vertex } property uint8 red { start of edge color } property uint8 green property uint8 blue end_header 0 0 0 255 0 0 { start of vertex list } 0 0 1 255 0 0 0 1 1 255 0 0 0 1 0 255 0 0 1 0 0 0 0 255 1 0 1 0 0 255 1 1 1 0 0 255 1 1 0 0 0 255 3 0 1 2 { start of face list, begin with a triangle } 3 0 2 3 { another triangle } 4 7 6 5 4 { now some quadrilaterals } 4 0 4 5 1 4 1 5 6 2 4 2 6 7 3 4 3 7 4 0 0 1 255 255 255 { start of edge list, begin with white edge } 1 2 255 255 255 2 3 255 255 255 3 0 255 255 255 2 0 0 0 0 { end with a single black line }该文件为每个顶点指定红色、绿色和蓝色值。 为说明 vertex_index 的可变长度性质对象的前两个面是三角形而不是正方形。 这意味着对象的面数为 7。 该对象还包含一个边的列表。 每条边都包含两个指向边的顶点的指针。 每个边也有一种颜色。 上面定义的五个边突出显示文件中的两个三角形。 前4条边是白色的它们围绕着两个三角形。 最终的边是黑色它是分隔三角形的边。 4、PLY自定义元素 上面的例子展示了三个元素的使用顶点、面和边。 PLY 格式还允许用户定义自己的元素。 定义新元素的格式与定义顶点、边和面完全相同。 这是定义材质属性的标头 element material 6 property ambient_red uint8 { ambient color } property ambient_green uint8 property ambient_blue uint8 property ambient_coeff float32 property diffuse_red uint8 { diffuse color } property diffuse_green uint8 property diffuse_blue uint8 property diffuse_coeff float32 property specular_red uint8 { specular color } property specular_green uint8 property specular_blue uint8 property specular_coeff float32 property specular_power float32 { Phong power }这些行将直接出现在标题中的顶点、面和边的规范之后。 如果我们希望每个顶点都有一个材质我们可以将此行添加到顶点属性的末尾 property material_index int32这个整数是文件中包含的材质列表的索引。对于一个新应用程序的作者来说发明几个要存储在 PLY 文件中的元素可能很吸引人。这种做法应该保持克制。 更好的方法是尝试调整常见元素顶点、面、边、材质到新用途以便其他理解这些的程序elements 可能有助于操作这些元素。 例如一个将分子描述为球体和柱体集合的应用程序 为PLY增加包含分子的 球体和圆柱体元素的定义是很诱人的。 但是如果我们使用顶点和边为此目的的元素为每个元素添加半径属性我们可以继续这些旧的程序。 显然不应为三角形和四边形创建特殊元素而是使用face 元素。 原文链接原文链接 — BimAnt
http://www.w-s-a.com/news/250374/

相关文章:

  • 宝塔搭建网站软文小故事200字
  • 公司网站设计免费虚拟主机网站源码
  • 怎样做好网站用户体验申请网站空间
  • 网站建设优化公司招聘福州网站建设思企
  • 设计网站会员wordpress rss聚合
  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的
  • 网站优化推广软件网站制作公司dedecms
  • 在哪一个网站做社保申报百度小程序开发平台
  • 东莞网站建设_东莞网页设计网站色调代号
  • 濮阳住房和城乡建设部网站给别人做ppt的网站
  • 电子商务网站建设规划心得广告投放媒体
  • 淘宝店铺购买价格宝应百度seo
  • 同一虚拟主机 2个网站如果网站设计时
  • 网站维护的协议做网站 需要 域名 空间
  • 高安建站公司济宁哪里做网站最便宜
  • 南宁建站免费模板简单的html网页设计
  • 吉林省建设 安全 网站沐风seo
  • 自己做捕鱼网站能不能挣钱软件开发公司需要什么硬件设备
  • 大连设计网站公司3小说网站开发
  • 建设环保网站查询系统网站建设168
  • 保险网站程序源码wordpress过滤敏感
  • 简述营销型网站推广的方法网站建设报价方案模板
  • 四川林峰脉建设工程有限公司网站为什么建设营销型网站
  • 网站模板搭建已经建网站做外贸
  • 网站建设选哪个wordpress实现微信登录界面
  • 网页设计网站哪个公司好学网站开发要多少钱