CN117392315B - 一种基于分布式光伏出力动态绘制星光图的算法 - Google Patents

一种基于分布式光伏出力动态绘制星光图的算法 Download PDF

Info

Publication number
CN117392315B
CN117392315B CN202311323292.8A CN202311323292A CN117392315B CN 117392315 B CN117392315 B CN 117392315B CN 202311323292 A CN202311323292 A CN 202311323292A CN 117392315 B CN117392315 B CN 117392315B
Authority
CN
China
Prior art keywords
model
coordinate system
data
coordinates
algorithm
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202311323292.8A
Other languages
English (en)
Other versions
CN117392315A (zh
Inventor
张朋坤
苏轶
倪学军
朱普东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vtron Software Nanjing Co ltd
Original Assignee
Vtron Software Nanjing Co ltd
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 Vtron Software Nanjing Co ltd filed Critical Vtron Software Nanjing Co ltd
Priority to CN202311323292.8A priority Critical patent/CN117392315B/zh
Publication of CN117392315A publication Critical patent/CN117392315A/zh
Application granted granted Critical
Publication of CN117392315B publication Critical patent/CN117392315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于分布式光伏出力动态绘制星光图的算法,属于三维建模技术领域,包括以下步骤:步骤一:获取数据创建模型对象,具体方式为;步骤二:将所述步骤一中对象池容器中的模型进行合并网格和材质操作;步骤三:进行经纬度数据与世界坐标系以及屏幕坐标系的转化;步骤四:根据转化后的坐标系数据,创建并渲染三维模型。本发明通过上述步骤即可实现自动创建模型并匹配到相应位置,当建模师再次修改模型位置或者模型类型时候只需要修改步骤一中提到的配置文件、本地数据库或者接口中修改原始数据即可,无需美术师在地图上进行二次修改。

Description

一种基于分布式光伏出力动态绘制星光图的算法
技术领域
本发明涉及三维建模的技术领域,尤其涉及一种基于分布式光伏出力动态绘制星光图的算法。
背景技术
三维建模***的主要功能是提供三维建模的环境和工具,帮助人们实现物体的三维数字模型,具体是在计算机上构造三维形体的过程。
在数据可视化***中,涉及到在三维地图中展示光伏发电、火力发电、风力发电、水力发电等绿色电力时,建模师会在3Dmax或玛雅中建造模型然后根据地图示例在三维地图中摆放,此过程不仅繁琐、耗时较长而且如果示例图不准确还需要二次返工。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有一种基于分布式光伏出力动态绘制星光图的算法存在的问题,提出了本发明。
为解决上述技术问题,本发明提供如下技术方案:
一种基于分布式光伏出力动态绘制星光图的算法,包括以下步骤:
步骤一:获取数据创建模型对象,具体方式为:
S1:读取配置文件、本地数据库或者接口请求的方式获取模型本身固定的Json数据;
S2:将获取的数据序列化成对象并进行存储;
S3:针对存储的对象创建对象池容器,对不同层级的模型根据模型标签进行归纳创建后存放在对象池容器中,对象池容器的对象调用方法为:当外部需要某个对象,去对象池容器中调取;判断当前对象池容器中有没有该对象,如果存在则将对象提供出去如果不存在则通过对象工厂创建对应新的对象然后提供出去;最后在每次对象使用完归还给对象池容器,用于下次直接使用;
步骤二:将所述步骤一中对象池容器中的模型基于在Unity引擎中进行合并网格和材质操作;
步骤三:进行经纬度数据与世界坐标系以及屏幕坐标系的转化;
步骤四:根据转化后的坐标系数据,创建并渲染三维模型。
作为本发明所述一种基于分布式光伏出力动态绘制星光图的算法的一种优选方案,其中:所述步骤二中进行合并网格和材质操作的具体方法为:
S1:首先需要将模型上的材质和装饰材质上的贴图进行剥离,遍历所有材质,将贴图信息存储到数组里;
S2:创建新材质并赋予纹理从而实现材质的合并;
S3:最后进行合并网格和材质打包。
作为本发明所述一种基于分布式光伏出力动态绘制星光图的算法的一种优选方案,其中:所述步骤三的经纬度数据与世界坐标系以及屏幕坐标系的转化具体方式为:
S1:根据获取的经纬度坐标数据与引擎中世界坐标系的转换,世界坐标转换成原点位于地球中心的经纬度坐标即(α,β,r)→(x,y,z),转换关系为:
相应的,经纬度坐标转换成世界坐标坐标即(x,y,z)→(α,β,r),转换关系为:
S2:根据屏幕坐标到世界坐标的映射公式,将世界坐标转换成屏幕坐标,设屏幕坐标是(a,b),世界坐标是(α,β,r),R为球体半径,即为在世界坐标系下地球模型相应的半径,则两者转化关系为:
α=R*Cos(a)*Cos(b)
β=R*Sin(a)*Cos(b)
r=R*Sin(b)。
作为本发明所述一种基于分布式光伏出力动态绘制星光图的算法的一种优选方案,其中:所述步骤四中,创建三维模型的具体方式为:
根据步骤三拿到模型在引擎中的世界坐标后,从步骤一的对象池容器中根据设备类型找到对应模型创建即可完成创建。
作为本发明所述一种基于分布式光伏出力动态绘制星光图的算法的一种优选方案,其中:所述步骤四中,渲染三维模型的具体方式为:
通过在Unity引擎中动态添加LOD组件,并给LOD组件设置不同精度的模型,根据摄像机距离某个对象远近,软件自动呈现最清晰层的画面,提升渲染效率;
在Unity渲染过程中,立方体纹理是环境映射的一种实现方法环境映射可以模拟物体周围的环境,从而使物体反射出周围的环境,我们介绍一下常用到的折射和反射,而对于折射,要根据折射定律计算出折射光线,即 n1sina = n2sinb, 其中n1,n2是两个界面的折射率,a是入射角,b是折射角;
对于反射会菲涅耳现象:当光线照射到物体表面上时,一部分发生反射,一部分进入物体内部,发生折射或散射。被反射的光和入射光之间存在一定的比率关系:F(v,n)=F0+(1-F0)(1-dot(V*n))∧5;
其中, F(v,n)表示反射光的强度,v是视线方向,n是表面法线,F0是一个反射系数,用于控制反射的强度。
本发明的有益效果:
本发明通过上述步骤即可实现自动创建模型并匹配到相应位置,当建模师再次修改模型位置或者模型类型时候只需要修改步骤一中提到的配置文件、本地数据库或者接口中修改原始数据即可,无需美术师在地图上进行二次修改。
本发明通过本地配置或接口的形式获取数据,软件完成部署后便于维护,避免了因调整模型位置或数量而去打包带来的繁琐步骤,节约了时间成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明提出的一种基于分布式光伏出力动态绘制星光图的算法的流程示意图;
图2为本发明提出的一种基于分布式光伏出力动态绘制星光图的算法中对向池中创建与归还示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
参照图1-图2,为本发明的一个实施例,提供了一种基于分布式光伏出力动态绘制星光图的算法,包括以下步骤:
步骤一:获取数据创建模型对象,具体方式为:
S1:读取配置文件、本地数据库或者接口请求的方式获取固定的Json数据;
S2:将获取的数据序列化成对象并进行存储;
S3:针对存储的对象创建对象池容器,对不同层级的模型进行归纳创建后存放在对象池容器中,其中对象池容器中创建与归还的方式参照附图2,具体为:
第一步:外部需要某个对象,去对象池容器中调取。
第二步:判断当前对象池容器中有没有该对象,如果存在则将对象提供出去如果不存在则通过对象工厂创建对应新的对象然后提供出去。
第三步:对象使用完归还给对象池,便于下次直接使用;
步骤二:将所述步骤一中对象池容器中的模型进行合并网格和材质操作;
S1:首先需要将模型上的材质和装饰材质上的贴图进行剥离,遍历所有材质,将贴图信息存储到数组里;
S2:创建新材质并赋予纹理从而实现材质的合并;
S3:最后进行合并网格和材质打包。
步骤三:进行经纬度数据与世界坐标系以及屏幕坐标系的转化;
具体方式为:
S1:根据获取的经纬度坐标数据与引擎中世界坐标系的转换,世界坐标转换成原点位于地球中心的经纬度坐标即(α,β,r)→(x,y,z),转换关系为:
相应的,经纬度坐标转换成世界坐标坐标即(x,y,z)→(α,β,r),转换关系为:
需要说明的是,经纬度数据换算出来的是相对于地球上某个点的相对坐标,可以将经纬度坐标理解为相对于地球某个点的笛卡尔坐标。
S2:根据屏幕坐标到世界坐标的映射公式,将世界坐标转换成屏幕坐标,设世界坐标是(α,β,r),屏幕坐标是(a,b),R为球体半径,即为在世界坐标系下地球模型相应的半径,则两者转化关系为:
α=R*Cos(a)*Cos(b)
β=R*Sin(a)*Cos(b)
r=R*Sin(b),即根据世界坐标得到屏幕坐标。
步骤四:根据转化后的坐标系数据,创建并渲染三维模型;
其中,根据步骤三拿到模型在引擎中的世界坐标后,从步骤一的对象池容器中根据设备类型找到对应模型创建即可完成创建,并通过在Unity引擎中动态添加LOD组件,并给LOD组件设置不同精度的模型,根据摄像机距离某个对象远近,软件自动呈现最清晰层的画面,提升渲染效率。
在Unity渲染过程中,立方体纹理是环境映射的一种实现方法环境映射可以模拟物体周围的环境,从而使物体反射出周围的环境,我们介绍一下常用到的折射和反射,而对于折射,要根据折射定律计算出折射光线,即 n1sina = n2sinb, 其中n1,n2是两个界面的折射率,a是入射角,b是折射角;
对于反射会菲涅耳现象:当光线照射到物体表面上时,一部分发生反射,一部分进入物体内部,发生折射或散射。被反射的光和入射光之间存在一定的比率关系:F(v,n)=F0+(1-F0)(1-dot(V*n))∧5;
其中, F(v,n)表示反射光的强度,v是视线方向,n是表面法线,F0是一个反射系数,用于控制反射的强度。
而与其近似的Empricial 菲涅耳近似等式:
FEmpricial(v, n) = max(0, min(1, bias + scale * (1- dot(v, n)power)))
Bias、scale和power是使用菲涅尔近似式的控制项,我们可以在边界处模拟反射光和折射光/漫反射光之间的变化
需要说明的是:创建三维模型后,模型会分为若干层级,这里假设分成3个层级,粗模、中模,精模,摄像机面向模型时,即可把模型渲染到屏幕上,LOD会根据模型距离摄像机的远近自动显示隐藏不同层级的模型,距离较远时,显示粗模隐藏精模和中模,粗模面数少,有些粗糙,渲染会快一些但是。同理距离较近会显示精模隐藏粗模和中模,精细模型面数多,精美渲染会吃力一些。由此提升渲染效率。
综上,本发明通过上述步骤即可实现自动创建模型并匹配到相应位置,当建模师再次修改模型位置或者模型类型时候只需要修改步骤一中提到的配置文件、本地数据库或者接口中修改原始数据即可。无需美术师在地图上进行二次修改;通过本地配置或接口的形式获取数据,软件完成部署后便于维护,避免了因调整模型位置或数量而去打包带来的繁琐步骤,节约了时间成本。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (3)

1.一种基于分布式光伏出力动态绘制星光图的算法,其特征在于,包括以下步骤:
步骤一:获取数据创建模型对象,具体方式为:
S1:读取配置文件、本地数据库或者接口请求的方式获取模型本身固定的Json数据;
S2:将获取的数据序列化成对象并进行存储;
S3:针对存储的对象创建对象池容器,对不同层级的模型根据模型标签进行归纳创建后存放在对象池容器中,对象池容器的对象调用方法为:当外部需要某个对象,去对象池容器中调取;判断当前对象池容器中有没有该对象,如果存在则将对象提供出去如果不存在则通过对象工厂创建对应新的对象然后提供出去;最后在每次对象使用完归还给对象池容器,用于下次直接使用;
步骤二:将所述步骤一中对象池容器中的模型基于在Unity引擎中进行合并网格和材质操作;
步骤三:进行经纬度数据与世界坐标系以及屏幕坐标系的转化;
经纬度数据与世界坐标系以及屏幕坐标系的转化具体方式为:
S1:根据获取的经纬度坐标数据与引擎中世界坐标系的转换,世界坐标转换成原点位于地球中心的经纬度坐标即(α,β,r)→(x,y,z),转换关系为:
相应的,经纬度坐标转换成世界坐标即(x,y,z)→(α,β,r),转换关系为:
S2:根据屏幕坐标到世界坐标的映射公式,将世界坐标转换成屏幕坐标,设屏幕坐标是(a,b),世界坐标是(α,β,r),R为球体半径,即为在世界坐标系下地球模型相应的半径,则两者转化关系为:
α=R*Cos(a)*Cos(b)
β=R*Sin(a)*Cos(b)
r=R*Sin(b);
步骤四:根据转化后的坐标系数据,创建并渲染三维模型;
渲染三维模型的具体方式为:
通过在Unity引擎中动态添加LOD组件,并给LOD组件设置不同精度的模型,根据摄像机距离某个对象远近,软件自动呈现最清晰层的画面,提升渲染效率;
而在Unity渲染过程中,立方体纹理是环境映射的一种实现方法,环境映射模拟物体周围的环境,从而使物体反射出周围的环境,其中涉及到物体的折射和反射,而对于折射,要根据折射定律计算出折射光线,即 n1sina = n2sinb, 其中n1,n2是两个界面的折射率,a是入射角,b是折射角;
对于反射会出现菲涅耳现象:当光线照射到物体表面上时,一部分发生反射,一部分进入物体内部,发生折射或散射;被反射的光和入射光之间存在一定的比率关系:F(v,n)=F0+(1-F0)(1-dot(V*n))∧5;
其中, F(v,n)表示反射光的强度,v是视线方向,n是表面法线,F0是一个反射系数,用于控制反射的强度。
2.根据权利要求1所述的一种基于分布式光伏出力动态绘制星光图的算法,其特征在于:所述步骤二中进行合并网格和材质操作的具体方法为:
S1:首先需要将模型上的材质和装饰材质上的贴图进行剥离,遍历所有材质,将贴图信息存储到数组里;
S2:创建新材质并赋予纹理从而实现材质的合并;
S3:最后进行合并网格和材质打包。
3.根据权利要求1或2所述的一种基于分布式光伏出力动态绘制星光图的算法,其特征在于:所述步骤四中,创建三维模型的具体方式为:
根据步骤三拿到模型在引擎中的世界坐标后,从步骤一的对象池容器中根据设备类型找到对应模型创建即可完成创建。
CN202311323292.8A 2023-10-13 2023-10-13 一种基于分布式光伏出力动态绘制星光图的算法 Active CN117392315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311323292.8A CN117392315B (zh) 2023-10-13 2023-10-13 一种基于分布式光伏出力动态绘制星光图的算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311323292.8A CN117392315B (zh) 2023-10-13 2023-10-13 一种基于分布式光伏出力动态绘制星光图的算法

Publications (2)

Publication Number Publication Date
CN117392315A CN117392315A (zh) 2024-01-12
CN117392315B true CN117392315B (zh) 2024-07-05

Family

ID=89465944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311323292.8A Active CN117392315B (zh) 2023-10-13 2023-10-13 一种基于分布式光伏出力动态绘制星光图的算法

Country Status (1)

Country Link
CN (1) CN117392315B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115496847A (zh) * 2022-09-19 2022-12-20 奥格科技股份有限公司 一种建筑信息三维场景渲染定位方法、***及介质
CN115690336A (zh) * 2023-01-05 2023-02-03 中国电子科技集团公司第十五研究所 一种卫星波束覆盖区域可视化方法、服务器及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107452048B (zh) * 2016-05-30 2019-03-12 网易(杭州)网络有限公司 全局光照的计算方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115496847A (zh) * 2022-09-19 2022-12-20 奥格科技股份有限公司 一种建筑信息三维场景渲染定位方法、***及介质
CN115690336A (zh) * 2023-01-05 2023-02-03 中国电子科技集团公司第十五研究所 一种卫星波束覆盖区域可视化方法、服务器及存储介质

Also Published As

Publication number Publication date
CN117392315A (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
CN106204745B (zh) 一种基于标准图集管理的监测bim模型快速加载交互方法及***
Freitas et al. Modelling solar potential in the urban environment: State-of-the-art review
US7181362B2 (en) Three dimensional tangible interface for interacting with spatial-temporal data using infrared light sources and infrared detectors
US8665266B2 (en) Global visualization process terrain database builder
Kaneda et al. Three dimensional terrain modeling and display for environmental assessment
CN101882323B (zh) 基于高度图的微结构表面全局光照实时绘制方法
US11704866B2 (en) Systems and methods for visualization of building structures
Lu et al. Design and implementation of virtual interactive scene based on unity 3D
Roy A comparative study of lighting simulation packages suitable for use in architectural design
CN111223191A (zh) 面向机载增强合成视景***的大规模场景红外成像实时仿真方法
Yao et al. Multi‐image based photon tracing for interactive global illumination of dynamic scenes
CN106056670A (zh) 塔式太阳能热发电***中剔除遮挡的辐射能密度模拟方法
Iwasaki et al. An efficient method for rendering underwater optical effects using graphics hardware
Wang et al. Comparison of daylight simulation methods for reflected sunlight from curtain walls
CN117392315B (zh) 一种基于分布式光伏出力动态绘制星光图的算法
Freniere et al. Interactive software for optomechanical modeling
CN101533521A (zh) 重建三维表面模型的方法
Iwasaki et al. Efficient rendering of optical effects within water using graphics hardware
Ragia et al. Precise photorealistic visualization for restoration of historic buildings based on tacheometry data
CN114549431B (zh) 从单幅图像估计物体表面材质反射属性的方法
Zimmerlin et al. A sensor simulation and animation system
Xie Research on application of virtual reality technology in virtual marine environment
CN110807256B (zh) 复合式数字化偏振场景的制作方法
CN117456074B (zh) 基于数字孪生仿真的海上风电冲刷坑三维渲染方法和设备
Masuda et al. Sunlight illumination simulation for archaeological investigation-case study of the fugoppe cave

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant