3D空间中的点坐标转化为屏幕二维点坐标(二)

本文详细介绍了如何将3D空间中的点坐标转换为屏幕上的二维点坐标,涉及世界坐标系、局部坐标系、摄像机坐标系、屏幕空间和栅格空间的转换,以及透视投影和标准设备坐标系(NDC)的概念。通过转换矩阵和投影计算,最终将三维点映射到屏幕像素位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

👉原文地址:3D空间中的点坐标转化为屏幕二维点坐标(二)👈

上一节,简单的介绍了计算机时如何将三维世界中的点转化成屏幕上的二维点坐标的,知道了透视矩阵的作用。这一节内容,就是介绍其中的数学计算的过程。

坐标系与矩阵

在三维计算机图形学中,那些呈现在屏幕(画布canvas)上的每个点,都是由三维的点转化的,它们组成了屏幕上的图像。在前面的文章中,我介绍了透视矩阵,透视矩阵的作用就是将三维的点转化成二维的点,展现在屏幕上,也给大家讲解了透视投影矩阵的计算,所以本节内容
当然并不是再次计算透视投影矩阵,而是更精细化的一步一步的将三维点转化到二维点的的计算过程展现给大家。

首先要说明的是,将三维点转化成二维点的方法有很多,透视矩阵仅是无数方法中的一种,比如我在之前文章介绍的平行投影矩阵(正射投影矩阵),它也可以将三维点转化成二维点,只是与透视投影转化的结果稍有不同。所以将三维点转化成二维点,并没有限制转化的结果完全一样,既然结果不一样,那么转化法自然有无穷多种,而且即使结果一致,转化方法一般也会有多种,就像解数学题一样,通常会有多种解法。

我接下来要讲解的过程,是模拟透视投影矩阵的,透视投影矩阵转化后的图像与人眼观察的图像类似(简单的说就是近大远小)。

世界坐标系和局部坐标系

关于坐标系的概念,可以看这篇文章,这里我们再重新回顾下。

无论是在图形软件中还是编程中,为了高效工作,一般都会有世界坐标系(world coordinates)和局部坐标系(local coordinates),世界坐标系是相对于世界空间的(world space),所有的物体(object)都处于这个世界空间中,它们在世界空间中都有一个位置(世界坐标),但是它们也有自己所处的一个独立的空间,即局部空间。以软件建模为例,当设计师在设计房子中的一个桌子时,它会单独先设计这个桌子,假设桌子底部中心原点(0, 0, 0),那么桌子顶部中心的坐标为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值