10种最流行的3D模型文件格式及转换方法

3D 文件格式用于存储有关 3D 模型的信息。 你可能听说过一些最流行的格式,包括 STL、OBJ、FBX 和 DAE。 它们广泛应用于从视频游戏动画到工业增材制造的各种应用中。

在本文中,我们将考虑为什么有这么多不同的格式,探讨 3D 文件格式存储的四个关键功能,讨论如何选择要使用的文件格式,然后我们将进行深入研究 分为当今使用的 10 种最常见的 3D 文件格式,以帮助你选择适合你的项目的3D文件格式!最后别忘了,你可以使用3DConvert这个在线工具在不同的3D文件格式之间转换!
在这里插入图片描述

1、什么是 3D 文件?

3D 文件的基本功能是以计算机可以理解的格式(纯文本或二进制数据)存储有关 3D 模型的信息。

具体来说,它们可以存储有关 3D 模型的四个关键功能的详细信息,但值得注意的是,你可能并不总是在所有项目中利用所有四个功能,而且并非所有文件格式都支持所有四个功能!
在这里插入图片描述

3D 文件可以存储的四个关键特征包括模型的几何形状、模型的表面纹理、场景细节和模型的动画。

在探讨这些功能及其使用方法之前,让我们快速回顾一下 3D 文件的类型。

2、3D 文件的类型

实际上有数百种不同的 3D 文件格式,每种格式都有其存在和使用的理由! 不过,大多数文件类型可以分为两类:私有格式和中性格式。
在这里插入图片描述

  • 私有格式

私有格式文件类型例如 AutoCAD 的 DWG 文件或 Blender 的 BLEND 文件。 它们是专门为与特定软件一起使用而创建的,这给了它们一些明显的优势,因为它们针对与软件一起使用进行了优化。 这往往会使设计过程变得更加快速和顺利。

缺点可能不太明显,但也值得考虑。 由于文件类型是专有的,因此不太可能与其他软件一起使用。 举例来说,如果你正在使用 Blender,但想要与之协作的人正在使用 AutoCAD,他们将无法打开和使用你发送给他们的任何 BLEND 文件!

这就是第二种文件格式的用武之地。

  • 中性格式

中性文件格式跨平台工作,这意味着你可以在一个程序中创建一个文件,将其发送给使用不同软件的人,他们将能够使用同一文件! 中性格式还提供了一种利用专有格式并解决跨平台兼容性问题的好方法。 中性文件格式包括 STL、OBJ、3MF 等。

如果我们采用上面的相同示例,当有一个 BLEND 文件,想要发送给协作者以在 AutoCAD 中处理,那么你可以在处理该文件时利用优化的 BLEND 格式,然后导出模型 作为中性文件类型,例如 OBJ,因为大多数 CAD 软件(包括 Blender)都支持 OBJ。

然后,你的协作者可以采用该中性文件类型并在 AutoCAD 中打开它,不会出现任何问题。 后来,他们甚至可以将其另存为 DWG,进一步利用该格式的优化!

3、3D 文件的主要功能

我们之前简单提到,3D 文件可以存储四个关键特征:模型的几何形状、模型的表面纹理、场景细节以及模型的任何动画。

让我们更深入地了解这些功能,并考虑为什么你可能需要存储这些信息以及这可能如何影响您选择使用的文件类型!

3.1 几何形状

每个 3D 模型都有独特的几何形状,存储该几何形状的能力是任何 3D 文件格式的最基本功能。
在这里插入图片描述

存在三种编码表面几何形状的方法,每种方法都有其优点和缺点。 它们是近似网格、精确网格和构造实体几何(CSG)。

  • 近似网格编码

在近似网格编码中,3D 模型的表面覆盖有微小多边形(通常是三角形)的网格。 此过程也称为“曲面细分”,因此这些文件格式也称为曲面细分格式。
在这里插入图片描述

相同的细分模型,从较高(左)到较低(右)多边形数

