面向工程领域的图形平台介绍

1. 概述

1.1. 什么是图形平台

图形平台指的是某行业的某专业类软件所需要的基础框架及功能的统称,比如我们常见的AUTOCAD,就是面向建筑,水暖,石油等专业行业的一个极具代表性的通用性图形平台。图形平台是一个底层的框架,在这个框架的基础之上,可以根据公司自身需要或者市场需求开发众多的类似的软件。开发一个强大的具备可维护性,复用性,扩展性的图形平台的技术难度非常高,必须具备深厚的技术储备,和一个契合度很高的开发团队。一般来说,公司的图形平台作为基础工具,属于一个公司的核心资产,只会在它的基础上开发新的产品,一般不会对外出售源代码。

1.2. 国内图形平台的现状

国内具备开发图形平台实力的公司并不多,特别是能够开发高质量的图形平台的公司更是少之又少,国内公司一般是使用国外的图形平台做二次开发。国外有名的图形平台比如二维的AUTOCAD,三维的Revit等都封装了底层接口,为专业开发人员提供了二次开发方法或者函数库,开发人员使用这些图形平台,可以在一定程度上满足了开发和应用的需要,提高了应用系统的开发效率,但是由于是基于别人的源发平台,不可能与我们自身的需求完全无缝满足,由于无法获知其内数据组织结构和核心算法,深层开发和系统优化受到极大限制,一些国家处于战略方面的考虑,在图形平台高端效果和核心算法方面禁止或部分限制对我国的出口,造成事实上的技术壁垒和垄断,而且外国商业化的图形平台大都价格昂贵,根据开放程度一套售价数万或者数十万美元,长期使用国外图形平台,势必要持续花费大量的资金,同时造成我国在这一领域缺乏核心技术。

2. 图形平台的一般结构

2.1. 图形平台的示意图

2.1.1. 数据库

数据库是整个系统的核心,用来管理对象模型,是从专业角度抽象而来,整个图形平台是通过数据库驱动运转的,数据库包括创建对象,对象动态识别,对象的存储,对象的组织和对象的通讯,这些对象是以相互继承的关系展开的,如果我们做同一类软件话,整个平台最主要的作用就按照专业定义相应的数据库。

2.1.2. 图形

图形的作用是用来展示数据库中存储的专业数据, 数据库中的专业数据和图形数据形成映射关系,使用者对图形的操作最终会反映到数据库数据的操作上。图形模块同时提供了加速优化算法,比如各种空间分割技术(八叉数,四叉数等),图形系统主要负责对图形的组织,管理与显示,具有图形表示的对象通过调用图形系统的功能,完成对象的显示。

2.1.3. UI

用户界面主要完成对交互事件的组织与管理,并协同图形系统,实现对象的各种交互方式。系统在处理交互事件时,给出一个统一的流程,处理不同的交互事件,如场景的各种显示方式,各种交互的建模方法,同时用户界面模块还包括语法解决模块,用来对键盘输入的字符进行解析。

2.1.4. 控制器

在程序架构中,有一种典型的模式,叫做模型视图控制器(MVC)模式,这里的控制器就是关联数据库和图形的部分,控制器作为一种插件式的模块,把数据库和图形完全隔离开,使他们两者彻底接触耦合,能够分别的复用,比如,数据库如果完全独立,则可以成为专门存储数据的地方,就叫做数据中心,如果图形完全独立,则除了专门用于工程领域外,也可以用于三维仿真等其它领域。

2.2. 图形平台不同模块的组织关系

数据库做为图形平台的核心部分,控制着其它模块的运行,其它模块都要围着数据库转,图形平台各个模块之间可以设计成插件式的组织方式,插件式的组织方式有很多优点,比如可以控制错误,如果在某一模块出现错误,错误不至于影响其它模块,便于复用,开发不同的产品的时候,可直接拖用,容易扩展,在原有插件的基础上开发新的插件。

2.3. 图形平台与产品的关系

2.3.1. 同一类产品

对于同一类产品来说,只需重新定义数据库即可,其它模块如图形模块,算法模块,均可复用,例如钢结构,如果做出了门刚这样的软件,那么再做栈桥这样的软件,只要把数据库按照栈桥的专业逻辑重新定义,其它所有模块都可以复用,专业需求和产品的关系如下:

2.3.2. 不同类的产品

由于整个图形平台是数据库驱动的,所以平台的核心就是定义数据库,如果不同的产品差别太大,亦或完全不同的两个行业,比如建筑行业和石油行业,这样会导致整个数据库完全没有共同点,那么数据库模块和控制器模块都不能复用,只有图形模块可以,具体项目需要具体对待。原则上不同类的产品需要启用不同的开发平台,当然不同平台的设计思路还是有一定共通行的。

3. 评估图形平台的难度及开发成本

