C++ 3D 绘图技术调研

文章目录

  • C++ 3D 绘图技术调研
    • 0. C++ 3D绘图开源库介绍
    • 1. Qt 三维绘图
    • 2. Qt + OpenGL
    • 3. C++ 3D 绘图库 —— PCL 点云库
      • 简介:
    • 4. C++ Open3D
      • **核心功能**
    • 5. QT之qwtplot3d
      • 简介

0. C++ 3D绘图开源库介绍

3D图形处理库介绍(带图片)

C&C++图形图像处理开源库

1. Qt 三维绘图

官方API Qt Documentation

2. Qt + OpenGL

OpenGL只处理与3D图形的绘制,基本上不提供创建用户界面的功能,所以为OpenGL应用程序创建用户界面必须使用其它的图形工其包(如Motif、MFC等)。而Qt的OpenGL模块很好的解决了这个问题,它提供了一个继承自Qwidget的OpenGL部件类QGLWidget,使得该部件类能够像Qt其它部件那样使用,还可以在绘制窗口部件时直接使用OpenGL的API接口。在Qt中为OpenGL提供支持的类主要有以下几个:

  • QGLWidget:用于渲染OpenGL场景的易于使用的Qt部件。
  • QGLColormap:用于在QGLWidget中安装用户自定义的颜色图。
  • QGLContext:封装了用于OpenGL渲染的场景。
  • QGLFormat:指定OpenGL演染场景的显示模式。
  • QGLFrameBufferObject和QGLPixelBuffer分别提供了对GL帧缓冲对象和GL像素缓冲的支持。
  • QGLPaintEngine:QPaintEngine的派生类,为QPainter提供了OpenGL绘图引擎。

基本中文教程文献 Qt OpenGL

目录下:Qt Opengl 教程

3. C++ 3D 绘图库 —— PCL 点云库

参考文献:https://zhuanlan.zhihu.com/p/268524083

简介:

点云数据的处理可以采用获得广泛应用的Point Cloud Library (点云库,PCL库)。PCL库是一个最初发布于2013年的开源C++库,目前最新的版本是2020年3月19日发布的1.10.1。它实现了大量点云相关的通用算法和高效的数据管理。支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与处理的技术结晶,那么PCL在3D信息获取与处理上,就与OpenCV具有同等地位,PCL是BSD授权方式,可以免费进行商业和学术应用。

PCL包含多个模块,如滤波(filter)特征提取(features)关键点(keypoint)配准(registration)k-d树(k-d tree)八叉树(octree)分割(segmentation)抽样一致(Random sample consensus)表面重建(surface)识别(recognition)输入输出(io),**visualization(可视化)**等模块。

PCL库的在线文档链接及demo教程:PCL官方文档

PCL库中文社区:http://www.pclcn.org/

4. C++ Open3D

参考文献:https://blog.csdn.net/ZhangRelay/article/details/103226687

Open3D是一个开放源代码库,支持快速开发处理3D数据的软件。Open3D前端在C ++和Python中公开了一组精心选择的数据结构和算法。后端经过高度优化,并设置为并行化。Open3D是从一开始就开发出来的,带有很少的,经过仔细考虑的依赖项。它可以在不同的平台上设置,并且可以从源代码进行最小的编译。代码干净,样式一致,并通过清晰的代码审查机制进行维护。Open3D已用于许多已发布的研究项目中,并已积极部署在云中。我们欢迎开源社区的贡献。

核心功能

  • 基本的3D数据结构
  • 基本的3D数据处理算法
  • 基本的点云数据处理
  • 场景重建
  • 表面对齐
  • 3D可视化
  • 支持PyTorch和TensorFlow的3D机器学习
  • GPU加速的核心3D操作
  • 支持C ++和Python

基本例程:【Open3d】使用open3d可视化(可视化、动态显示点云)

​ open3d

官方 API: Open3D (C++ API)

​ 资源下载

5. QT之qwtplot3d

简介

qwtplot3d是qt解决三维图形绘制的库,核心通过调用openGL库完成,可以实现三维曲面绘制,三维状态下折线,散点等图形的绘制。但是其在十多年前推出后一直没有太大的更新,而且自带的类并不够丰富,所以在使用时还是有一些问题的。主要参考了引用1中的博客,qwtplot3d库的代码在该博主的博客中可以下载到,另外在github中搜索qwtplot3d,找到标星最多的一个,但是该库有改动,另外可以在引用2中下载到官方库文件。

可能更擅长于绘制三维曲线、曲面、动态曲线等相关的图形

官方网站:Qwtplot3D

几个小例程:Qwtplot3D例程