多边形近似于模型表面的平滑几何形状,这意味着你可能会失去模型几何形状的准确性。 一般来说,可以通过使用更多的多边形来提高精度,但这也会导致文件更大,因此这些格式最适合不需要非常高分辨率模型的应用程序。

3D 打印就是一个很好的例子。 3D 打印机无法打印超出特定分辨率的文件,因此这种类型的文件非常适合这项工作。 事实上,最流行的 3D 打印文件格式 STL 是一种镶嵌格式。

  • 精确网格编码

对于那些近似或细分网格不够精确的情况,我们有精确的网格。

在这里插入图片描述

由 36 个控制点(红色)定义的 NURBS 区域(绿色)

精确文件格式使用非均匀有理基样条 (NURBS,一种计算机生成的数学模型)形成的曲面,而不是多边形。 这些参数化曲面由少量加权控制点和一组称为节点的参数组成。 从结,可以通过在控制点上平滑插值来以数学方式计算表面。

这使得表面在任何比例下看起来都很光滑,并且可以精确地复制 3D 模型的最小细节。 然而,虽然精确的网格在任何分辨率下都是精确的,但它们的渲染速度要慢得多!

  • 构造实体几何 (CSG)

存储表面几何形状的最终方法称为 CSG。 使用此方法,可以使用原始形状逐块构建设计,这些原始形状使用布尔运算(例如并集、交集和差集)进行组合。
在这里插入图片描述

组合立方体和圆柱体以创建新的复合形状

CSG 非常用户友好,因为你可以用熟悉的形状一点一点地构建模型。 它还具有每个单独的编辑步骤都以 3D 文件格式存储的优点,以便可以随时撤消和重做任何步骤。

3.2 表面纹理

以 3D 文件格式存储的第二个最常见的特征是表面外观。

在这里插入图片描述

应用不同纹理的相同球体

有一些应用程序(3D 打印是一个主要例子)不需要这样做,因为你只需要形状的几何形状。 然而,在许多应用中,3D 模型的外观非常重要。 例如,没有人愿意使用无纹理、无颜色的模型来玩视频游戏。

与其几何形状一样,有关模型表面外观的信息可以通过不同的方式进行编码。

  • 纹理映射

在纹理映射中,3D 模型表面(或多边形网格)中的每个点都映射到二维图像。
在这里插入图片描述

2D 图像(右)映射到 3D 模型(左)

2D 图像的坐标具有颜色和纹理等属性,在渲染 3D 模型时,每个表面点都被分配一个坐标。 首先映射网格的顶点,然后通过在顶点坐标之间进行插值来为其他点分配坐标。

大多数 3D 文件格式都支持纹理映射,但包含纹理信息的 2D 图像有时会存储在单独的文件中,具体取决于格式。

  • 面属性

存储纹理信息的另一种常见方法是为网格的每个面分配一组属性。 常见属性包括颜色、纹理和材料类型。 此外,表面可以具有镜面反射分量,指示光源和其他附近表面的真实镜面反射的颜色和强度。

在这里插入图片描述

具有使其看起来像玻璃的属性和组件的 3D 模型

表面也可以是透明或半透明的,由描述穿过表面的光的颜色和强度的透射组件进行编码。 透明表面通常会扭曲穿过它们的光,这种扭曲可以用称为“折射率”的属性来表示,该属性由模型的材质类型决定。

3.3 场景细节

场景信息描述了 3D 模型在摄像机、光源和其他附近 3D 模型方面的布局。
在这里插入图片描述

在 Blender 中创建的灯光

任何摄像机的位置和详细信息以及光源位置、强度和颜色的详细信息都可以存储在 3D 文件本身中。 有时还会存储 3D 模型与其他模型之间的空间关系。 如果模型由需要以某种方式布局以构成场景的多个部分组成,这一点尤其重要。

值得注意的是,大多数 3D 文件格式不支持场景信息。 通常,这些信息根本不需要,并且会不必要地增大文件大小。 不过,对于那些重要的应用程序(例如视频游戏制作)来说,它绝对至关重要!

