WO2022062018A1 - 一种基于WebGL的三维晶体结构可视化方法 - Google Patents

一种基于WebGL的三维晶体结构可视化方法 Download PDF

Info

Publication number
WO2022062018A1
WO2022062018A1 PCT/CN2020/123154 CN2020123154W WO2022062018A1 WO 2022062018 A1 WO2022062018 A1 WO 2022062018A1 CN 2020123154 W CN2020123154 W CN 2020123154W WO 2022062018 A1 WO2022062018 A1 WO 2022062018A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
atoms
crystal
crystal structure
target
Prior art date
Application number
PCT/CN2020/123154
Other languages
English (en)
French (fr)
Inventor
莫晴
杜云飞
陈品
颜辉
许泽鑫
高森
Original Assignee
中山大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中山大学 filed Critical 中山大学
Publication of WO2022062018A1 publication Critical patent/WO2022062018A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/80Data visualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C60/00Computational materials science, i.e. ICT specially adapted for investigating the physical or chemical properties of materials or phenomena associated with their design, synthesis, processing, characterisation or utilisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/10Additive manufacturing, e.g. 3D printing

Definitions

  • the invention relates to the technical field of three-dimensional simulation, and more particularly, to a method for visualizing a three-dimensional crystal structure based on WebGL.
  • the software currently used for crystal structure visualization mainly includes Material Studio, VESTA, VMD, etc.
  • WebGL Web Graphics Library
  • Three.js is a 3D engine running in the browser. By using Three.js, you can directly render 3D models and animation effects on the web page, and quickly load and render high-quality 3D models on the web page. Strong sense of 3D model animation motion effects.
  • the three-dimensional rendering method and device proposed by the publication number CN109493404A (published on 2019-03-19) can realize the three-dimensional visualization of the crystal structure.
  • the present invention provides a WebGL-based three-dimensional crystal structure visualization method in order to overcome the defect that the structure visualization features of periodic crystal structures are not considered in the three-dimensional material visualization technology described in the prior art.
  • the technical scheme of the present invention is as follows:
  • a WebGL-based three-dimensional crystal structure visualization method includes the following steps:
  • step S1 the specific steps of presetting the WebGL metadata and the three.js model include:
  • S1.1 Preset the size of the canvas in the three.js model, preset the cube in the three.js model to assist in displaying the crystal structure, and use any vertex of the cube as the origin to establish the coordinate axis;
  • S1.2 Preset the scene and renderer in the three.js model, where the size of the renderer is equal to the size of the canvas;
  • S1.4 Set the camera used by the three.js model as an orthographic camera, and set the parameters of the current camera; the parameters of the current camera include: the vertical viewing angle of the camera frustum, the aspect ratio of the frustum, the closest distance from the camera to the viewing volume, The farthest distance from the camera to the viewing volume, the target point of the camera; where the aspect ratio of the viewing frustum is set to the aspect ratio of the canvas;
  • S1.6 Set the parallel light source and ambient light source, set the starting point coordinates of the parallel light source, the light attenuation distance of the parallel light and the light attenuation distance of the ambient light.
  • the grid model parameters include element attributes, atomic attributes, and crystal structure attributes; wherein:
  • Element attributes include element symbol, electron layer, whether it is a metal element, valence number, atomic mass, covalent radius, CPK color matching, list of bondable elements; among them, CPK color matching is an internationally accepted color matching of atomic or molecular models Way;
  • Atomic properties include molecular index, the number of atoms contained in the molecule, the scaling ratio of the molecular structure rendering to the canvas, the display of element symbols, chemical formulas, and weights;
  • Crystal structure properties include the number of crystals, the location coordinates of all vertices of the crystal box, lattice constants, space group names, and space group transformation matrices.
  • step S3 its specific steps include:
  • S3.3 Traverse all atoms in the target crystal structure, compare the distances between the atoms, and determine whether a bond is formed according to the distance between the atoms. If so, create a chemical bond between the two atoms.
  • step S3.3 when the interatomic distance d satisfies the bonding restriction condition, it is determined that the interatomic bonding is formed; wherein the expression formula of the bonding restriction condition is as follows:
  • d is the distance between atoms
  • ri is the radius of the ith atom
  • r j is the radius of the jth atom
  • is the bond threshold
  • step S4 the specific steps of creating a grid model representing crystal atoms include:
  • S4.1.1 Obtain the atomic information to be drawn and the position coordinates of the atoms to be rendered from the target crystallographic information file; the atomic information includes the atomic coordinates and their element symbols;
  • S4.1.2 According to the atom information to be drawn and the position coordinates of the atom to be rendered, traverse the set of rendered atoms in the current three.js model cube to determine whether there are other atoms occupying the position, if there are no other atoms in the position, Then according to the position information of the atom and the radius set by the element, a spherical geometry representing the atom is created at the target position in the three.js model cube;
  • step S4 the specific steps of creating a grid model representing chemical bonds between crystal atoms include:
  • the specific step of creating a mesh model representing the crystal box includes: reading the position coordinates of all vertices of the crystal box of the target crystal from the target crystallographic information file, and obtaining the canvas in the current three.js model The center position coordinates of , establish an index to represent the vertices of the crystal box, and create 12 3D line network models according to the index to represent the 12 sides of the crystal box.
  • the specific steps of creating a 3D line network model include: obtaining the position coordinates of vertices at both ends of one side of the crystal box, defining the line color and line width, and then converting the vertices through the transformation matrix in the three.js model.
  • the position coordinates are converted; the line geometry is established according to the converted vertex coordinates, and the 3D line network model is created according to the material and the line geometry.
  • the specific steps of creating a grid model representing the coordinate axis include: using three mutually perpendicular vectors as the a, b, and c axes of the coordinate axis, and setting the color of the coordinate axis; creating a cylindrical geometry, Set the radius and height of the cylinder geometry, the number of bottom triangular cutting faces, and the number of side cutting faces; create a pyramid geometry, set the base radius, height, and the number of bottom triangular cutting faces of the pyramid geometry; use the three.js model
  • the beneficial effects of the technical solution of the present invention are: the present invention can effectively realize the visualization of the three-dimensional crystal structure, and is suitable for the non-periodic small molecular structure and the periodic crystal structure, and especially can display the periodic crystal structure. Structural visualization features.
  • FIG. 1 is a flow chart of the WebGL-based three-dimensional crystal structure visualization method of the present invention.
  • Figure 2 is a rendering of the three-dimensional crystal structure of Fe3O4.
  • the present invention proposes a WebGL-based three-dimensional crystal structure visualization method, as shown in FIG. 1 , which is a flowchart of the WebGL-based three-dimensional crystal structure visualization method of this embodiment.
  • the WebGL metadata that needs to be preset includes coordinate axes, scenes, cameras, renderers, lights, etc.
  • the specific steps are as follows:
  • S1.1 Preset the size of the canvas in the three.js model, preset the cube in the three.js model to assist in displaying the crystal structure, use any vertex of the cube as the origin to establish the coordinate axis, and set whether to display the key;
  • S1.2 The scene and renderer in the three.js model are preset, and the size of the renderer is set to be equal to the size of the canvas;
  • S1.4 Set the camera used by the three.js model as an orthographic camera, and set the parameters of the current camera; the parameters of the current camera include: the vertical viewing angle of the camera frustum, the aspect ratio of the frustum, the closest distance from the camera to the viewing volume, The farthest distance from the camera to the viewing volume, the target point of the camera; where the aspect ratio of the viewing frustum is set to the aspect ratio of the canvas;
  • the camera's z-coordinate is 600, and the camera's target point is at (0,0,0).
  • the coordinates of the starting point of the parallel light source are set to (-1, 1, 2), the light attenuation distance of the parallel light is set to 0.7, and the light attenuation distance of the ambient light is set to 0.3.
  • the grid model parameters include element attributes, atomic attributes, and crystal structure attributes; wherein:
  • Element attributes include element symbol, electron layer, metal element, valence number, atomic mass, covalent radius, CPK color matching, and list of bondable elements;
  • Atomic properties include molecular index, the number of atoms contained in the molecule, the scaling ratio of the molecular structure rendering to the canvas, the display of element symbols, chemical formulas, and weights;
  • Crystal structure properties include the number of crystals, the location coordinates of all vertices of the crystal box, lattice constants, space group names, and space group transformation matrices.
  • d represents the distance between atoms
  • ri represents the radius of the i-th atom
  • r j represents the radius of the j -th atom
  • is the bond formation threshold.
  • the bond formation threshold ⁇ is set as
  • the specific steps of creating a mesh model representing crystal atoms include:
  • S4.1.1 Obtain the atomic information to be drawn and the position coordinates of the atoms to be rendered from the target crystallographic information file; the atomic information includes the atomic coordinates and their element symbols;
  • S4.1.2 According to the atom information to be drawn and the position coordinates of the atom to be rendered, traverse the set of rendered atoms in the current three.js model cube to determine whether other atoms occupy the position, if there are no other atoms in the position Atom, according to the position information of the atom and the radius set by the element, create a spherical geometry representing the atom at the target position in the three.js model cube;
  • the specific steps to create a mesh model representing the chemical bonds between the atoms of the crystal include:
  • the specific steps of creating a mesh model representing the crystal box include: reading the position coordinates of all vertices of the crystal box of the target crystal from the target crystallographic information file, and obtaining the center position coordinates of the canvas in the current three.js model, and establishing an index Representing the vertices of the crystal box, 12 3D line network models are created based on the indices to represent the 12 edges of the crystal box.
  • the specific steps of creating a 3D line network model include: obtaining the position coordinates of the vertices at both ends of one of the sides of the crystal box, defining the line color and line width, and then converting the position coordinates of the vertices through the transformation matrix in the three.js model; Create line geometry based on the transformed vertex coordinates, and then create a 3D line network model based on material and line geometry.
  • the specific steps of creating a grid model representing a coordinate axis include: using three mutually perpendicular vectors as the a, b, and c axes of the coordinate axis, and setting the color of the coordinate axis; creating a cylindrical geometry, setting the radius, Height, number of base triangle cut faces, number of side cut faces; create cone geometry, set base radius, height and number of base triangle cut faces of the cone geometry; use the transformation matrix in the three.js model to enlarge the cylinder Geometry and cone geometry, use the translation matrix in the three.js model to translate the cylinder geometry and cone geometry to the target position in the canvas in the three.js model.
  • S5 Save the created mesh models representing atoms, chemical bonds, crystal boxes, and coordinate axes into the mesh model collection.
  • the preset WebGL metadata and the three.js model that is, according to the set scaling ratio, The rotation matrix and translation matrix are converted, and then the preset camera is used to render all mesh models to the canvas through the renderer to complete the visualization of the 3D crystal structure.
  • ferric oxide crystal as an example, a three-dimensional crystal structure of ferric oxide is constructed.
  • steps S1 to S2 are executed, the initialization of WebGL metadata and three.js model, and the initialization of grid model parameters are completed.
  • the crystallographic information file Fe 3 O 4 .c if uploaded by the user or downloaded from the Internet, and obtain the structural information of the three-dimensional crystal of ferric oxide.
  • the structural formula is Fe 3 O 4
  • the space group is named
  • the unit cell angle ( ⁇ , ⁇ , ⁇ ) is 90, the number of molecules contained in the unit cell Z is 8, and the unit cell size (a, b, c) is 8.384;
  • the first Fe atom is Fe 2+ , and the atomic position
  • the coordinates are (0.625, 0.625, 0.625), the second Fe atom is Fe 3+ , the atomic position coordinates are (0.625, 0.625, 0.625), the third Fe atom is Fe 3+ , and the atomic position coordinates are (0,0 , 0);
  • O atom is O 2- , and the atomic position coordinates are (0.375, 0.375, 0.375).
  • h 1 to h 6 respectively represent the length of each side of the crystal box, and lattice represents the position coordinates of the vertex of the crystal box.
  • the first Fe atom is Fe 2+
  • the atomic position coordinates are (0.625, 0.625, 0.625)
  • the O atom is O 2-
  • the atomic position coordinates are (0.375, 0.375, 0.375), which can be calculated:
  • the set of rendered atoms in the current three.js model cube is traversed to determine whether there are other atoms Occupy this position, if there are no other atoms at this position, then according to the position information of the atom and the radius set by the element, create a spherical geometry representing the atom at the target position in the three.js model cube.
  • the O 2- atom As an example, its atomic position coordinates are (0.375, 0.375, 0.375) and the O atom has a radius of 15.994, so create a sphere geometry with a radius of 15.994 at the spatial coordinates (0.375, 0.375, 0.375). Color the created spherical geometry according to the CPK color matching in the element properties of the mesh model parameters, and use the specular mesh material to create a bright surface material effect on the spherical geometry, that is, to complete the construction of the mesh model representing the crystal atoms.
  • the height of the cylinder representing the chemical bond is calculated as
  • rotateAngle represents the rotation angle
  • projLength represents the length of the object
  • rotateAxis represents the rotation axis.
  • the position coordinates of all vertices of the crystal box of the target crystal are read from the crystallographic information file Fe 3 O 4 .cif and the center of the canvas in the current three.js model is obtained
  • Position coordinates establish an index to represent the vertices of the crystal box, and create 12 3D line network models according to the index to represent the 12 sides of the crystal box.
  • when creating a 3D line network model obtain the position coordinates of the vertices at both ends of one of the sides of the crystal box, define the line color as red, set the line width to 1.5, and then use the transformation matrix in the three.js model.
  • Conversion Create line geometry based on the converted vertex coordinates, and then create a 3D line network model based on the material and line geometry.
  • the goal is to build a model in the order [0,0,0] to [1,0,0], [0,0,0] to [0,1,0], [ 0,0,0] to [0,0,1] as the a, b, c three axes of the coordinate axis, in this embodiment, set to 0xFF0000, 0x00FF00, 0x0000FF; create a cylinder geometry, and set the radius of the cylinder geometry It is 3, the height is 50, the number of triangular cutting surfaces on the bottom surface is 30, and the number of cutting surfaces on the side surface is 1; create a pyramid geometry, set the base radius of the pyramid geometry to 8, the height is 12, and the number of triangular cutting surfaces on the bottom surface is 1.
  • the WebGL-based three-dimensional crystal structure visualization method proposed in this embodiment can effectively realize the visualization of three-dimensional crystal structures, and is suitable for aperiodic small molecular structures and periodic crystal structures, especially, it can display periodic crystal structures. structural visualization features.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Image Generation (AREA)

