当前位置: 首页 > 知识库问答 >
问题:

三维点像素坐标的计算

司空俊悟
2023-03-14
vec3 cameraPos = vec3(0.f, 0.f, -5.f);
vec3 cameraDir = vec3(0.f, 0.f, 1.f);

我是否也需要一个相机向上向量,这代表什么?

我在用GLM。

共有1个答案

麹权
2023-03-14

我目前被困在寻找4x4矩阵,将允许我转换p从世界空间到相机空间。

该矩阵称为视图矩阵。视图矩阵是该矩阵的逆矩阵,它由摄像机的位置和方向(视点)定义。
位置是3D点(camerapos)。摄像机的方向由视线(cameradir)和向上向量定义。你必须定义向上向量,例如(0,1,0)。

OpenGL数学(GLM)库提供了一个方便的函数(GLM::Lookat),通过位置、目标和向上向量计算视图矩阵:

#include <glm/gtc/matrix_transform.hpp>
glm::vec3 cameraPos = glm::vec3(0.f, 0.f, -5.f);
glm::vec3 cameraDir = glm::vec3(0.f, 0.f, 1.f);
glm::vec3 cameraUp = glm::vec3(0.f, 1.f, 0.f);

glm::mat4 viewMatrix = glm::lookAt(cameraPos, cameraPos+cameraDir, cameraUp);
 类似资料:
  • 本文向大家介绍Three.js获取鼠标点击的三维坐标示例代码,包括了Three.js获取鼠标点击的三维坐标示例代码的使用技巧和注意事项,需要的朋友参考一下 由于工作需要,但是对于three.js又是一窍不通,网上的资料又很少,所以上来就让我获取坐标,真是一个头两个大。好歹最后终于实现了。 既然已经是想要获取鼠标点击的三维坐标了,相信你camera对象和scene都已经有了,如果不了解的小伙伴,可以

  • 我正在使用PDFBox的在Java中显示PDF页面。我正试图基于页面中的(即AcroForm字段)在PDF页面的图像上创建可点击的区域。问题是PDF似乎使用了一个完全不同的坐标系: 收益率 如果我要估计图像上字段矩形的实际尺寸,它将是40,40,50,10(x,y,宽度,高度)。这两者之间没有明显的相关性,我似乎找不到任何关于这一点的信息与谷歌。 如何确定PDPage的cosobects的像素位置

  • 我目前正在将对象的3D坐标转换为2D坐标,然后在它们上绘制2D文本(目前,对象名称): 这工作正常。名称成功放置在对象上方。 我怎样才能解决这个问题?是否有某种方法可以检测到我是否正在远离它们而不渲染它们?

  • 我已经完成了learnopengl突破系列中的几个教程。com,所以我有一个非常简单的2D渲染器。不过,我想给它添加一个子图像功能,在这里我可以为一种“源矩形”指定一个vec4,因此如果vec4是,它将只渲染一个宽度和高度为32的10,10的矩形,有点像SDL渲染器的工作方式。 渲染器的设置方式是所有精灵都使用一个包含纹理坐标的四边形VAO。起初,我认为我可以为每个精灵使用一个VAO数组,每个都有

  • js 已知圆弧的起点坐标、终点坐标、半径,圆心坐标,如何计算弧线上的坐标? js 已知圆弧的起点坐标、终点坐标、半径,圆心坐标,如何计算弧线上的坐标?

  • 我使用的是平顶六边形网格(按照这里列出的手册http://www.redblobgames.com/grids/hexagons/)。 当然,在平顶的情况下,x坐标可以用作x像素坐标。因此,从立方体坐标计算X像素坐标相对容易。假设是十六进制的总宽度,是x、y、z坐标数组,则x像素坐标为: 我不知道如何计算y像素坐标。相邻HEX之间的高度应不足等于。但是如何基于立方体坐标计算偏移量呢?