博客
关于我
OpenGL/OpenGL ES 入门:基础变换 - 初识向量/矩阵
阅读量:792 次
发布时间:2023-02-23

本文共 1881 字,大约阅读时间需要 6 分钟。

3D?????????

3D????????????????????????????????3D???????????????????????????????

3D???????

?3D??????????????????X?Y?Z????????????????

  • ???Dot Product?????????????????????????????[u \cdot v = u_x v_x + u_y v_y + u_z v_z]??????????????????????[\cos\theta = \frac{u \cdot v}{|u| |v|}]

  • ???Cross Product?????????????????????????????????????????????????????[u \times v = \begin{vmatrix}\mathbf{i} & \mathbf{j} & \mathbf{k} \u_x & u_y & u_z \v_x & v_y & v_z\end{vmatrix}]????????????????????????????

3D????

?????3D??????????3D?????3x3?4x4?????????????????????

  • ????????3D????????????????????X?Y?Z???????????[R_x(\theta) = \begin{pmatrix}1 & 0 & 0 \0 & \cos\theta & -\sin\theta \0 & \sin\theta & \cos\theta\end{pmatrix}]?????????????

  • ?????????????????3D???????????????????4x4???????????[H = \begin{pmatrix}1 & 0 & 0 & 0 \0 & 1 & 0 & 0 \0 & 0 & 1 & 0 \0 & 0 & 0 & 1\end{pmatrix}]

OpenGL?GLMatrixStack?????

?OpenGL?????????3D????????GLMatrixStack????????????????????????????????

  • ?????????[GLMatrixStack::GLMatrixStack(int iStackDepth = 64)]??????64???????

  • ???????[void GLMatrixStack::LoadIdentity(void);]?????????????

  • ?????[void GLMatrixStack::Translate(float x, float y, float z);][void GLMatrixStack::Rotate(float angle, float x, float y, float z);][void GLMatrixStack::Scale(float x, float y, float z);]???????????????????????

  • ?????[void GLMatrixStack::MultMatrix(const M3DMatrix44f& matrix);]????????????????????

??????

???????GLMatrixStack????????????

// ???????GLMatrixStack matrixStack;matrixStack.LoadMatrix(m3dMatrix);// ????matrixStack.Translate(translateX, translateY, translateZ);matrixStack.Rotate(rotationX, rotationY, rotationZ);matrixStack.Scale(scaleX, scaleY, scaleZ);// ????????M3DMatrix44f transformedMatrix = matrixStack.GetMatrix();

??

3D??????????????????????????????3D????????????????????????????????????3D?????????????????GLMatrixStack??????????????????????????????????

转载地址:http://nzpfk.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 实战 | 文本图片去水印--同时保持文本原始色彩(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)
查看>>
OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
查看>>
OpenCV与AI深度学习 | 实用技巧 | 使用OpenCV进行模糊检测
查看>>
OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
查看>>
OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
查看>>
OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
查看>>
OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
查看>>
OpenCV与AI深度学习 | 深入浅出了解OCR识别票据原理
查看>>
OpenCV与AI深度学习 | 深度学习检测小目标常用方法
查看>>
OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
查看>>
OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
查看>>
OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
查看>>
Opencv中KNN背景分割器
查看>>
OpenCV中基于已知相机方向的透视变形
查看>>