首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将3D多边形转换为2D,执行裁剪,然后转换回3D

将3D多边形转换为2D,执行裁剪,然后再转换回3D是一个在计算机图形学中常见的操作,用于在屏幕上显示3D对象。下面是对这个问题的完善且全面的答案:

  1. 概念: 将3D多边形转换为2D,执行裁剪,然后转换回3D是指将三维空间中的多边形对象转换为二维平面上的投影,进行裁剪操作后再将结果转换回三维空间。
  2. 分类: 这个过程可以分为以下几个步骤: a. 透视投影:将三维空间中的物体投影到二维平面上,以模拟人眼观察物体的效果。 b. 裁剪:根据视口的大小和位置,将超出视口范围的部分进行裁剪,以提高渲染效率。 c. 逆透视投影:将裁剪后的二维图像重新映射到三维空间中,以还原物体的形状和位置。
  3. 优势: 将3D多边形转换为2D,执行裁剪,然后转换回3D的优势包括: a. 显示效果:通过透视投影和裁剪,可以实现更真实的三维物体显示效果。 b. 渲染性能:裁剪可以排除视口外的部分,减少需要渲染的图形数量,提高渲染性能。 c. 交互体验:将3D物体转换为2D投影后,可以进行交互操作,如点击、拖拽等。
  4. 应用场景: 将3D多边形转换为2D,执行裁剪,然后转换回3D的应用场景包括但不限于: a. 游戏开发:在游戏中将三维模型投影到屏幕上进行显示和交互。 b. 虚拟现实(VR)和增强现实(AR):将虚拟场景或增强内容与现实世界进行融合显示。 c. 计算机辅助设计(CAD):将三维模型转换为二维图像进行设计和分析。 d. 可视化数据分析:将复杂的三维数据转换为二维图像进行可视化展示和分析。
  5. 腾讯云相关产品: 腾讯云提供了一系列与云计算和图形处理相关的产品和服务,以下是一些推荐的产品和产品介绍链接地址: a. 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm b. 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql c. 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke d. 腾讯云音视频处理(MPS):https://cloud.tencent.com/product/mps e. 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai f. 腾讯云物联网平台(IoT):https://cloud.tencent.com/product/iotexplorer g. 腾讯云移动开发平台(MTP):https://cloud.tencent.com/product/mtp h. 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos i. 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs j. 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一款具备SAM大模型AI分割,功能强大的地理数据生产编辑查看工具 Geobuilding

· 它能加载和维护海量点/线/面数据· 它能设计GIS场景下的三维漫游· 它能设计GIS场景下的三维模型管理,模型定位/3D点序列· 它能导出支持属性映射的第三方数据格式· 它能导出成GeoJSON、ShapeFile...它能导出丰富的建筑物数据· 它的用户主要来自政府、企业、高校、设计院等机构,数据完全本地化· 它同样可作为GIS数据标注来使用出色的傻瓜化的轮廓绘制能力,绘制精美的轮廓自由绘制、矩形绘制、自由多直角边绘制、正多边形绘制...双GIS驱动,左侧2D右侧3D。更直观的交互操作方式。轻松创建无缝地理网格,极简图像配准工具JPG图像矢量化提供方便的剪刀裁剪工具,像裁纸一样生产网格数据。...属性值可以自动设置要素填充色支持自定义属性字段映射,完美对接第三方业务系统丰富的GIS数据导出可导出为geojson shapefile osm svg格式OSM格式 快速贴图城市模型osm城市模型支持更大数据量维护大数据量的加载...编辑 删除上海市60w+建筑物按轮廓裁剪支持在GIS场景下三维漫游设计生产的GIS数据有更多的玩法,你可以在软件中自定义漫游路线,漫游镜头设计。

42810

Google发布Objectron数据集

