共计 2 篇文章

Java软光栅渲染器-空间变换

空间变换 目标 对于所有3D图形引擎来说,将一组向量从一个坐标空间变换到另一个坐标空间的操作是最常用的和最基本的操作之一。例如,一个模型的顶点数据通常以对象空间的坐标形式保存,而在渲染该模型前,顶点坐标必须变换到虚拟相机空间才能被正确处理。本章主要介绍不同笛卡尔坐标系之间的线性变换,包括简单的比例变换、平移变换和旋转变换。 《3D游戏与计算机图形学中的数学方法》,第4章 坐标变换 本文将要实现下列变换: 实现比例变换 实现旋转变换 实现平移变换 实现齐次坐标 实现法向量变换 表达形式的互相转换 实现 比例变换 对模型中任意顶点 v,分别沿x、 ...

Java软光栅渲染器-四元数

目标 定义四元数,并实现四元数的运算。 源代码: Quaternion 实现 关于四元数的意义、四元数与复数、四元数的共轭等概念,网上有太资料来学习,本文就不再多写了。我在实现四元数时,主要参考《3D数学基础:图形与游戏开发》第10章的内容。 理解四元数 如何形象地理解四元数? 四元数记法 四元数包含一个标量分量和一个3D向量分量。经常记标量分量为 w,记向量分量为单一 v 或分开的 x, ...