3.4 动画

与场景细节一样,并非所有文件格式都允许存储动画。 然而,有几种格式确实可以为需要的应用程序存储动画数据,例如在视频游戏设计或电影制作中,其中大量使用动画。
在这里插入图片描述

左侧骨骼和关节的“骨架”用于操作右侧的 3D 模型并为其设置动画

最流行的 3D 模型动画方式称为“骨骼动画”。 在骨骼动画中,每个模型都有一个由虚拟“骨骼”组成的底层“骨骼”,层次结构中较高的骨骼的运动会影响层次结构中较低的骨骼。 这与人体类似,胫骨的运动会影响脚趾的位置。

虚拟骨骼也通过“关节”连接,这限制了骨骼的移动方式。 这又与人体类似——肘部只能绕指定的轴旋转,而大腿和骨盆之间的球形关节允许完全旋转。

5、哪种 3D 文件格式最好?

那么,如何实际选择最适合你项目的文件格式呢? 当有数百种文件格式可供选择时,这并不是一件容易的事!
在这里插入图片描述

稍后,我们将深入探讨 10 种最流行的 3D 文件格式,但在考虑哪种格式适合你时,我们建议考虑以下三个问题。

  • 该文件将用于什么目的?

浪费存储空间来记录不需要的信息是没有意义的,因此首先考虑你是否确实需要存储场景细节、动画或表面纹理,或者是否只是你需要的几何图形。

保持它对你的项目实用的简单性,并选择适合你的用例的格式,而不是在不必要时使过程过于复杂。

  • 你将使用哪个软件?

你是否熟悉某个程序? 也许你是 Tinkercad 专家,但对 Maya 不太熟练?

发挥你的优势并选择与你选择的设计软件兼容的文件格式。 如果没有必要,3D 建模可能已经足够复杂,无需使用全新的软件。

还值得考虑你的首选软件是否具有专有文件格式,因为它可能值得利用任何优化!

  • 接下来会发生什么?

如果你知道你的模型将在另一个程序或其他应用程序中使用,你可能希望将其保存为跨平台格式,以便轻松协作。 众多中性格式中的一种可能是个好主意。

还值得考虑的是,你自己将来可能希望将该文件用于其他用途。 例如,如果想要 3D 打印你的模型,则可能值得将其保存为首选切片器可以识别的格式,例如 STL 或 3MF。

请记住,你始终可以转换文件格式,尽管有时可能会出现意想不到的副作用,例如丢失细节。 如果能从一开始就选择正确的格式,那总是最好的。

6、最流行的3D文件格式

是时候深入研究 10 种最流行的 3D 文件格式了。

由于 3D 文件可用于多种应用,为了帮助你选择正确的文件类型,我们将介绍每种格式的几个要点:

  • 主要特征:这是四个关键特征。
  • 受欢迎程度和未来前景:这很重要,因为有些文件尽管格式有些陈旧且优化程度较低,但在某些行业中非常受欢迎,而其他格式非常现代且经过优化,但不太常见。 根据你项目的应用和行业,这值得考虑。
  • 最常见的行业:文件是否最常用于 3D 打印行业、动画、国防等。

6.1 STL

STL(来自“立体光刻”)是 3D 打印、快速原型制作和计算机辅助制造领域最重要的中性 3D 文件格式之一。

在这里插入图片描述

使用不同数量的多边形的 STL 格式的同一模型

STL 是最古老的 3D 文件格式之一,由 3D Systems 首席技术官 Chuck Hull 于 1987 年创建。 他还发明了世界上第一台立体光刻3D打印机。 STL 文件格式最初是作为将 3D CAD 模型信息传输到此 3D 打印机的简单方法而创建的。

3D 文件格式的扩展名为 .stl。

