当前位置: 首页 > article >正文

三维图形、地理空间、激光点云渲染技术术语解析笔记

三维图形、地理空间、激光点云渲染技术术语解析笔记

在这里插入图片描述

code review!

文章目录

  • 三维图形、地理空间、激光点云渲染技术术语解析笔记
    • 1. Minecraft风格的方块渲染
    • 2. Meshing(网格化)
    • 3. Mipmapping(多级纹理映射)
    • 4. Marching Cubes(行进立方体)
    • 5. 3D Point Sprite Rendering(3D点精灵渲染)
    • 6. Pseudocolor Visualization(伪彩色可视化)
    • 7. Elevation Color Mapping(高程颜色映射)
    • 8. Rainbow/Jet Colormap(蓝→红渐变)
    • 9. Volumetric Point Rendering(体积点渲染)
    • 10. Alpha Blended Rendering(透明混合渲染)
    • 11. Cesium OSM Buildings
    • 12.常用的激光雷达(LiDAR)点云的可视化方式
      • 1. 基础点云渲染模式
        • (1) 3D Point Sprite Rendering(点精灵渲染)
        • (2) 伪彩色高程/强度映射(Elevation/Intensity Colormap)
      • 2. 高级点云处理可视化
        • (1) Voxel Grid Downsampling(体素栅格下采样)
        • (2) 聚类分割结果可视化
        • (3) 地面分割(Ground Segmentation)

1. Minecraft风格的方块渲染

  • 解释:指模仿《Minecraft》这款游戏中以立方体(方块)为基本单位进行三维世界构建和渲染的方法。每个方块都是一个独立的体素(Voxel),场景通过大量方块拼接而成,通常带有像素化风格。

2. Meshing(网格化)

  • 解释:将体素数据或其他离散数据结构转化为三角网格(mesh)的过程。三角网格是三角形面片组成的3D模型,是现代3D图形渲染的主流格式。网格化使得体素世界能高效渲染和利用GPU加速。

3. Mipmapping(多级纹理映射)

  • 解释:为了解决纹理在远距离或缩小时产生的锯齿和闪烁问题,对每张纹理图片生成一系列分辨率递减的版本。渲染时根据距离自动选择合适级别的纹理,提高性能和画质。

4. Marching Cubes(行进立方体)

  • 解释:一种经典的等值面提取算法,用于将三维标量场(如体素、医学CT数据等)转化为三角网格。它通过在每个立方体单元上“行进”,判断顶点是否在等值面内,从而生成逼真的表面。

5. 3D Point Sprite Rendering(3D点精灵渲染)

  • 解释:用二维的小贴图(sprite)在三维空间中代表体素或粒子等对象的渲染技术。每个点在屏幕上以面向摄像机的方式渲染一个小的方块或圆点,常用于点云、粒子系统等。

6. Pseudocolor Visualization(伪彩色可视化)

  • 解释:将灰度图或单通道数据通过特定颜色映射(colormap)转换为彩色图像,以增强数据的可读性。例如,将高低值分别设为蓝色和红色,使结构更明显。

7. Elevation Color Mapping(高程颜色映射)

  • 解释:根据地形的高程值(z值)为每个点赋予不同颜色。例如,低海拔为绿色,高海拔为白色或棕色,常用于地形可视化和地图制作。

8. Rainbow/Jet Colormap(蓝→红渐变)

  • 解释:一种常用的伪彩色映射方案,将数值从最低到最高分别映射为蓝、绿、黄、红等颜色,形成彩虹色渐变。Jet是matplotlib等常见的默认colormap,但有时会因感知不均匀被批评。

9. Volumetric Point Rendering(体积点渲染)

  • 解释:用大量点(point cloud)表示三维体积数据,每个点可有颜色、透明度等属性。渲染时可通过体积效果(如半透明、累加)获得体积感,适用于医学、科学可视化等场景。

10. Alpha Blended Rendering(透明混合渲染)

  • 解释:通过α通道(透明度)对像素颜色进行混合,实现透明、半透明等效果。适用于玻璃、水、体积云等需要透明度表现的对象渲染。