C++ 3D 绘图技术调研常用库介绍相关推荐

  1. 第二章(1):Python入门:语法基础、面向对象编程和常用库介绍

    第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 目录 第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 1. Python 简介 1.1 Python 是什么? ...

  2. Python水文模型常用库介绍

    Python 特别用作现有程序的粘合剂,无论是用 C 还是 FORTRAN 编写的.对于想要开始使用 Python 的人(对于水文学家),我建议看一下本篇博客介绍的资源. (1) 常用库介绍 CFM ...

  3. C++最佳实践之常用库介绍

    C++的常用库包括:algorithm.chrono.iostream.future.memory.map.queue.unordered_map.regex.set.string.sstream.s ...

  4. Linux环境配置Python库及常用库介绍

    Linux环境配置Python库 Python 的标准库包括了很多的模块, 从 Python 语言自身特定的类型和声明, 到一些只用于少数程序的不著名的模块.在 Linux环境 运行Python 经常 ...

  5. UE5学习笔记(二)——3D材质蓝图的常用节点介绍

    什么是材质:材质是模型表面涂抹的油漆,多层油漆形成了物理基础渲染(PBR Physically Based Rendering),它可以模拟自然界的任何材料的视觉效果. 双击一个材质,可以打开材质蓝图 ...

  6. 3D相机技术调研(飞行时间TOF+双目+结构光)

    1. 深度估计3D相机方案 目前市面上常有的 3D 相机方案主要有3种: 飞行时间(Time of flight,TOF),代表公司微软Kinect2,PMD,SoftKinect, 联想 Phab, ...

  7. boost库 tbb_boost库常用库介绍

    在文本处理部分,conversion/lexcial_cast类用于"用C++"的方法实现数字类型和字符串之间的转换. 主要是替代C标准库中的 atoi. itoa之类的函数.当然 ...

  8. 多视角3D重建技术市场现状研究分析报告-

    辰宇信息咨询市场调研公司最近发布-<2022-2028中国多视角3D重建技术市场现状研究分析与发展前景预测报告> 内容摘要 本文研究中国市场多视角3D重建技术现状及未来发展趋势,侧重分析在 ...

  9. AI: Python 的Matplotlib 绘图算法库 介绍。

    Python 的Matplotlib 绘图算法库 介绍. Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形  . 通过 Matp ...

  10. 3D建模和3D渲染技术专题一: 热身篇,光线追踪(path Tracing),环境光阴影(ambient occlusion),焦距效果(effect focus)介绍

    相比大家都看到过美国迪斯尼或者梦工厂制作的一些动画片,其中很多都是使用3D图像技术来实现的,也就是说根本不用使用摄像机就能拍出一部很好的动画片.现在想开个专题主要介绍一些3D建模和3D渲染. 我之前在 ...

最新文章

  1. 超越Swin,Transformer屠榜三大视觉任务!微软推出新作:Focal Self-Attention
  2. drawable如何只让两个叫圆角_cad怎么使用圆角?cad的圆角怎么使用?
  3. hadoop fs -ls / 出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform
  4. 无法生成部件汇总表_RFID在汽车零部件企业仓储物流中的应用
  5. php怎么实现匿名评论,PHP-匿名对象与匿名类的实现过程-0905
  6. 机器学习算法——K近邻法
  7. Java性能调优小技巧
  8. linux内核计算次方,linux内核中的循环缓冲去的设计与实现
  9. oracleI基础入门(8)--table--union
  10. 冰点下载器手机版apk_冰点文库下载器app下载
  11. 再见shareplex
  12. Kubernetes 学习路径
  13. 点选式验证码?使用深度学习搞定它
  14. JQuery测手速小游戏-遁地龙卷风
  15. tiktok运营学习怎么样
  16. html中引入CSS样式表的3种方式
  17. 【5G科普】由龙母说起的5G名号:NR,gNB,en-gNB,ng-eNB...
  18. 【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization
  19. 仓库每天的账怎样做_仓库管理如何做到“账、物、卡”一致?
  20. 如何无风险地用技术逆袭--技术宅男的华丽转身

热门文章

  1. 颈椎病的康复锻炼方法
  2. 微信分享中将链接图标替换成自定义图片的实例
  3. apple configurator 2 获取appstore ipa包
  4. 大数据—数据收集系统介绍(Flume,Sqoop)
  5. matlab怎么解非满秩矩阵,在numpy或matlab中由满秩非方矩阵求可逆方阵
  6. 从零开始制作Linux
  7. 把脉大连接:“多端协同”的大动脉与“多人协作”的主动脉
  8. Trister Community DAOs最新型DAO架构
  9. 叁德悟带你认识四大名香
  10. 最新款服务器主板,新至强处理器御用座驾,技嘉推出MD71和MD61两款服务器主板...