STL的主要特征:

  • STL 使用三角网格对 3D 模型的近似表面几何形状进行编码。
  • STL 仅存储模型的几何形状,因此是最简单、最精简的 3D 文件格式之一。
  • STL 格式指定 ASCII 和二进制表示形式。 二进制文件更常见,因为它们更紧凑。
    受欢迎程度和未来前景:

自发明以来,STL 文件格式已被快速原型制作、3D 打印和计算机辅助制造行业广泛采用。 它仍然是 3D 打印中使用最广泛的文件格式。

STL 无法编码颜色信息,因此,由于这个原因,随着多材料和全彩 3D 打印的兴起,STL 在 3D 打印领域的统治可能不会持续太久,OBJ、3MF 或 AMF 等格式将在 3D 打印领域占据主导地位。 行来替换它。

哪些行业使用它?

3D 打印、快速原型制作和计算机辅助制造。

转换工具:3D模型转STL

6.2 OBJ

OBJ 文件格式是 3D 打印领域的另一个中性重量级文件格式。 它也广泛用于 3D 图形。 它最初由 Wavefront Technologies 为其高级可视化动画包开发。
在这里插入图片描述

OBJ模型(Alizhea创建的空白女性游戏头像)

3D 文件格式的扩展名为 .obj。

OBJ文件的主要特征:

  • OBJ 文件格式支持表面几何形状的近似和精确编码。 当使用近似编码时,它不会将表面网格限制为三角形面。 如果用户愿意,他们可以使用其他多边形,例如四边形。 当使用精确编码时,它使用像NURBS这样的平滑曲线和曲面。
  • OBJ 格式还可以编码颜色和纹理信息。 此信息存储在扩展名为 .mtl(材质模板库)的单独文件中。 它不支持任何类型的动画。
  • 该格式指定了 ASCII 和二进制编码,但只有 ASCII 编码是开源的。

受欢迎程度和未来前景:

OBJ 文件格式由于中性,是最流行的 3D 图形交换格式之一。 随着 3D 打印行业向全彩打印迈进,它也越来越受到 3D 打印行业的关注。

哪些行业使用它?

3D 图形和 3D 打印。

转换工具:3D模型转OBJ

6.3 FBX

FBX 是一种专有文件格式,广泛用于电影行业和视频游戏。 它最初由 Kaydara 开发,但于 2006 年被 Autodesk 收购。自收购以来,Autodesk 一直使用 FBX 作为其自己产品组合的交换格式,其中包括 AutoCAD、Fusion 360、Maya、3ds Max 和其他软件包。
在这里插入图片描述

FBX 格式的模型

该格式的文件扩展名是 .fbx。

FBX文件格式的主要特征:

  • FBX 文件格式支持几何和外观相关的属性,例如颜色和纹理。 它还支持骨骼动画和变形。
  • 支持二进制文件和 ASCII 文件。

受欢迎程度和未来前景:

FBX 是最受欢迎的动画选择之一。 此外,它还用作交换格式,促进 3ds Max、Maya、MotionBuilder、Mudbox 和其他专有软件之间的高保真交换。

哪些行业使用它?

视频游戏和电影行业。

转换工具:FBX转GLTF

6.4 DAE(Collada)

Collada 文件属于视频游戏和电影行业广泛使用的中性格式。 它由非营利性技术联盟 Khronos Group 管理。

在这里插入图片描述

DAE 文件可以支持动画中涉及的所有细节

Collada 格式的文件扩展名是 .dae。

Collada格式文件的主要特征:

  • Collada 格式支持几何; 与外观相关的属性,例如颜色、材料、纹理; 和动画。 此外,它是支持运动学和物理的罕见格式之一。
  • Collada 格式使用 XML 标记语言存储数据。

受欢迎程度和未来前景:

Collada 格式背后的初衷是成为 3D 文件格式的标准。 事实上,在 2013 年,它被 ISO 作为公开可用的规范 ISO/PAS 17506。因此,许多 3D 建模程序都支持 Collada 格式。

