相机分为两种: 1. 正交相机; 2. 透视相机;
正交相机中物体没有近大远小的关系; 透视相机可以展示出物体的近大远小的关系.
屏幕坐标系指的是: canvas坐标系
三维空间中的物体 => 全部做投影(根据相机)=> 相机视椎体映射到裁剪空间(判断物体是否在裁剪空间内)=> 裁剪空间映射到屏幕中
相机视椎体映射到裁剪空间: 这一步是相机的投影矩阵(Projection Matrix)的作用。它会将相机的视椎体映射到裁剪空间内的规范化设备坐标。
裁剪空间到屏幕空间:这个过程是由渲染器(Renderer)自动完成的。在渲染过程中,Three.js会将裁剪空间坐标映射到设备视口(Viewport)的范围内,最终得到屏幕像素坐标。
使用矩阵进行平移,缩放,旋转等操作有如下的好处:
vue<script setup lang='ts'> import { ref