11. Cesium OSM Buildings

  • 解释:Cesium是一款Web三维地球引擎,“Cesium OSM Buildings”是其基于OpenStreetMap数据的全球建筑物3D渲染插件。它能在真实地理位置上显示大量建筑的3D模型,常用于地理信息系统(GIS)可视化。

    1. 建筑体块特性
    • 高度体块为主:OSM Buildings默认使用OpenStreetMap中的建筑轮廓(footprint)和高度数据(如heightlevels标签)生成简化的三维体块,无精细外立面结构(如窗框、阳台等细节)。
    • 数据依赖:细节程度取决于OSM数据的丰富性。若OSM中某建筑包含分层高度或立面信息,可能生成阶梯状体块,但依然缺乏真实几何细节。
    1. 外立面纹理处理
    • 基础材质贴图:默认使用程序化生成的纯色或简单材质(如灰白色混凝土效果),而非真实照片纹理。这是为了平衡性能和视觉效果。
    • 无真实贴图的原因
      • 数据限制:OSM本身不存储建筑外观照片或高分辨率纹理。
      • 性能优化:真实贴图需大量显存和带宽,不适合大规模场景的实时渲染

12.常用的激光雷达(LiDAR)点云的可视化方式

1. 基础点云渲染模式

(1) 3D Point Sprite Rendering(点精灵渲染)
  • 特点
    • 每个激光点用屏幕空间的固定大小像素点(如方形或圆形)表示。
    • 优点:渲染高效,适合实时显示原始点云(如/velodyne_points话题)。
    • 缺点:缺乏深度层次感,远距离点可能遮挡关键信息。
  • RViz配置
    • 选择PointCloud2显示类型,设置StylePoints,调整点大小(Size)和颜色通道(如强度/高度)。
(2) 伪彩色高程/强度映射(Elevation/Intensity Colormap)
  • 用途
    • 高程映射:将点的Z坐标(高度)映射为彩虹色(Jet)或地形色(如绿→白渐变)。
    • 强度映射:将反射强度(Intensity)映射为灰度或热力图(如低强度=蓝,高强度=红)。
  • 应用场景
    • 快速识别障碍物高度差异或反射特性(如金属vs植被)。

2. 高级点云处理可视化

(1) Voxel Grid Downsampling(体素栅格下采样)
  • 用途
    • 降低稠密点云的数据量(如64线激光雷达→体素化后的稀疏点云)。
    • 在RViz中可通过pcl::VoxelGrid滤波后显示,平衡实时性与细节。
  • 视觉表现
    • 点云呈现均匀分布的“颗粒感”,远处区域细节丢失但轮廓保留。
(2) 聚类分割结果可视化
  • 算法依赖
    • 欧式聚类(pcl::EuclideanClusterExtraction)或深度学习分割(如PointPillars)。
  • RViz显示
    • 不同聚类用随机颜色区分(如MarkerArray显示包围盒或凸包)。
(3) 地面分割(Ground Segmentation)
  • 常用方法
    • RANSAC平面拟合或射线法(如pcl::SACMODEL_PLANE)。
  • 可视化
    • 地面点设为绿色,非地面点(障碍物)设为红色,突出可行驶区域。

相关文章:

三维图形、地理空间、激光点云渲染技术术语解析笔记

三维图形、地理空间、激光点云渲染技术术语解析笔记 code review! 文章目录 三维图形、地理空间、激光点云渲染技术术语解析笔记1. Minecraft风格的方块渲染2. Meshing(网格化)3. Mipmapping(多级纹理映射)4. Marching Cubes&…...

从webrtc到janus简介

1.基础知识 1.1 信令的基础知识 在 WebRTC(Web Real-Time Communication) 中,信令(Signaling) 是实现浏览器之间实时通信的关键机制,负责在通信双方(或多方)之间传递控制信息&…...

JVM 核心概念深度解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆 一、JVM内存结构/运行时数据区 JVM运行时数据区主要分为以下几个部分: 程序计数器(PC Register) 线程私有,记录当前线程执行的字节码行号唯…...

api将token设置为环境变量

右上角 可以新增或者是修改当前的环境 环境变量增加一个token,云端值和本地值可以不用写 在返回token的接口里设置后执行操作,通常是登录的接口 右侧也有方法提示 //设置环境变量 apt.environment.set("token", response.json.data.token); 在需要传t…...

SIFT算法详细原理与应用

SIFT算法详细原理与应用 1 SIFT算法由来 1.1 什么是 SIFT? SIFT,全称为 Scale-Invariant Feature Transform(尺度不变特征变换),是一种用于图像特征检测和描述的经典算法。它通过提取图像中的局部关键点,…...

AlphaDrive:通过强化学习和推理释放自动驾驶中 VLM 的力量

AlphaDrive: Unleashing the Power of VLMs in Autonomous Driving via Reinforcement Learning and Reasoning 25年3月来自华中科技大学和地平线的论文 OpenAI 的 o1 和 DeepSeek R1 在数学和科学等复杂领域达到甚至超越了人类专家水平,其中强化学习(R…...

【八股消消乐】如何解决SQL线上死锁事故

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本专栏《八股消消乐》旨在记录个人所背的八股文,包括Java/Go开发、Vue开发、系统架构、大模型开发、具身智能、机器学习、深度学习、力扣算法等相关知识点&#xff…...

如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色

原文:如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色 | w3cschool笔记 (请勿标记为付费!!!!) 在网页开发中,为图片添加动态效果可以显著提升用户体验。今天,我将向…...

html如何在一张图片上的某一个区域做到点击事件

在HTML中&#xff0c;可以通过<map>和<area>标签来实现对图片的某个区域添加点击事件。这种方法通常用于创建图像地图&#xff08;Image Map&#xff09;&#xff0c;允许用户点击图片的不同区域触发不同的事件。 以下是实现步骤和代码示例&#xff1a; 1. 准备图…...

Java数据校验:确保数据完整性和正确性

在软件开发中&#xff0c;数据校验是确保应用程序数据完整性和正确性的关键步骤。Java 提供了多种方式来实现数据校验&#xff0c;从简单的条件检查到复杂的框架支持。在这篇博客中&#xff0c;我们将探讨 Java 中数据校验的重要性、常用的校验注解以及如何整合校验框架来提高代…...

Java-IO流之序列化与反序列化详解

Java-IO流之序列化与反序列化详解 一、序列化与反序列化概述1.1 基本概念1.2 核心接口与类1.3 应用场景 二、Java序列化的基本实现2.1 实现Serializable接口2.2 使用ObjectOutputStream进行序列化2.3 使用ObjectInputStream进行反序列化 三、序列化的高级特性3.1 serialVersion…...

机器学习14-迁移学习

迁移学习学习笔记 一、迁移学习概述 迁移学习是机器学习中的一个重要领域&#xff0c;它旨在解决当目标任务的训练数据有限时&#xff0c;如何利用与目标任务相关但不完全相同的源任务数据来提高学习性能的问题。在现实世界中&#xff0c;获取大量高质量的标注数据往往成本高…...

CAN通信收发测试(USB2CAN模块测试实验)

1.搭建测试环境 电脑&#xff1a;安装 USB 驱动&#xff0c;安装原厂调试工具&#xff0c;安装cangaroo&#xff08;参考安装包的入门教程即可&#xff09; USB驱动路径&#xff1a;~\CAN分析仪资料20230701_Linux\硬件驱动程序 原厂调试工具路径&#xff1a;~\CAN分析仪资料2…...

小白初学SpringBoot记录

1.对于通过json返回用户信息时&#xff0c;需要忽略password字段操作&#xff1a; 1.1 pom配置jackson细节&#xff1a; <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>…...

OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤

一、靶机介绍 靶机地址&#xff1a;https://www.vulnhub.com/entry/bsides-vancouver-2018-workshop%2C231/ 靶机难度&#xff1a;中级&#xff08;CTF&#xff09; 靶机发布日期&#xff1a;2018年3月21日 靶机描述&#xff1a; Boot2root挑战旨在创建一个安全的环境&…...

PDF转Markdown/JSON软件MinerU最新1.3.12版整合包下载

MinerU发布至今我已经更新多版整合包了&#xff0c;5天前MinerU发布了第一个正式版1.0.1&#xff0c;并且看到在18小时之前有更新模型文件&#xff0c;我就做了个最新版的一键启动整合包。 2025年02月21日更新v1.1.0版整合包 2025年02月27日更新v1.2.0版整合包 2025-06-05 更…...

Android第十三次面试总结基础

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

【深入学习Linux】System V共享内存

目录 前言 一、共享内存是什么&#xff1f; 共享内存实现原理 共享内存细节理解 二、接口认识 1.shmget函数——申请共享内存 2.ftok函数——生成key值 再次理解ftok和shmget 1&#xff09;key与shmid的区别与联系 2&#xff09;再理解key 3&#xff09;通过指令查看/释放系统中…...

编程基础:执行流

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 执行流同步&#xff1a;顺序执行&#xff0c;只有一个执行流异步&#xff1a;新开后台(次)执行流&#xff0c;后台执行流要确保不能影响主执行流。共有两个执行流。 阻塞&#xff1a;任务阻塞执行流&#xff0c;导致…...

理解非结构化文档:将 Reducto 解析与 Elasticsearch 结合使用

作者&#xff1a;来自 Elastic Adel Wu 演示如何将 Reducto 的文档处理与 Elasticsearch 集成以实现语义搜索。 Elasticsearch 与业界领先的生成式 AI 工具和提供商有原生集成。欢迎观看我们的网络研讨会&#xff0c;了解如何超越 RAG 基础&#xff0c;或使用 Elastic 向量数据…...

算法训练第十天

232. 用栈实现队列 代码&#xff1a; class MyQueue(object):def __init__(self):self.arr1 []self.arr2 []def push(self, x):""":type x: int:rtype: None"""self.arr1.append(x)def pop(self):""":rtype: int""…...

2种官方方法关闭Windows防火墙

2种官方方法关闭Windows防火墙 引言一、防火墙:你电脑的"智能安检员"二、这些场景,可能需要"临时撤防"三、极速关闭方案方法一:通过系统设置(Win10/11专属通道)方法二:通过传统控制面板(全系统通用:Win7-11全系)四、 必读安全警告(关闭前请三思!…...

[面试精选] 0094. 二叉树的中序遍历

文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 94. 二叉树的中序遍历 - 力扣&#xff08;LeetCode&#xff09; 2. 题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 3. 题目示例 示例 1 : 输入&…...

股指期货期权交易规则是什么?

本文主要介绍股指期货期权交易规则是什么&#xff1f;股指期货期权是以股指期货合约为标的物的期权交易&#xff0c;其规则结合了期货与期权的特点。 股指期货期权交易规则是什么&#xff1f; 一、基础交易规则 交易时间 交易日9:30-11:30&#xff0c;13:00-15:00&#xff0…...

学习笔记(23): 机器学习之数据预处理Pandas和转换成张量格式[1]

学习笔记(23): 机器学习之数据预处理Pandas和转换成张量格式[1] 学习机器学习&#xff0c;需要学习如何预处理原始数据&#xff0c;这里用到pandas&#xff0c;将原始数据转换为张量格式的数据。 1、安装pandas pip install pandas 2、写入和读取数据 >>创建一个人工…...

2025年6月6日第一轮

2025年6月6日 The rapid in Chiese industdy is developnig e,and it is From be in a enjoy a deep is developing The drone industry in China is developing The drone industy in china develops rapidly and is in a leading position in in the world. The dro…...

记一次运行spark报错

提交spark任务运次报错 06/03 18:27:50 INFO Client: Setting up container launch context for our AM 25/06/03 18:27:50 INFO Client: Setting up the launch environment for our AM container 25/06/03 18:27:50 INFO Client: Preparing resources for our AM container …...

12-Oracle 23ai Vector 使用ONNX模型生成向量嵌入

一、Oracle 23ai Vector Embeddings 核心概念​ 向量嵌入&#xff08;Vector Embeddings&#xff09;​​ -- 将非结构化数据&#xff08;文本/图像&#xff09;转换为数值向量 - - 捕获数据的语义含义而非原始内容 - 示例&#xff1a;"数据库" → [0.24, -0.78, 0.5…...

2. 库的操作

2.1 创建数据库 语法&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name # 字符集: 存储编码 [DEFAULT] COLLATE collation_name # 校验集: 比较/选择/读…...

pytorch 与 张量的处理

系列文章目录 文章目录 系列文章目录一、Tensor 的裁剪二、Tensor 的索引与数据筛选torch.wheretorch.indicestorch.gathertorch.masked_selecttorch.taketorch.nonzero&#xff08;省略&#xff09; 三、Tensor 的组合与拼接torch.cattorch.stack 四、Tensor的切片chunksplit …...