也就是说,人们的共识是 Collada 格式没有跟上时代的步伐。 它曾经在电影制作中被大量用作 Autodesk Max/Maya 的交换格式,但该行业现在更多地转向 OBJ、FBX 和 Alembic。

哪些行业使用它?

电影和视频游戏行业。

转换工具:3D模型转DAE

6.5 3DS

3DS 是一种用于建筑、工程、教育和制造的专有文件格式。 它是旧版 Autodesk 3D Studio DOS 的原生版本,这是一种流行的建模软件,后来于 1996 年被其后继者 3D Studio MAX 所取代。它开发于 90 年代,是最古老的 3D 文件格式之一,并已成为事实上的行业之一 用于存储 3D 模型或在两种其他专有格式之间交换的标准。
在这里插入图片描述

3DS:老旧但好用

格式扩展名为 .3ds。

3DS格式的主要特征:

  • 3DS 文件格式仅保留有关几何、外观、场景和动画的最基本信息。 它使用三角形网格对表面几何形状进行近似编码,三角形总数限制为 65,536 个。
  • 它存储与外观相关的属性,如颜色、纹理、材质和透射率,以及场景信息,如相机位置。 也可以存储灯光,但该格式不支持定向光源。
  • 3DS 格式指定二进制编码并以块的形式存储信息。 这允许解析器跳过它们无法识别的块,并允许扩展格式。

受欢迎程度和未来前景:

作为最古老的文件格式之一,3DS 已成为存储 3D 模型以及其他 3D 文件格式之间交换的标准。 几乎所有 3D 软件包都支持它。

但是,由于此格式仅保留有关 3D 模型的最基本信息,因此需要通过 MAX 格式(现已被 PRJ 格式取代)来补充此格式,其中包含特定于 Autodesk 3ds Max 的额外信息,以允许场景 完全保存并加载。

哪些行业使用它?

建筑、工程、教育和制造。

6.6 IGES

IGES(发音为eye-jess)是一种中性的老式工具,主要用于国防工业和工程领域。 它是由美国空军于七十年代中期与波音公司和其他公司合作开发的,目的是作为一种可以在所有 CAD 系统之间共享的交换格式。
在这里插入图片描述

自80年代以来,美国国防部要求所有国防和武器合同均使用IGES作为标准文件格式。

IGES 格式对应的文件扩展名是.igs 或.iges。

IGES格式的主要特征:

IGES 格式是一种 ASCII 编码,在表示曲面几何形状时非常灵活。 它能够使用电路图、线框图、精确的自由曲面或 CSG 来存储几何相关信息。

该格式还可以存储颜色,但不支持纹理、材质类型等材质属性。 动画也不支持。

受欢迎程度和未来前景:

IGES 自 70 年代发明以来就受到广泛欢迎。 它已被许多国家采用为国家标准,包括英国和澳大利亚。 几乎所有 CAD 软件都支持它。

IGES 文件格式已不再开发,但仍广泛用于在 CAD、CAM 和 CAE 软件程序之间传输数据。

它是 3D 建模、创建技术图纸和产品设计的热门选择。 它被誉为 3D 业余爱好者的不错选择,尽管大多数专业 3D 艺术家现在更喜欢它的后继者 STEP。

哪些行业使用它?

国防和工程。

6.7 STEP

STEP(产品数据交换标准)或 ISO 10303 是作为 IGES 文件格式的继承者而开发的。 它广泛应用于工程相关领域,如汽车、航空工程和建筑。
在这里插入图片描述

开发 STEP 的官方声明目标是创建一种能够在产品整个生命周期中描述产品数据的机制,独立于任何特定系统。 然而,由于原始标准的复杂性和规模,它后来在四个主要版本中被分解为更小的模块化规范。

相应的文件格式为.stp 或.step。

STEP格式的主要特征:

STEP 格式支持 IGES 格式支持的所有功能。 此外,它还可以对拓扑、几何公差、纹理等材料属性、材料类型和其他复杂的产品数据进行编码。

受欢迎程度和未来前景:

STEP 与 IGES 一样,是 CAD、CAM 和 CAE 程序之间交换数据的流行格式。 为了兼容性,仍然建议使用 IGES,因为它是更常见的格式,并且更可能与接收方的软件一起使用。 然而,对于需要传输与模型外观、零件公差等相关信息的用例,STEP 是正确的格式。

哪些行业使用它?

汽车、航空航天和建筑等工程领域。

转换工具:STEP转STL | STEP转PLY | STEP转OBJ | STEP转GLTF

6.8 VRML 和 X3D

VRML(发音为 vermal,文件扩展名为 .wrl)代表虚拟现实建模语言。 它是为万维网开发的,并被 X3D 所继承。

在这里插入图片描述

使用 X3D 格式的 Spiders3D 虚拟环境‌‌

VRML 一词最初是由 Dave Raggett 在 1994 年提交给第一届万维网会议的题为“扩展 WWW 以支持平台独立虚拟现实”的论文中首次创造的。又过了三年,该格式的成熟版本 VRML97 才问世。 创建并成为 ISO 标准。

VRML97 曾用于一些个人主页和 3D 聊天网站,但该格式未能获得任何重大采用。 此外,VRML 的功能仍然停滞不前,而实时 3D 图形却迅速提高。 最终,VRML 联盟更名为 Web3D 联盟,并开始开发 VRML 格式 X3D 的后续版本,该格式于 2001 年发布。

VRML格式的主要特征:

X3D 是一种基于 XML 的 3D 文件格式。 它支持 VRML 格式的所有功能以及一些附加功能。

VRML 格式使用多边形网格来编码表面几何形状,并可以存储与外观相关的信息,例如颜色、纹理和透明度。

X3D 格式向表面几何体添加了 NURBS 编码、存储场景相关信息的功能以及对动画的支持。

受欢迎程度和未来前景:

X3D 的目标是成为网络的标准 3D 文件格式。 特别是,X3D 小程序可以在浏览器中运行并使用 OpenGL 3D 图形技术以 3D 方式显示内容。 X3D 还被设计为与 HTML5 页面无缝集成,就像图像的 SVG 格式一样。 然而,迄今为止,这种格式尚未得到广泛接受。

哪些行业使用它?

网络应用程序。

6.9 AMF

AMF(增材制造文件格式)用于存储和描述要通过 3D 打印处理的对象。
在这里插入图片描述

它于 2011 年作为美国测试与材料协会推出的 3D 打印标准文件格式,作为广泛使用的当前行业标准 STL 的替代品,旨在解决 STL 文件的不足。

AMF格式的主要特征:

  • AMF 是一种基于 XML 的 3D 文件格式。 AMF 支持 STL 所做的一切(即形状几何),并且能够存储颜色、材质和方向。
  • AMF 也是一种比 STL 更高效的文件格式,因此可以存储更精确的模型,而不会导致文件大小不合理地膨胀。 此外,可以存储弯曲的多边形,这意味着面可以类似于表面轮廓。

受欢迎程度和未来前景:

AMF 旨在成为 3D 打印的完美 3D 文件格式,因此引起了一些人的兴趣,特别是因为它非常适合全彩 3D 打印。 然而,它从未得到广泛使用,大多数人继续使用 STL 文件。

即将推出的 3MF 文件格式也多少引起了人们的注意,如果 STL 失去 3D 打印的头把交椅,它似乎很可能会取代 AMF 成为下一个!

哪些行业使用它?

3D 打印、快速原型制作和计算机辅助制造。

6.10 3MF

3MF(3D 制造格式)是由 Microsoft 创立的 3MF 联盟开发的开源项目。 与AMF类似,3MF旨在解决STL的不足,成为3D打印应用的新标准。

在这里插入图片描述

3MF 标志

3MF格式的主要特征:

  • 3MF 使用与 ZIP 存档相同的压缩方式,使你能够存储 AMF 文件可以存储的所有内容,同时还可以保存打印机配置文件、手动创建的支撑、G 代码命令(例如灯丝更换的暂停)等详细信息,包括缩略图 和修改器,同时比仅包含几何图形的 STL 占用更少的空间。
  • 它也是一种更安全的 3D 打印文件格式,因为无法创建具有非流形边缘的 3MF 文件。

受欢迎程度和未来前景:

其采用速度相对较慢,但随着 3D 打印领域一些较大的参与者对其表示支持,越来越多的 3MF 文件被使用和共享,并且它似乎很快就会取代 STL 占据榜首。

随着最近多材料打印和全彩色打印的流行——得益于 Prusa 的 MMU、马赛克调色板和其他类似的选项变得更容易使用——3MF 似乎来得正是时候。

哪些行业使用它?

3D 打印、快速原型制作和计算机辅助制造。


原文链接:10种最流行的3D文件格式 — BimAnt

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

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

相关文章

Code Lab - 2

pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.10.2cu102.html pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.10.2cu102.html pip install torch-geometric pip install ogb 1. PyG Datasets PyG有两个类,用…

学Python静不下来,看了一堆资料还是很迷茫是为什么

一、前言 最近发现,身边很多的小伙伴学Python都会遇到一个问题,就是资料也看了很多,也花了很多时间去学习但还是很迷茫,时间长了又发现之前学的知识点很多都忘了,都萌生出了想半路放弃的想法。 让我们看看蚂蚁金服的大…

IDEA:Error running,Command line is too long. 解决方法

报错如下: Error running SendSmsUtil. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun.原因是启动命令过长。 解决方法: 1、打开Edit Configurations 2、点击Modify options设置&#x…

关于android studio 几个简单的问题说明

自信是成功的第一步。——爱迪生 1. android studio 如何运行不同项目是否要更换不同的sdk 和 gradle 2.编译Gradle总是错误为什么 3.如何清理android studio 的缓存 4. 关于android Studio中的build 下面的rebuild project

Kafka基本使用

查看Kafka的进程是否在运行 #命令行终端中运行如下命令 ps -ef | grep kafkafind / -iname kafka-server-start.shcd /usr/local/kafka/bin/#启动kafka ./kafka-server-start.sh -daemon /usr/local/kafka/config/server.propertiesKafka默认使用9092端口提供服务&#xf…

使用opencv-python在图片上显示中文

测试图像如下: 核心代码如下: import cv2 import numpy as np from PIL import Image, ImageDraw, ImageFontdef cv2ImgAddText(img, text, left, top, textColor(0, 255, 0), textSize20):if (isinstance(img, np.ndarray)): #判断是否OpenCV图片类型…

javaScript:七夕特辑-对象的认识与应用(包含日期对象及相关案例)

目录 一.前言 二.认识对象 在js中声明对象的方法 1.直接使用{}声明对象 2.使用构造函数创建对象 获取属性的值 执行对象方法 解释 三.对象的应用 代码 效果图 ​编辑 四.日期对象 1.Date 日期对象 2. getFullYear() 获取当前年份 3.getMonth() 获取当前日期对象…

记一次由于整型参数错误导致的任意文件上传

当时误打误撞发现的,觉得挺奇葩的,记录下 一个正常的图片上传的点,文件类型白名单 但是比较巧的是当时刚对上面的id进行过注入测试,有一些遗留的测试 payload 没删,然后在测试上传的时候就发现.php的后缀可以上传了&a…

初识 JVM 01

JVM JRE JDK的关系 JVM 的内存机构 程序计数器 java指令的执行流程: 1 右侧的java源代码编译为左侧的java字节码(右侧第一个方块对应左侧第一个方块) 2 字节码 经过解释器 变为机器码 3 机器码就可以被cpu来执行 程序计数器的作用就…

C语言<自定义类型>结构体、枚举、联合

✨Blog:🥰不会敲代码的小张:)🥰 🉑推荐专栏:C语言🤪、Cpp😶‍🌫️、数据结构初阶💀 💽座右铭:“記住,每一天都是一個新的開始&#x1…

壁仞科技与百度飞桨完成II级兼容性测试

近日,壁仞科技BR104通用GPU与百度飞桨已完成II级兼容性测试。测试结果显示,双方兼容性表现良好,整体运行稳定。这是壁仞科技加入飞桨“硬件生态共创计划”后的阶段性成果。产品兼容性证明本次II级兼容性测试完成了涵盖自然语言处理、计算机视…

七月 NFT 行业解读:游戏和音乐 NFT 引领增长,Opepen 掀起热潮

作者:lesleyfootprint.network 2023 年 7 月,NFT 市场的波动性持续存在,交易量呈下降趋势。然而,游戏和音乐 NFT 等领域的增长引人注目。参与这些细分领域的独立用户数量不断增加,反映了这些领域的复苏。 本综合报告…

opencv 进阶17-使用K最近邻和比率检验过滤匹配(图像匹配)

K最近邻(K-Nearest Neighbors,简称KNN)和比率检验(Ratio Test)是在计算机视觉中用于特征匹配的常见技术。它们通常与特征描述子(例如SIFT、SURF、ORB等)一起使用,以在图像中找到相似…

分布式锁系列之zookeeper分布式锁和mysql分布式锁

目录 介绍 下载安装 基本指令​编辑 java集成zookeeper 官方提供版 永久节点 临时节点​编辑 永久序列化节点 判断当前节点是否存在 获取当前节点中的数据内容 获取当前节点的子节点 更新节点内容 删除节点 zookeeper实现分布式锁 Mysql实现分布式锁 总结 介绍 ZooK…

【Spring框架】Spring事务的介绍与使用方法

⚠️ 再提醒一次:Spring 本身并不实现事务,Spring事务 的本质还是底层数据库对事务的支持。你的程序是否支持事务首先取决于数据库 ,比如使用 MySQL 的话,如果你选择的是 innodb 引擎,那么恭喜你,是可以支持…

2023年计算机设计大赛国三 数据可视化 (源码可分享)

2023年暑假参加了全国大学生计算机设计大赛,并获得了国家三等奖(国赛答辩出了点小插曲)。在此分享和记录本次比赛的经验。 目录 一、作品简介二、作品效果图三、设计思路四、项目特色 一、作品简介 本项目实现对农产品近期发展、电商销售、灾…

基于AVR128单片机世界电子时钟的设计

一、系统方案 上电初始化完成系统初始化,液晶滚动显示北京、莫斯科、东京、伦敦、巴黎、纽约等六个城市的标准时间,显示的内容包括地区名及相应地区的年、月、日、星期、时、分、秒。 使用K1按键控制滚动显示或稳定显示某个地区的时间。 使用K3、K4、K5按…

Linux操作系统面试题汇总

Linux操作系统 1.Linux操作命令 Linux 目录结构及常用命令详细介绍参考 2.在Linux中find和grep的区别? 在Linux中,find命令用于按照指定条件搜索文件或目录,而grep命令则用于在文件中搜索指定的文本字符串。具体来说,find命令可…

使用扩展函数方式,在Winform界面中快捷的绑定树形列表TreeList控件和

在一些字典绑定中,往往为了方便展示详细数据,需要把一些结构树展现在树列表TreeList控件中或者下拉列表的树形控件TreeListLookUpEdit控件中,为了快速的处理数据的绑定操作,比较每次使用涉及太多细节的操作,我们可以把…

深入了解Git:介绍及常用命令指南

当今软件开发领域中,版本控制是一个至关重要的概念,而Git作为最流行的分布式版本控制系统,发挥着不可替代的作用。本文将介绍Git的基本概念以及常用命令,帮助你更好地理解和使用这一强大的工具。 Git简介 Git是一种分布式版本管…