然而,由于与2D任务(例如ImageNet,COCO和Open Images)相比,因为缺少大型真实数据集,所以了解3D对象仍然是一项具有挑战性的任务。...在移动设备上运行的3D对象检测解决方案的示例结果 与以前发布的单阶段Objectron模型相反,这些最新版本使用两级架构。第一阶段采用TensorFlow对象检测模型来查找实体的2D裁剪。...然后,第二阶段使用图像裁剪来估计3D边框,同时为下一帧计算实体的2D裁剪,因此实体检测器不需要运行每个帧。第二阶段3D边框预测器在Adreno 650移动GPU上以83 FPS运行。 ?...我们提出了一种算法,可为通用三维面向盒计算准确的3D IoU值。首先,我们使用Sutherland-Hodgman多边形裁剪算法计算两个盒子的面之间的交点。这类似于用于计算机图形学的视锥剔除技术。...使用多边形裁剪算法计算并集的三维交点(左):通过对方框裁剪多边形计算每个面的交点。右:通过计算所有交点的凸包计算交点的体积(绿色)。

81030
  • 自动驾驶:Lidar 3D传感器点云数据和2D图像数据的融合标注

    相机数据本质上是2D的,它不提供对象的距离。尽管可以使用摄像头传感器的焦距和光圈来近似物体的深度,但是由于在摄像头传感器3D场景捕获到2D平面上时会固有地丢失信息,因此无法精确定位。...随后,激光雷达的每一帧图像将被转换回世界坐标系统。摄像机矩阵M1, M2, M3, M4, M5, M6将从每个摄像机坐标系统C1, C2, C3, C4, C5, C6换回世界坐标系统W1。...3D点云数据转换为世界坐标系 通过与自我框架平移和旋转矩阵相乘,激光雷达参考系(L1)中的每个框架都将转换回世界坐标系。...从世界坐标系转换为相机坐标系 下一步是通过与摄影机旋转和平移矩阵相乘,数据从世界参照系转换为摄影机参照系。...从3D相机坐标系转换为2D相机框 一旦数据进入相机参考框架,就需要将其从3D相机参考框架投影到2D相机传感器平面。这是通过与相机固有矩阵相乘来实现的。

    3.1K21

    3D图形渲染技术

    Z轴的坐标系 但是在2D的屏幕坐标上不可能有XYZ立体的坐标轴 所以需要图形算法负责把3D坐标“拍平”显示到2D屏幕上,这个叫做3D投影 3D的点转换为2D的点之后,再用之前链接2D点的方法去连接这些点...,然后就可以得到这个3D2D坐标了 如果用光去找一个3D的物体的时候,用一个平面去展示投影,当转动3D物体的时候,投影会看起来像3D物体,尽管投影面是平面。...电脑也是这样去做的3D转成2D。...首先屏幕就是一个2D的投影平面,根据投射的算法就可以3D转成2D的坐标 正交投影 立方体的各个边在投影中互相平行,可以说利用数学3D转换成了2D的坐标系 正交投影是一种平行投影,类似用一束平行光把物体的影像垂直地投射到地面上...图像需要填充 步骤: 先铺上一层像素网络 扫描线算法,先会去读取多边形的三个点,找出最大和最小的Y值,然后只在这两个点之间进行工作 然后算法从上往下,一次处理一行,计算每一行和多边形相交的两个点

    1.7K20

    一文读懂深度学习中的各种卷积 !!

    2、3D 卷积 在上一节的解释中,我们看到的实际上是对一个3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    37110

    一文读懂深度学习中的N种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    92620

    【DL】一文读懂深度学习中的N种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    64920

    卷积有多少种?一文读懂深度学习中的各种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    74620

    一文读懂深度学习中的N种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    76600

    再谈“卷积”的各种核心设计思想,值得一看!

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    1.1K40

    一文读懂 12种卷积方法

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    88630

    卷积有多少种?一文读懂深度学习的各种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    92920

    【DL】一文读懂深度学习中的N种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    74510

    卷积有多少种?一文读懂深度学习的各种卷积

    二、3D 卷积 在上一节的解释中,我们看到我们实际上是对一个 3D 体积执行卷积。但通常而言,我们仍在深度学习中称之为 2D 卷积。这是在 3D 体积数据上的 2D 卷积。过滤器深度与输入层深度一样。...它将输入平展为 16×1 的矩阵,并将卷积核转换为一个稀疏矩阵(4×16)。然后,在稀疏矩阵和平展的输入之间使用矩阵乘法。之后,再将所得到的矩阵(4×1)转换为 2×2 的输出。 ?...卷积的矩阵乘法: Large 输入图像(4×4)转换为 Small 输出图像(2×2) 现在,如果我们在等式的两边都乘上矩阵的置 CT,并借助「一个矩阵与其置矩阵的乘法得到一个单位矩阵」这一性质,...卷积的矩阵乘法: Small 输入图像(2×2)转换为 Large 输出图像(4×4) 这里可以看到,我们执行了从小图像到大图像的上采样。这正是我们想要实现的目标。现在。...后者是数据集分成多个批次,然后分开训练每一批。但是,当批量大小变得过小时,我们本质上是执行随机梯度下降,而非批梯度下降。这会造成更慢,有时候更差的收敛结果。

    90841

    万字长文带你看尽深度学习中的各种卷积网络

    标准 2D 卷积。通过使用 Dout 个过滤器,深度为 Din 的层映射为另一个深度为 Dout 的层。 3.3D 卷积 在上部分的最后一张图中,我们看到了卷积在 3D 体积上的执行情况。...如果我们执行 N 次这样的 1 x 1 卷积,然后这些结果结合起来,我们能得到一个维度为 H x W x N 的输出层。 ?...它将输入也压平为 16 x 1 矩阵,之后卷积核转换为一个稀疏矩阵 (4 x 16),接着在稀疏矩阵和压平的输入间执行矩阵乘法运算,最终得出的矩阵(4 x 1)转换回 2 x 2 的输出。 ?...模型并行化被认为比数据并行化更佳,后者数据集进行拆分,然后对每一批数据进行训练。不过,当每批数据的大小过小时,我们执行的工作基本上是随机的,而不是批量梯度下降。...在这些特征映射喂养到第二个分组卷积之前,先将每个组中的通道拆分为几个小组,然后再混合这些小组。 ? 通道混洗 经过这种混洗,我们再接着如常执行第二个分组卷积 GConv2。

    80130

    EmguCV 常用函数功能说明「建议收藏」

    Dct,执行1D或2D浮点数组的向前或反向变换。 脱色,彩色图像转换为灰度图像。这是一个基本的数字打印工具,风格化的黑白照片渲染,以及许多单通道图像处理应用。...该函数图像转换为CIELAB颜色空间,然后使用fastNlMeansDenoising函数分别使用给定的h参数去噪L和AB分量。 FillConvexPoly,填充凸多边形内部。...PerspectiveTransform(IInputArray,IOutputArray,IInputArray)src的每个元素(通过将其视为2D3D向量)转换为以下方式:(x,y,z) – >...打印的文字被ROI矩形裁剪。不属于指定字体的符号将被替换为矩形符号。 PyrDown,执行高斯金字塔分解的下采样步骤。...ReprojectImageTo3D,1通道视差图转换为3通道图像,3D表面。 调整大小,调整图像src的大小或达到指定的大小。

    3.5K20

    万字长文带你看尽深度学习中的各种卷积网络

    标准 2D 卷积。通过使用 Dout 个过滤器,深度为 Din 的层映射为另一个深度为 Dout 的层。 3.3D 卷积 在上部分的最后一张图中,我们看到了卷积在 3D 体积上的执行情况。...如果我们执行 N 次这样的 1 x 1 卷积,然后这些结果结合起来,我们能得到一个维度为 H x W x N 的输出层。 ?...它将输入也压平为 16 x 1 矩阵,之后卷积核转换为一个稀疏矩阵 (4 x 16),接着在稀疏矩阵和压平的输入间执行矩阵乘法运算,最终得出的矩阵(4 x 1)转换回 2 x 2 的输出。 ?...模型并行化被认为比数据并行化更佳,后者数据集进行拆分,然后对每一批数据进行训练。不过,当每批数据的大小过小时,我们执行的工作基本上是随机的,而不是批量梯度下降。...在这些特征映射喂养到第二个分组卷积之前,先将每个组中的通道拆分为几个小组,然后再混合这些小组。 ? 通道混洗 经过这种混洗,我们再接着如常执行第二个分组卷积 GConv2。

    66410

    深度学习中的12种卷积网络,万字长文一文看尽

    标准 2D 卷积。通过使用 Dout 个过滤器,深度为 Din 的层映射为另一个深度为 Dout 的层 0 3 3D 卷积 在上部分的最后一张图中,我们看到了卷积在 3D 体积上的执行情况。...如果我们执行 N 次这样的 1 x 1 卷积,然后这些结果结合起来,我们能得到一个维度为 H x W x N 的输出层。...它将输入也压平为 16 x 1 矩阵,之后卷积核转换为一个稀疏矩阵 (4 x 16),接着在稀疏矩阵和压平的输入间执行矩阵乘法运算,最终得出的矩阵(4 x 1)转换回 2 x 2 的输出。...模型并行化被认为比数据并行化更佳,后者数据集进行拆分,然后对每一批数据进行训练。不过,当每批数据的大小过小时,我们执行的工作基本上是随机的,而不是批量梯度下降。...在这些特征映射喂养到第二个分组卷积之前,先将每个组中的通道拆分为几个小组,然后再混合这些小组。 通道混洗 经过这种混洗,我们再接着如常执行第二个分组卷积 GConv2。

    1.7K20

    OpenGL投影矩阵

    概览(Overview) 电脑显示屏是一个2D平面,为了能够在这个2D平面上显示OpenGL渲染的3D场景,我们必须将3D场景当作2D图像投影到这个2D平面(计算机屏幕)上.GL_PROJECTION...矩阵就是用来做这种投影变换的.首先,该矩阵所有观察空间的顶点坐标变换到裁剪空间,接着,变换后的顶点坐标(即裁剪坐标)的每个分量(x,y,z,w)(x,y,z,w)(x,y,z,w)除以坐标的 www...接着, 如果发生了裁剪, OpenGL 会重新构建发生裁剪多边形边缘....然后,我们 xpx_pxp​ 和 ypy_pyp​ 的表达式代入上面的等式. ? ?...所有观察空间的 xex_exe​, yey_eye​ 和 zez_eze​ 分量都被线性的映射到 NDC 中,我们要做的就是长方体(观察空间)缩放成一个立方体(NDC),然后将其移动到原点位置.我们马上来算一下

    1.8K00

    游戏开发中的进阶向量数学

    游戏开发中的进阶向量数学 飞机 到飞机的距离 远离原点 以2D方式构建平面 飞机的一些例子 3D碰撞检测 更多信息 飞机 点积具有带有单位向量的另一个有趣的属性。...例如: 对于3D数学,Godot提供了Plane 内置类型来处理。 基本上,N和D可以表示空间中的任何平面,无论是2D还是3D(取决于N的维数),并且两者的数学公式相同。...您可能想知道非凸多边形会发生什么。通常可以通过凹面多边形拆分为较小的凸面多边形,或使用诸如BSP(如今已不多使用)之类的技术来处理。 3D碰撞检测 这是另外一个奖励,是对耐心和遵守本篇教程的奖励。...这可能不是直接用例(Godot已经很好地进行了碰撞检测),但是几乎所有物理引擎和碰撞检测库都在使用它:) 还记得2D中的凸形转换为2D平面数组对于碰撞检测很有用吗?...您可以检测点是否在任何凸形形状内,或者两个2D凸形形状是否重叠。 好吧,这也适用于3D,如果两个3D多面体形状发生碰撞,您将无法找到分离平面。如果找到分离平面,则形状绝对不会碰撞。

    87240
    领券