由于图形平台技术含量很高,工程量很大(想象一下AUTOCAD和Revit这类二维和三维图形平台的难度),并且需要大量的资金投入,不同的行业需要的图形平台也不同,所以在不知道需求的情况下,无法对公司需要的平台的难度和规模做出一个准确评估。这就要求公司决策层一定要明确设计方向和功能模块,确保完成一个成熟产品,然后从成熟产品里面提取出公共部分,就会形成一个图形平台。避免人力物力的无谓消耗,相当于无形中降低了开发难度和成本。

欢迎交流图形平台技术及3D的一切 微信 likeyou135  公众号 GraphicsPlatform

时间: 2024-10-06 15:36:37

面向工程领域的图形平台介绍的相关文章

Android平台介绍

一.Android平台介绍 什么是智能手机 具有独立的操作系统,独立的运行空间,可以由用户自行安装软件.游戏.导航等第三方应用程序,并可以通过移动通讯网络来实现无线网络接入的手机类型总称. 智能手机操作系统 Android.IOS.Windows Phone.BlackBerry.Symbian 什么是Android Android是一种基于Linux的开源操作系统,主要使用于移动设备,例如智能手机.平板电脑.智能手表.智能电视等等.由Google公司和开放手机联盟领导及开发.Android操作

面向英特尔® x86 平台的 Unity* 优化指南: 第 1 部分

原文地址 目录 工具 Unity 分析器 GPA 系统分析器 GPA 帧分析器 如要充分发挥 x86 平台的作用,您可以在项目中进行多种性能优化,以最大限度地提升性能. 在本指南中,我们将展示 Unity* 软件中的多种工具和特性,以帮助您增强 Unity 项目的性能. 我们将介绍如何处理纹理质量.批处理.标压缩.光烘烤和 HDR 效果. 在本指南结束之际,您将能够了解 Unity 中的性能问题及其成因.关键优化和有助于开发优秀游戏的方法. 首先我们来看看有助于轻松识别应用中潜在热点的工具. 工

PHP.2-LAMP平台介绍及网站的工作原理

LAMP平台介绍及网站的工作原理 1.HTTP协议 URL(UniformResourceLocator)统一资源定位符,就是网页地址的意思.[格式:协议://主机.端口.文件.附加资源] ##URL组成:http://blog.csdn.net/ergouge/article/details/8185219 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供

linux监控平台介绍、zabbix监控介绍、安装zabbix

linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokeping 偏向于监控基础的东西. cacti可以监控网络设备,它的图形表现得非常好,非常漂亮. IDC 机房比较喜欢用cacti.smokeping,因为适合监控网络设备. cacti.nagios.zabbix 服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存

六十四、Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

一.Linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图. open-falcon为小米公司开发,开源后受到诸多大

微信携手第三方再造新平台 - 公众号第三方平台介绍

微信携手第三方,再造新平台,即我们平常所说的公众号第三方平台,是通过微信公众号登录授权,帮助各行各业公众号解决业务需求的第三方网站.是必须基于公众号登录授权,提供解决方案而非一律外包的第三方网站,微信公众号第三方平台是许多开发团队的未来出路. 公众号第三方平台介绍 公众号第三方平台介绍目录 公众号第三方平台是什么? 公众号第三方平台的两种典型业务场景(亦即商业机会) 公众号如何使用第三方平台? 公众号授权流程详解 为什么要成为第三方平台? 为什么要通过登录授权接入?有哪三大优势? 为什么要通过登

铁汇平台介绍亲友开户,即可获得免费提供的奖励

铁汇IronFX集团非常重视业务发展的传递性,比如说介绍亲朋好友来其开户,对这样的客户铁汇平台对其给予特别的奖励. 在铁汇平台介绍亲友开户,即可获得免费提供的奖励. 关于您介绍了那位开户的人,在与IronFX一经核实之后您的帐户将被加入免费提供的奖励资金. 备注:奖金数额取决于您的家人/朋友初始存款金额: 以下是关于铁汇平台入金账户金额以及被介绍人所获得的奖金的比例: 账户类型 您的奖金 $200 至< $1,999 $50 $2,000 至< $4,999 $100 $5,000 至 <

氚云平台介绍

氚云平台介绍 一.概述 氚云,自由构建一切应用 1.属于PaaS+SaaS: 2.提供开发与运行业务应用程序的所有功能(包括数据库.业务定制.工作流与审批.数据分析.可编程云逻辑.实时部署)以及丰富的模板SaaS应用(包括CRM.进销存.费控.流程管理等): 3.允许企业个性化或者全新构建具有社交和移动特性的应用程序. 二.功能介绍 1.完善的支撑架构 组织机构,扁平.矩阵等架构全支持 角色权限,功能.数据.字段全控制 SNS,人与人.人与系统全协同 工作流,全业务流程驱动 任务管理,系统工作实

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍 监控存在的原因 站点出了问题,没有人知道,等用户发现了,才提醒供应商:对公司影响很大 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等 //主流 nagios.zabbix cacti.smokeping偏向于基础监控,成图非常漂亮 //比较适合监控网络设备