Abstract

一种基于WebGL的三维晶体结构可视化方法,用以解决现有三维材料可视化技术中没有考虑到周期性晶体结构的结构可视化的技术问题,该方法包括以下步骤:预设WebGL元数据及three.js模型(S1);初始化作为可视化对象的网格模型参数(S2);获取目标晶体学信息文件,从晶体学信息文件中读取目标晶体的结构信息(S3);利用three.js模型,根据目标晶体的结构信息创建分别表示原子、化学键、晶体盒子、坐标轴的网格模型(S4);将创建的分别表示原子、化学键、晶体盒子、坐标轴的网格模型保存到网格模型集合中,根据预设的WebGL元数据及three.js模型并通过渲染器将所有网格模型渲染到画布,完成三维晶体结构可视化(S5)。

Description

一种基于WebGL的三维晶体结构可视化方法 技术领域
本发明涉及三维仿真技术领域,更具体地,涉及一种基于WebGL的三维晶体结构可视化方法。
背景技术
在材料科学与工程学科中,晶体结构占据着至关重要的地位,为了详细地描述和展示材料的晶体结构,需要对其进行可视化。目前用于晶体结构可视化的软件主要包括Material Studio,VESTA,VMD等。
WebGL(Web Graphics Library,Web图形库)是将JavaScript和OpenGLES2.0结合在一起而形成的基于OpenGL的网页绘图标准,WebGL最大的便利之处是免去了为浏览器安装外部插件的麻烦,能够利用GPU加速处理图像。Three.js是一款运行在浏览器中的3D引擎,通过使用Three.js可以直接在网页端渲染三维模型和动画效果,在网页端实现快速加载并渲染出高品质的三维模型,以及实现真实感较强的三维模型动画运动效果。如公开号为CN109493404A(公开日为2019-03-19)提出的三维渲染方法及装置,能够实现将晶体结构进行三维可视化。
然而,目前利用WebGL和HTML5实现三维材料可视化的技术主要针对非周期性小分子结构进行开发,没有考虑到周期性晶体结构的结构可视化特征,无法全面展示晶体结构的可视化特征。
发明内容
本发明为克服上述现有技术所述的三维材料可视化技术中没有考虑到周期性晶体结构的结构可视化特征的缺陷,提供一种基于WebGL的三维晶体结构可视化方法。
为解决上述技术问题,本发明的技术方案如下:
一种基于WebGL的三维晶体结构可视化方法,包括以下步骤:
S1:预设WebGL元数据及three.js模型;
S2:初始化作为可视化对象的网格模型参数;
S3:获取目标晶体学信息文件,从晶体学信息文件中读取目标晶体的结构信 息;
S4:利用three.js模型,根据目标晶体的结构信息创建分别表示原子、化学键、晶体盒子、坐标轴的网格模型;
S5:将创建的分别表示原子、化学键、晶体盒子、坐标轴的网格模型保存到网格模型集合中,根据预设的WebGL元数据及three.js模型并通过渲染器将所有网格模型渲染到画布,完成三维晶体结构可视化。
优选地,S1步骤中,预设WebGL元数据及three.js模型的具体步骤包括:
S1.1:预设three.js模型中画布的尺寸,预设three.js模型中用于辅助展示晶体结构的立方体,以立方体的任一顶点作为原点建立坐标轴;
S1.2:预设three.js模型中场景及渲染器,其中渲染器的大小与画布大小相等;
S1.3:设置three.js模型中的缩放比,并初始化平移矩阵和旋转矩阵;
S1.4:设置three.js模型所用相机为正交相机,设置当前相机的参数;当前相机的参数包括:相机视锥体垂直视野角、视锥体的纵横比、相机离视体积最近距离、相机离视体积最远距离、相机的目标点;其中视锥体的纵横比设置为画布的长宽比;
S1.5:设置用于鼠标拾取的raycaster射线;
S1.6:设置平行光源和环境光源,设定平行光源起点坐标、平行光的灯光衰减距离和环境光的灯光衰减距离。
优选地,S2步骤中,网格模型参数包括元素属性、原子属性、晶体结构属性;其中:
元素属性包括元素符号、电子层、是否为金属元素、价电数、原子质量、共价半径、CPK配色、可成键元素列表;其中,CPK配色是一种国际通用的原子或分子模型的配色方式;
原子属性包括分子索引、分子含有的原子数、分子结构渲染到画布上的缩放比、元素符号的显示、化学公式、权重;
晶体结构属性包括晶体数量、晶体盒子所有顶点的位置坐标、晶格常数、空间群名称、空间群转换矩阵。
优选地,S3步骤中,其具体步骤包括:
S3.1:获取目标晶体学信息文件,从晶体学信息文件中读取绘制目标晶体所 需要的元素属性、原子属性、晶体结构属性数据;
S3.2:根据读取的数据,设置目标晶体结构晶体盒子的顶点位置坐标,获取元素属性以及所有原子的位置坐标,获取目标晶体结构信息中的空间群类型并通过空间群转换矩阵进行空间群转换;
S3.3:遍历目标晶体结构中所有原子,比较各个原子之间的距离,根据各个原子之间的距离判断是否成键,若是,则在该两个原子之间创建化学键。
优选地,S3.3步骤中,当原子间距离d满足成键限制条件时,则判断为原子间成键;其中成键限制条件的表达公式如下:
d≤r i+r j
其中,d表示原子间距离,r i表示第i个原子的半径,r j表示第j个原子的半径,Δ为成键阈值。
优选地,S4步骤中,创建表示晶体原子的网格模型的具体步骤包括:
S4.1.1:从目标晶体学信息文件中获取需要绘制的原子信息、需要渲染的原子的位置坐标;其中原子信息包括原子坐标及其元素符号;
S4.1.2:根据需要绘制的原子信息以及需要渲染的原子的位置坐标,遍历当前three.js模型立方体中已渲染的原子集合,判断是否有其他原子占据该位置,若该位置上没有其他原子,则根据原子的位置信息以及元素设定的半径,在three.js模型立方体中目标位置创建用于表示原子的球状几何体;
S4.1.3:根据网格模型参数元素属性中的CPK配色对所创建的球状几何体进行配色;
S4.1.4:根据所创建的球状几何体,并采用高光网格材质对球状几何体创建光亮表面的材质效果,构建表示晶体原子的网格模型。
优选地,S4步骤中,创建表示晶体原子之间化学键的网格模型的具体步骤包括:
S4.2.1:根据需要绘制的原子信息中的两个相邻的原子的坐标,获取用于表示化学键的圆柱体的高度,根据化学键的属性定义用于表示化学键的圆柱体的半径,根据圆柱体的高度和半径在three.js模型立方体中创建用于表示化学键的圆柱体;
S4.2.2:根据需要绘制的原子信息中的两个相邻的原子的坐标,计算圆柱体的旋转角度及旋转轴,根据旋转角度及旋转轴对圆柱体进行旋转变换;
S4.2.3:将圆柱体通过预设的平移矩阵平移到两个相邻的目标原子中间,圆柱体作为化学键对两个相邻的目标原子进行连接;
S4.2.4:根据所创建的圆柱体,采用高光网格材质对圆柱体创建光亮表面的材质效果,构建表示化学键的网格模型。
优选地,S4步骤中,创建表示晶体盒子的网格模型的具体步骤包括:根据从目标晶体学信息文件中读取目标晶体的晶体盒子所有顶点的位置坐标,并获取当前three.js模型中画布的中心位置坐标,建立索引表示晶体盒子的顶点,根据索引创建12个3D线条网络模型表示晶体盒子的12条边。
优选地,S4步骤中,创建3D线条网络模型的具体步骤包括:获取晶体盒子其中一条边两端顶点的位置坐标,定义线条颜色、线条宽度,然后通过three.js模型中的转换矩阵对顶点的位置坐标进行转换;根据转换后的顶点坐标建立线条几何体,再根据材质和线条几何体创建3D线条网络模型。
优选地,S4步骤中,创建表示坐标轴的网格模型的具体步骤包括:使用三个相互垂直的向量作为坐标轴的a,b,c三轴,设定坐标轴颜色;创建圆柱体几何体,设置圆柱体几何体的半径、高度、底面三角形切割面的数量、侧面切割面的数量;创建椎体几何体,设定椎体几何体的底面半径、高度和底面三角形切割面的数量;使用three.js模型中的转换矩阵放大圆柱体几何体和椎体几何体,利用three.js模型中的平移矩阵将圆柱体几何体和椎体几何体平移到three.js模型中画布中的目标位置。
与现有技术相比,本发明技术方案的有益效果是:本发明能够有效实现三维晶体结构的可视化,且适用于非周期性小分子结构和周期性晶体结构,尤其能够展示周期性晶体结构的结构可视化特征。
附图说明
图1为本发明的基于WebGL的三维晶体结构可视化方法的流程图。
图2为Fe3O4三维晶体结构效果图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理 解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本发明提出一种基于WebGL的三维晶体结构可视化方法,如图1所示,为本实施例的基于WebGL的三维晶体结构可视化方法的流程图。
本实施例提出的基于WebGL的三维晶体结构可视化方法中,具体包括以下步骤:
S1:预设WebGL元数据及three.js模型。
本步骤中,需要预设的WebGL元数据包括坐标轴,场景,相机,渲染器,灯光等,其具体步骤如下:
S1.1:预设three.js模型中画布的尺寸,预设three.js模型中用于辅助展示晶体结构的立方体,以立方体的任一顶点作为原点建立坐标轴,并设置是否显示键;
S1.2:预设three.js模型中场景及渲染器,其中设定渲染器的大小与画布大小相等;
S1.3:设置three.js模型中的缩放比,并初始化平移矩阵和旋转矩阵;
S1.4:设置three.js模型所用相机为正交相机,设置当前相机的参数;当前相机的参数包括:相机视锥体垂直视野角、视锥体的纵横比、相机离视体积最近距离、相机离视体积最远距离、相机的目标点;其中视锥体的纵横比设置为画布的长宽比;
在本实施例中,设置相机视锥体垂直视野角为54.2,视锥体的纵横比等于画布的长宽比,相机离视体积最近距离为0.1,相机离视体积最远距离为2000,设置相机的z坐标为600,相机的目标点在(0,0,0)。
S1.5:设置用于鼠标拾取的raycaster射线,用于计算出鼠标移动的三维空间中的对象;
S1.6:设置平行光源和环境光源,设定平行光源起点坐标、平行光的灯光衰减距离和环境光的灯光衰减距离,然后将设置创建的光源添加到three.js模型的场景中;
在本实施例中,设置平行光源起点坐标为(-1,1,2),设定平行光的灯光衰减距离为0.7,环境光的灯光衰减距离为0.3。
S2:初始化作为可视化对象的网格模型参数。
本步骤中,网格模型参数包括元素属性、原子属性、晶体结构属性;其中:
元素属性包括元素符号、电子层、是否为金属元素、价电数、原子质量、共价半径、CPK配色、可成键元素列表;
原子属性包括分子索引、分子含有的原子数、分子结构渲染到画布上的缩放比、元素符号的显示、化学公式、权重;
晶体结构属性包括晶体数量、晶体盒子所有顶点的位置坐标、晶格常数、空间群名称、空间群转换矩阵。
S3:获取目标晶体学信息文件,从所述晶体学信息文件中读取目标晶体的结构信息;其具体步骤如下:
S3.1:获取目标晶体学信息文件,从所述晶体学信息文件中读取绘制目标晶体所需要的元素属性、原子属性、晶体结构属性数据;
S3.2:根据读取的数据,设置目标晶体结构晶体盒子的顶点位置坐标,获取元素属性以及所有原子的位置坐标,获取目标晶体结构信息中的空间群类型并通过空间群转换矩阵进行空间群转换;
S3.3:遍历目标晶体结构中所有原子,比较各个原子之间的距离,根据所述各个原子之间的距离判断是否成键,若是,则在该两个原子之间创建化学键,其中,其判断是否成键的依据如下式所示:
d≤r i+r j
其中,d表示原子间距离,r i表示第i个原子的半径,r j表示第j个原子的半径,Δ为成键阈值,在本实施例中成键阈值Δ设置为
Figure PCTCN2020123154-appb-000001
S4:利用所述three.js模型,根据所述目标晶体的结构信息创建分别表示原子、化学键、晶体盒子、坐标轴的网格模型。
其中,创建表示晶体原子的网格模型的具体步骤包括:
S4.1.1:从目标晶体学信息文件中获取需要绘制的原子信息、需要渲染的原子的位置坐标;其中原子信息包括原子坐标及其元素符号;
S4.1.2:根据所述需要绘制的原子信息以及需要渲染的原子的位置坐标,遍历当前three.js模型立方体中已渲染的原子集合,判断是否有其他原子占据该位置,若该位置上没有其他原子,则根据所述原子的位置信息以及元素设定的半径,在three.js模型立方体中目标位置创建用于表示原子的球状几何体;
S4.1.3:根据网格模型参数元素属性中的CPK配色对所创建的球状几何体进 行配色;
S4.1.4:根据所创建的球状几何体,并采用高光网格材质对球状几何体创建光亮表面的材质效果,构建表示晶体原子的网格模型。
创建表示晶体原子之间化学键的网格模型的具体步骤包括:
S4.2.1:根据所述需要绘制的原子信息中的两个相邻的原子的坐标,获取用于表示化学键的圆柱体的高度,根据化学键的属性定义用于表示化学键的圆柱体的半径,根据所述圆柱体的高度和半径在three.js模型立方体中创建用于表示化学键的圆柱体;
S4.2.2:根据所述需要绘制的原子信息中的两个相邻的原子的坐标,计算圆柱体的旋转角度及旋转轴,根据所述旋转角度及旋转轴对所述圆柱体进行旋转变换;
S4.2.3:将所述圆柱体通过预设的平移矩阵平移到两个相邻的目标原子中间,所述圆柱体作为化学键对两个相邻的目标原子进行连接;
S4.2.4:根据所创建的圆柱体,采用高光网格材质对圆柱体创建光亮表面的材质效果,构建表示化学键的网格模型。
创建表示晶体盒子的网格模型的具体步骤包括:根据从目标晶体学信息文件中读取目标晶体的晶体盒子所有顶点的位置坐标,并获取当前three.js模型中画布的中心位置坐标,建立索引表示晶体盒子的顶点,根据索引创建12个3D线条网络模型表示晶体盒子的12条边。
创建3D线条网络模型的具体步骤包括:获取所述晶体盒子其中一条边两端顶点的位置坐标,定义线条颜色、线条宽度,然后通过three.js模型中的转换矩阵对顶点的位置坐标进行转换;根据转换后的顶点坐标建立线条几何体,再根据材质和线条几何体创建3D线条网络模型。
创建表示坐标轴的网格模型的具体步骤包括:使用三个相互垂直的向量作为坐标轴的a,b,c三轴,设定坐标轴颜色;创建圆柱体几何体,设置圆柱体几何体的半径、高度、底面三角形切割面的数量、侧面切割面的数量;创建椎体几何体,设定椎体几何体的底面半径、高度和底面三角形切割面的数量;使用three.js模型中的转换矩阵放大圆柱体几何体和椎体几何体,利用three.js模型中的平移矩阵将圆柱体几何体和椎体几何体平移到three.js模型中画布中的目标位置。
S5:将创建的分别表示原子、化学键、晶体盒子、坐标轴的网格模型保存到 网格模型集合中,根据预设的WebGL元数据及three.js模型,即根据设定好的缩放比例、旋转矩阵、平移矩阵进行转换,再利用预设的相机,通过渲染器将所有网格模型渲染到画布,完成三维晶体结构可视化。
在一具体实施过程中,以四氧化三铁晶体为例,构建四氧化三铁三维晶体结构。
首先,执行S1~S2步骤后完成WebGL元数据及three.js模型的初始化,以及网格模型参数的初始化。
读取用户上传的或通过网络下载的晶体学信息文件Fe 3O 4.cif,获取四氧化三铁三维晶体的结构信息,具体的,结构式为Fe 3O 4,空间群名为
Figure PCTCN2020123154-appb-000002
晶胞夹角(α,β,γ)均为90,晶胞包含的分子数Z为8,晶胞尺寸(a,b,c)为8.384;第一个Fe原子为Fe 2+,原子位置坐标为(0.625,0.625,0.625),第二个Fe原子为Fe 3+,原子位置坐标为(0.625,0.625,0.625),第三个Fe原子为Fe 3+,原子位置坐标为(0,0,0);O原子为O 2-,原子位置坐标是(0.375,0.375,0.375)。再根据晶体学信息文件Fe 3O 4.cif中晶体的对称位置和空间群信息,获得晶胞中所有原子的位置坐标。根据晶胞夹角和晶胞尺寸计算晶体盒子的顶点位置坐标的过程如下:
h 1=a=8.384
h 2=b×cosγ=8.384×0=0
h 3=b×sinγ=8.384×1=8.384
h 4=c×cosβ=8.384×0=0
Figure PCTCN2020123154-appb-000003
Figure PCTCN2020123154-appb-000004
lattice=[[h 1,0,0],[h 2,h 3,0],[h 4,h 5,h 6]]=[[8.384,0,0],[0,8.384,0],[0,0,8.384]]
其中,h 1~h 6分别表示晶体盒子的各边边长,lattice表示晶体盒子的顶点位置坐标。
然后遍历目标晶体结构中所有原子,比较各个原子之间的距离。其中第一个Fe原子为Fe 2+,原子位置坐标为(0.625,0.625,0.625),O原子为O 2-,原子位置坐标是(0.375,0.375,0.375),由此可计算:
Figure PCTCN2020123154-appb-000005
由此可见,Fe原子与O原子之间存在化学键。
进一步地,利用three.js模型,根据上述数据创建表示原子、化学键、晶体盒子、坐标轴的网格模型对象。
其中,在创建表示原子的网格模型对象过程中,根据所述需要绘制的原子信息以及需要渲染的原子的位置坐标,遍历当前three.js模型立方体中已渲染的原子集合,判断是否有其他原子占据该位置,若该位置上没有其他原子,则根据所述原子的位置信息以及元素设定的半径,在three.js模型立方体中目标位置创建用于表示原子的球状几何体。以O 2-原子为例,其原子位置坐标为(0.375,0.375,0.375),O原子半径为15.994,因此在空间坐标为(0.375,0.375,0.375)位置创建半径为15.994的球体几何体。根据网格模型参数元素属性中的CPK配色对所创建的球状几何体进行配色,并采用高光网格材质对球状几何体创建光亮表面的材质效果,即完成构建表示晶体原子的网格模型。
在创建表示化学键的网格模型对象过程中,根据需要绘制的原子信息中的两个相邻的原子的坐标,获取用于表示化学键的圆柱体的高度,根据化学键的属性定义(包括单键、双键、三键)用于表示化学键的圆柱体的半径,根据圆柱体的高度和半径,在three.js模型立方体中创建用于表示化学键的圆柱体。以第一个Fe原子Fe 2+举例,其原子位置坐标为(0.625,0.625,0.625),O原子为O 2-,原子位置坐标是(0.375,0.375,0.375),根据该两个原子的原子位置坐标,计算得到表示化学键的圆柱体高度为
Figure PCTCN2020123154-appb-000006
然后再根据两个相邻的原子的坐标(x i,x j,x k)和(y i,y j,y k)计算获得旋转角度,从而计算得到旋转轴,再根据计算得到的旋转轴和旋转角度对创建的圆柱体几何体进行旋转变换。其计算公式如下:
Figure PCTCN2020123154-appb-000007
Figure PCTCN2020123154-appb-000008
Figure PCTCN2020123154-appb-000009
其中,rotateAngle表示旋转角度,projLength表示物体长度,rotateAxis表示旋转轴。经过对创建的圆柱体几何体进行旋转变换后,将圆柱体几何体通过预设 的平移矩阵平移到两个相邻的目标原子中间,圆柱体作为化学键对两个相邻的目标原子进行连接,再采用高光网格材质对圆柱体创建光亮表面的材质效果,完成构建表示化学键的网格模型。
在创建表示晶体盒子的网格模型的过程中,根据从晶体学信息文件Fe 3O 4.cif中读取目标晶体的晶体盒子所有顶点的位置坐标,并获取当前three.js模型中画布的中心位置坐标,建立索引表示晶体盒子的顶点,根据索引创建12个3D线条网络模型表示晶体盒子的12条边。其中,创建3D线条网络模型时,获取晶体盒子其中一条边两端顶点的位置坐标,定义线条颜色为红色,设置线条宽度为1.5,然后通过three.js模型中的转换矩阵对顶点的位置坐标进行转换;根据转换后的顶点坐标建立线条几何体,再根据材质和线条几何体创建3D线条网络模型。
在创建表示坐标轴的网格模型的过程中,目标在于构建以[0,0,0]到[1,0,0],[0,0,0]到[0,1,0],[0,0,0]到[0,0,1]作为坐标轴的a,b,c三轴,在本实施例中设置为0xFF0000,0x00FF00,0x0000FF;创建圆柱体几何体,设置圆柱体几何体的半径为3,高度为50,底面三角形切割面的数量为30,侧面切割面的数量为1;创建椎体几何体,设定椎体几何体的底面半径为8,高度为12,底面三角形切割面的数量为30。然后使用转换矩阵放大圆柱体几何体和椎体几何体70倍,利用平移矩阵将圆柱体几何体和椎体几何体平移到three.js模型中画布右下方,使其距离画布右端1/6画布宽度,距离画布最下端1/6画布高度。
将上述创建的分别表示原子、化学键、晶体盒子、坐标轴的网格模型对象保存到网格模型集合中,通过渲染器将其渲染到画布上,如图2所示,为应用本实施例的基于WebGL的三维晶体结构可视化方法生成的Fe 3O 4三维晶体结构效果图。
由此可见,本实施例提出的基于WebGL的三维晶体结构可视化方法能够有效实现三维晶体结构的可视化,且适用于非周期性小分子结构和周期性晶体结构,特别地,能够展示周期性晶体结构的结构可视化特征。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明 的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

  1. 一种基于WebGL的三维晶体结构可视化方法,其特征在于,包括以下步骤:
    S1:预设WebGL元数据及three.js模型;
    S2:初始化作为可视化对象的网格模型参数;
    S3:获取目标晶体学信息文件,从所述晶体学信息文件中读取目标晶体的结构信息;
    S4:利用所述three.js模型,根据所述目标晶体的结构信息创建分别表示原子、化学键、晶体盒子、坐标轴的网格模型;
    S5:将创建的分别表示原子、化学键、晶体盒子、坐标轴的网格模型保存到网格模型集合中,根据预设的WebGL元数据及three.js模型并通过渲染器将所有网格模型渲染到画布,完成三维晶体结构可视化。
  2. 根据权利要求1所述的三维晶体结构可视化方法,其特征在于:所述S1步骤中,预设WebGL元数据及three.js模型的具体步骤包括:
    S1.1:预设three.js模型中画布的尺寸,预设three.js模型中用于辅助展示晶体结构的立方体,以立方体的任一顶点作为原点建立坐标轴;
    S1.2:预设three.js模型中场景及渲染器,其中渲染器的大小与画布大小相等;
    S1.3:设置three.js模型中的缩放比,并初始化平移矩阵和旋转矩阵;
    S1.4:设置three.js模型所用相机为正交相机,设置当前相机的参数;当前相机的参数包括:相机视锥体垂直视野角、视锥体的纵横比、相机离视体积最近距离、相机离视体积最远距离、相机的目标点;其中视锥体的纵横比设置为画布的长宽比;
    S1.5:设置用于鼠标拾取的raycaster射线;
    S1.6:设置平行光源和环境光源,设定平行光源起点坐标、平行光的灯光衰减距离和环境光的灯光衰减距离。
  3. 根据权利要求2所述的三维晶体结构可视化方法,其特征在于:所述S2步骤中,所述网格模型参数包括元素属性、原子属性、晶体结构属性;其中:
    元素属性包括元素符号、电子层、是否为金属元素、价电数、原子质量、共 价半径、CPK配色、可成键元素列表;
    原子属性包括分子索引、分子含有的原子数、分子结构渲染到画布上的缩放比、元素符号的显示、化学公式、权重;
    晶体结构属性包括晶体数量、晶体盒子所有顶点的位置坐标、晶格常数、空间群名称、空间群转换矩阵。
  4. 根据权利要求3所述的三维晶体结构可视化方法,其特征在于:所述S3步骤中,其具体步骤包括:
    S3.1:获取目标晶体学信息文件,从所述晶体学信息文件中读取绘制目标晶体所需要的元素属性、原子属性、晶体结构属性数据;
    S3.2:根据读取的数据,设置目标晶体结构晶体盒子的顶点位置坐标,获取元素属性以及所有原子的位置坐标,获取目标晶体结构信息中的空间群类型并通过空间群转换矩阵进行空间群转换;
    S3.3:遍历目标晶体结构中所有原子,比较各个原子之间的距离,根据所述各个原子之间的距离判断是否成键,若是,则在该两个原子之间创建化学键。
  5. 根据权利要求4所述的三维晶体结构可视化方法,其特征在于:所述S3.3步骤中,当原子间距离d满足成键限制条件时,则判断为原子间成键;其中所述成键限制条件的表达公式如下:
    d≤r i+r j
    其中,d表示原子间距离,r i表示第i个原子的半径,r j表示第j个原子的半径,Δ为成键阈值。
  6. 根据权利要求4所述的三维晶体结构可视化方法,其特征在于:所述S4步骤中,创建表示晶体原子的网格模型的具体步骤包括:
    S4.1.1:从目标晶体学信息文件中获取需要绘制的原子信息、需要渲染的原子的位置坐标;其中原子信息包括原子坐标及其元素符号;
    S4.1.2:根据所述需要绘制的原子信息以及需要渲染的原子的位置坐标,遍历当前three.js模型立方体中已渲染的原子集合,判断是否有其他原子占据该位置,若该位置上没有其他原子,则根据所述原子的位置信息以及元素设定的半径,在three.js模型立方体中目标位置创建用于表示原子的球状几何体;
    S4.1.3:根据网格模型参数元素属性中的CPK配色对所创建的球状几何体进行配色;
    S4.1.4:根据所创建的球状几何体,并采用高光网格材质对球状几何体创建光亮表面的材质效果,构建表示晶体原子的网格模型。
  7. 根据权利要求6所述的三维晶体结构可视化方法,其特征在于:所述S4步骤中,创建表示晶体原子之间化学键的网格模型的具体步骤包括:
    S4.2.1:根据所述需要绘制的原子信息中的两个相邻的原子的坐标,获取用于表示化学键的圆柱体的高度,根据化学键的属性定义用于表示化学键的圆柱体的半径,根据所述圆柱体的高度和半径在three.js模型立方体中创建用于表示化学键的圆柱体;
    S4.2.2:根据所述需要绘制的原子信息中的两个相邻的原子的坐标,计算圆柱体的旋转角度及旋转轴,根据所述旋转角度及旋转轴对所述圆柱体进行旋转变换;
    S4.2.3:将所述圆柱体通过预设的平移矩阵平移到两个相邻的目标原子中间,所述圆柱体作为化学键对两个相邻的目标原子进行连接;
    S4.2.4:根据所创建的圆柱体,采用高光网格材质对圆柱体创建光亮表面的材质效果,构建表示化学键的网格模型。
  8. 根据权利要求4所述的三维晶体结构可视化方法,其特征在于:所述S4步骤中,创建表示晶体盒子的网格模型的具体步骤包括:根据从目标晶体学信息文件中读取目标晶体的晶体盒子所有顶点的位置坐标,并获取当前three.js模型中画布的中心位置坐标,建立索引表示晶体盒子的顶点,根据索引创建12个3D线条网络模型表示晶体盒子的12条边。
  9. 根据权利要求8所述的三维晶体结构可视化方法,其特征在于:所述S4步骤中,所述创建3D线条网络模型的具体步骤包括:获取所述晶体盒子其中一条边两端顶点的位置坐标,定义线条颜色、线条宽度,然后通过three.js模型中的转换矩阵对顶点的位置坐标进行转换;根据转换后的顶点坐标建立线条几何体,再根据材质和线条几何体创建3D线条网络模型。
  10. 根据权利要求4所述的三维晶体结构可视化方法,其特征在于:所述S4步骤中,创建表示坐标轴的网格模型的具体步骤包括:使用三个相互垂直的向量作为坐标轴的a,b,c三轴,设定坐标轴颜色;创建圆柱体几何体,设置圆柱体几何体的半径、高度、底面三角形切割面的数量、侧面切割面的数量;创建椎体几何体,设定椎体几何体的底面半径、高度和底面三角形切割面的数量;使用 three.js模型中的转换矩阵放大圆柱体几何体和椎体几何体,利用three.js模型中的平移矩阵将圆柱体几何体和椎体几何体平移到three.js模型中画布中的目标位置。
PCT/CN2020/123154 2020-09-22 2020-10-23 一种基于WebGL的三维晶体结构可视化方法 WO2022062018A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011003353.9A CN112086147B (zh) 2020-09-22 2020-09-22 一种基于WebGL的三维晶体结构可视化方法
CN202011003353.9 2020-09-22

Publications (1)

Publication Number Publication Date
WO2022062018A1 true WO2022062018A1 (zh) 2022-03-31

Family

ID=73739595

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/123154 WO2022062018A1 (zh) 2020-09-22 2020-10-23 一种基于WebGL的三维晶体结构可视化方法

Country Status (2)

Country Link
CN (1) CN112086147B (zh)
WO (1) WO2022062018A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115713986A (zh) * 2022-11-11 2023-02-24 中南大学 基于注意力机制的材料晶体属性预测方法
CN116012562A (zh) * 2022-12-28 2023-04-25 中建电子信息技术有限公司 快速完成bim三维可视化平台模型制作的方法
CN116549800A (zh) * 2023-06-27 2023-08-08 中国人民解放军海军第九七一医院 一种椎管内麻醉实时三维模拟图像导航系统及方法
CN116630486A (zh) * 2023-07-19 2023-08-22 山东锋士信息技术有限公司 一种基于Unity3D渲染的半自动化动画制作方法
CN116664789A (zh) * 2023-07-24 2023-08-29 齐鲁空天信息研究院 一种全球电离层格网数据快速可视化方法和系统
CN117709305A (zh) * 2024-02-05 2024-03-15 煤炭科学研究总院有限公司 高程数据生成方法、装置、电子设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112785673B (zh) * 2021-01-20 2023-11-07 江西航天鄱湖云科技有限公司 一种基于WebGL批量三维模型数据的渲染方法
CN113066538B (zh) * 2021-03-19 2023-11-10 福建天晴数码有限公司 基于3d的微观化学分子式和大分子蛋白的建模方法和系统
CN115129191B (zh) * 2021-03-26 2023-08-15 北京新氧科技有限公司 三维对象拾取方法、装置、设备及存储介质
CN113270158B (zh) * 2021-06-03 2022-03-18 深圳晶泰科技有限公司 一种高效晶体展胞方法及其系统
CN113192578B (zh) * 2021-06-04 2024-06-04 北京市计算中心有限公司 晶体对称性及能带路径确定方法及装置
CN116564442A (zh) * 2022-01-24 2023-08-08 腾讯科技(深圳)有限公司 材料筛选方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102315697A (zh) * 2010-07-09 2012-01-11 索尼公司 无线充电设备和无线充电系统
CN109471899A (zh) * 2018-10-22 2019-03-15 成都四方伟业软件股份有限公司 一种可视化方法、装置及其存储介质
CN110796732A (zh) * 2019-10-21 2020-02-14 天津大学 基于WebGL与C#的矿山三维展示方法
CN111192641A (zh) * 2019-12-20 2020-05-22 深圳晶泰科技有限公司 一种用于复杂web 3D场景下用户交互的系统和方法
CN111191303A (zh) * 2019-10-25 2020-05-22 腾讯科技(深圳)有限公司 Bim数据处理方法、装置、电子设备及计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242971A (zh) * 2018-09-13 2019-01-18 东南大学 一种梁式桥三维模型信息交互平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102315697A (zh) * 2010-07-09 2012-01-11 索尼公司 无线充电设备和无线充电系统
CN109471899A (zh) * 2018-10-22 2019-03-15 成都四方伟业软件股份有限公司 一种可视化方法、装置及其存储介质
CN110796732A (zh) * 2019-10-21 2020-02-14 天津大学 基于WebGL与C#的矿山三维展示方法
CN111191303A (zh) * 2019-10-25 2020-05-22 腾讯科技(深圳)有限公司 Bim数据处理方法、装置、电子设备及计算机存储介质
CN111192641A (zh) * 2019-12-20 2020-05-22 深圳晶泰科技有限公司 一种用于复杂web 3D场景下用户交互的系统和方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115713986A (zh) * 2022-11-11 2023-02-24 中南大学 基于注意力机制的材料晶体属性预测方法
CN116012562A (zh) * 2022-12-28 2023-04-25 中建电子信息技术有限公司 快速完成bim三维可视化平台模型制作的方法
CN116549800A (zh) * 2023-06-27 2023-08-08 中国人民解放军海军第九七一医院 一种椎管内麻醉实时三维模拟图像导航系统及方法
CN116630486A (zh) * 2023-07-19 2023-08-22 山东锋士信息技术有限公司 一种基于Unity3D渲染的半自动化动画制作方法
CN116630486B (zh) * 2023-07-19 2023-11-07 山东锋士信息技术有限公司 一种基于Unity3D渲染的半自动化动画制作方法
CN116664789A (zh) * 2023-07-24 2023-08-29 齐鲁空天信息研究院 一种全球电离层格网数据快速可视化方法和系统
CN116664789B (zh) * 2023-07-24 2023-10-24 齐鲁空天信息研究院 一种全球电离层格网数据快速可视化方法和系统
CN117709305A (zh) * 2024-02-05 2024-03-15 煤炭科学研究总院有限公司 高程数据生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112086147B (zh) 2023-11-03
CN112086147A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
WO2022062018A1 (zh) 一种基于WebGL的三维晶体结构可视化方法
WO2022193941A1 (zh) 图像渲染方法、装置、设备、介质和计算机程序产品
US10137646B2 (en) Preparing a polygon mesh for printing
US8725466B2 (en) System and method for hybrid solid and surface modeling for computer-aided design environments
JP3981302B2 (ja) 3次元の静止した又は動くオブジェクトの階層イメージベース表現並びに該表現をオブジェクトのレンダリングに使用する方法及び装置
JP2011150734A (ja) パノラマのイメージを描画すること、閲覧すること、および注釈をつけること、ならびにそのアプリケーション
CN111325824A (zh) 图像数据展示方法、装置、电子设备及存储介质
CN114219902A (zh) 气象数据的体绘制渲染方法、装置和计算机设备
CN108320334A (zh) 基于点云的三维场景漫游系统的建立方法
Lorenz et al. Interactive multi-perspective views of virtual 3D landscape and city models
US8358311B1 (en) Interpolation between model poses using inverse kinematics
Colburn et al. Image-based remodeling
Vallance et al. Multi-Perspective Images for Visualisation.
JP2023178274A (ja) メッシュ頂点位置についての求根および反復を用いて表面を近似するポリゴンメッシュを生成する方法およびシステム
CN113436307B (zh) 基于osgEarth影像数据到UE4场景的映射算法
Shen et al. Research of VR modeling technology based on VRML and 3DSMAX
US11423618B2 (en) Image generation system and method
Pasewaldt et al. Multi-Perspective Detail+ Overview Visualization for 3D Building Exploration.
Trapp Interactive rendering techniques for focus+ context visualization of 3d geovirtual environments
CN109887076B (zh) 根据视角变化的人脸三维模型建立方法及装置
KR100679289B1 (ko) 벡터화소를 이용한 이미지 처리 시스템
JP3149389B2 (ja) ビットマップ・イメージを環境マップにオーバレイする方法および装置
CN116630567B (zh) 面向数字地球的椭球路线型切片的几何建模及渲染方法
JP4557629B2 (ja) 画像処理方法、画像処理プログラム、及び画像処理コンピュータ
CN115019019B (zh) 一种实现3d特效编辑器的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20954864

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC