热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

1.概述1.1.什么是图形平台图形平台指的是某行业的某专业类软件所需要的基础框架及功能的统称,比如我们常见的AUTOCAD,就是面向建筑,水暖,石油等专业行业的一个极具代表性的通用性图形平
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. 评估图形平台的难度及开发成本

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

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


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 从高级程序员到CTO的4次能力跃迁!如何选择适合的技术负责人?
    本文讲解了从高级程序员到CTO的4次能力跃迁,以及如何选择适合的技术负责人。在初创期、发展期、成熟期的每个阶段,创业公司需要不同级别的技术负责人来实现复杂功能、解决技术难题、提高交付效率和质量。高级程序员的职责是实现复杂功能、编写核心代码、处理线上bug、解决技术难题。而技术经理则需要提高交付效率和质量。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
author-avatar
手浪用户2602925023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有