- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经问了一个类似的问题,这让我达到了现在的水平,但我真的需要一些帮助。这是我完成一些很酷的事情的最后一件事(在我看来哈哈)
我有一个 3D 世界,我可以在其中移动,这个世界里有简单的立方体。
使用函数 -(CGPoint)getScreenCoorOfPoint:(IMPoint3D)_point3D 我可以计算出这些立方体在 3D 世界中的 X、Y 位置。但它不是基于我所在的位置,而是基于他们在 3d 区域中的位置。使用相同的功能,我还可以计算出我所在的位置。我还可以找出有人点击了屏幕的位置。
我到底如何将它们映射在一起,以便我可以确定我是否单击了其中一个?
我当然需要一些东西来确定我面对的方向。人们建议将它们渲染出屏幕并做一些事情,但这完全超出了我的想象。我考虑放弃该功能并基于 3d 坐标构建自己的功能(以某种方式)
代码
for (NSDictionary *item in self.players)
{
int x;
int z;
x = [[item objectForKey:@"posX"] floatValue];
z = [[item objectForKey:@"posZ"] floatValue];
IMPoint3D playerPos;
playerPos.x = x;
playerPos.z = z;
playerPos.y = 1;
CGPoint screenPositionOfThisCube ;
screenPositionOfThisCube = [self getScreenCoorOfPoint:playerPos];
#define TUNE 28
CGRect fingerSquish = CGRectMake(
screenPositionOfThisCube.x - TUNE,
screenPositionOfThisCube.y - TUNE,
TUNE * 2,
TUNE * 2);
// now check that the POINT OF THE TOUCH
// is inside the rect fingerSquish
if ( CGRectContainsPoint( fingerSquish, pos ) )
{
NSLog(@"WOOP");
// YOU HAVE FOUND THE TOUCHED CUBEY.
// YOU ARE DONE. this item is the cube being touched.
// make the cube change color or something to test it.
}
}
我也尝试了 gluUnproject 但没有成功(请参阅我的其他帖子)
最佳答案
您正在讨论的概念(通过 2D 坐标在 3D 屏幕上选择对象)称为拾取。
请参阅我的旧帖子以获取一些解决方案:
关于iPhone : OpenGL ES : Detecting if you have tapped a object (cube) on screen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4365856/
我试图找到最有效的方法来检查 2 个任意大小的立方体是否相互碰撞。立方体的边长不一定都相等(一个盒子是可能的)。鉴于这些限制,我如何有效地检查它们是否发生碰撞? (每个盒子有24个顶点)谢谢 它们是轴
背景:我正在分析通话详细记录 (CDR) 数据,以便根据通话时长、通话时间(节假日通话或非节假日通话、商务通话)对客户进行分割或非商务电话)、用户年龄组和性别。数据来自两个表名cdr(包括card_n
我想要 status=2 或 status3`, // ${SECURITY_CONTEXT.status.unsafeValue()`, }); 一般来说,最好不要这样做;相反,我建议使用 seg
我正在开发一个olap Web应用程序,对于对象Cube我有2种类型的导入:org.olap4j.metadata.Cube或mondrian.olap.Cube。我应该使用什么? 最佳答案 您应该只
我要在Threejs中创建一个第三人称相机,它跟随一个立方体旋转,并在立方体旋转时旋转。这就是我所做的。它在下面的框中工作,但当框旋转时,它就不一样了。。所以请帮帮我。我试着自己创造它。我是这么做的
我有日期范围内的商品价格表。在 cube.js 中对此进行建模以允许时间维度查询(例如随时间变化的价格或商品的平均价格)的最佳方式是什么? 谢谢! 表格看起来像: CREATE pricing tes
我正在使用 TFS 多维数据集 as documented here并且我得到了“总行数”的奇怪结果。如果我查看 Visual Studio 中的一个文件,我会看到一个文件可能有 42 行长(总计、注
我正在尝试实现Korf's algorithm来解决3x3x3魔方。解决方案的一部分是创建模式数据库。 这是paper的引文,从字面上包含有关如何执行操作的全部信息: 用一个 从目标状态进行广度优先搜
我目前正在研究这个:我生成一个包含多个 .vtr 文件的 Paraview .vtm 文件。每个 .vtr 文件都包含值和坐标,如下所示,假设我正在处理 8 的维度:
Cube.js 是一个开源的分析平台,可以作为数据源和应用之间的中间层。 数据分析是一个时髦的领域,有许多解决方案可供选择。其中之一是 Cube.js,这是一个开源的分析平台。你可以
我有一个 postgres 数据库,其中包含一个包含 100 维词嵌入的文档表,并使用它来查找相似文档。 CREATE TABLE documents( id bigint, title
所以我对 BI 的概念基本上是全新的,并且我继承了一个现有的 ETL 过程,它是一个两步过程: 将数据加载到仅由多维数据集处理使用的数据库中 针对所述数据库启动 SSAS 多维数据集处理 它看起来很好
我正在使用 cube.js 通过将其绘制为折线图来比较数据随时间的变化。 第一步:成功生成 cube.js schema 后,数据如下所示: 第 2 步: 现在,当我尝试检查折线图时,它显示的线条如下
当我在创建数据源 View 后尝试处理维度时,出现错误: The project could not be deployed to the server because of the followin
我在连接到 AWS 无服务器上的 cube.js 后端并在前端仪表板中执行/cubejs-api/v1/load 请求时遇到了一些问题。我一直收到 {"error":"Continue wait"}
我对此很陌生,所以我可能犯了一个简单的错误。 我需要使用远程数据库制作一个 OLAP 多维数据集。 设置维度和度量并创建多维数据集后,我无法将多维数据集启动到本地服务器。 我不断收到错误, “由于以下
我们构建了一个 SSAS ROLAP 多维数据集,其中数据源是 memSQL。该多维数据集使用 Visual Studio 2019 构建,用于连接 memSQL 数据源的驱动程序为“MySQL .N
因此,我正在通过SICP进行工作,其中一个问题(1.8)是使用Newton-Raphson method实现类似于平方根过程的立方根过程。我编写了程序并尝试执行该程序,但出现了以下错误:*: numb
编译架构: {"version":"default_schema_version_78dca52738894dbb23e7069f2e88ae73"} Internal Server Error: {
编译架构: {"version":"default_schema_version_78dca52738894dbb23e7069f2e88ae73"} Internal Server Error: {
我是一名优秀的程序员,十分优秀!