问题标签 [cubes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 折叠 3D 立方体上的选定点
我正在尝试为以下 3D 立方体选择问题找到一种有效的算法:
想象一个 2D 点数组(让它大小为 x 大小的正方形)并将其称为边。
为了便于计算,让我们将 max 声明为 size-1 创建一个有六个边的立方体,在左下角保持 0,0,在右上角保持 max,max。使用 z 跟踪单个立方体所在的边,y 为上,x 为右
现在要选择一个随机单点,我们可以使用三个随机数,这样:
要选择一个加号,我们可以检测给定方向是否适合当前边。否则,我们会发现立方体位于接触中心点的一侧。
使用 4 个函数,例如:
现在我想找到一种在随机点选择任意形状(如预定义的随机 blob)的方法。但会满足于将其调整为方形或锯齿形圆形。
实际的表面积会在拐角处弯曲并折叠到自身上,这很好,不需要补偿(想象一下在立方体的拐角上贴一个贴纸,如果拐角与贴纸的中心匹配,则需要四分之一的贴纸将其移除以使其粘在角落上并折叠)。这又是想要的效果。
不允许重复选择,因此需要以某种方式过滤将被选择两次的多维数据集(或以不发生重复的方式计算)。这可能很简单,例如使用 HashSet 或 List 并使用辅助函数来检查条目是否唯一(这很好,因为选择总是远低于最大 1000 个立方体)。
包含立方体边的类中此函数的委托如下所示: delegate T[] SelectShape(Point3D point, int size);
目前我正在考虑检查多维数据集的每一侧,以查看选择的哪一部分位于该侧。
计算选择的哪一部分位于所选 Point3D 的同一侧,因为我们不需要平移位置,只需平移边界即可。接下来是 5 次翻译,然后检查其他 5 面以查看所选区域的一部分是否在该面。
我在解决这样的问题方面变得生疏了,所以想知道是否有人有更好的解决方案来解决这个问题。
@arghbleargh 要求进一步解释:
我们将使用一个 6 面的立方体,大小为 16。每面是 16x16 点。存储为一个三维数组,我将 z 用于边、y、x,这样数组将使用:new Point3D[z,y,x] 启动,它对于锯齿状数组的工作方式几乎相同,默认情况下可序列化(所以那也很好)[z][y][x] 但需要单独初始化每个子数组。
让我们选择一个大小为 5x5 的正方形,以选定点为中心。要找到这样一个 5x5 的正方形减法并将 2 添加到相关轴:x-2 到 x+2 和 y-2 到 y+2。
随机选择一个边,我们选择的点是z = 0(立方体的x+边),y = 6,x = 6。
6-2 和 6+2 都很好地在边的 16 x 16 阵列的范围内,并且易于选择。
然而,将选择点移动到 x=0 和 y=6 将证明更具挑战性。因为 x - 2 需要查看我们选择的一侧的左侧。幸运的是,我们选择了边 0 或 x+,因为只要我们不在立方体的顶部或底部并且不进入立方体的顶部或底部,所有轴都是 x+ = 右,y+ = 上。因此,要获得左侧的坐标只需要减去 max (size - 1) - x。请记住 size = 16, max = 15, x = 0-2 = -2, max - x = 13。因此,这一边的小节将是 x = 13 到 15,y = 4 到 8。将其添加到我们的部分可以在原始一侧选择将给出整个选择。
将选择移至 0,6 会更复杂,因为现在我们无法隐藏在知道所有轴对齐的安全性之后。可能需要进行一些轮换。只有 4 种可能的翻译,所以它仍然是可管理的。
转移到 0,0 是问题真正开始出现的地方。现在左右两边都需要绕到另一边。此外,即使细分的部分也会有一个区域落在外面。唯一能治愈这个伤口的是我们不关心选择的重叠部分。因此,我们可以在可能的情况下跳过它们,也可以稍后从结果中过滤它们。
现在我们从“法线轴”一侧移动到底部,我们需要旋转并匹配正确的坐标,以便点正确地环绕边缘。
由于每边的轴都折叠在一个立方体中,因此某些轴可能需要翻转或旋转才能选择正确的点。
如果有更好的解决方案可以选择区域内立方体上的所有点,问题仍然存在。也许我可以给每一边一个平移矩阵并在世界空间中测试坐标?
ssas - SSAS 将现有多维数据集从一个环境添加到另一个环境
我想将生产环境中的多维数据集添加到开发环境。Dev 有额外的多维数据集,并且想知道是否有一种方法可以从 prod 添加额外的多维数据集,而不会覆盖开发环境中的多维数据集。
c# - 如何仅绘制可见数据 XNA 我的方法不起作用
我有一个 10*10 的立方体平面。我只想绘制可见的立方体,所以我使用了 Bounding frustum。问题是当网格中的第一个立方体(在位置 0,0)离开截锥体时,所有立方体都消失了。
这是我的代码Cube.cs
:
Draw()
方法Main.cs
:
如果你能给我一个图集纹理教程/示例的链接,我也想知道,谢谢!
actionscript-3 - 循环立方体和添加材料 (Away3D)
我正在尝试创建一个立方体循环并将 ColorMaterial 应用于表面。主要的 actionscript 类具有以下用于创建循环的方法。有一个名为 Building 的外部类文件负责形状和 ColorMaterial。不幸的是,我似乎做错了什么。Flash Builder 未显示任何警告或错误。但是当我运行测试时,我得到的只是黑屏。
负责形状和材料的建筑类
node.js - Cube 生成无法解释的数字
我正在尝试使用 Cube 构建动态大数据分析工具。事情是,我正在使用这个生成测试数据:
这样,在执行时大约有 14000 条记录被推送到 MongoDB。
但是,当转到 时localhost:1081/1.0/metric?expression=sum(visit)&step=1e4&start=2014-01-14T08:00:00Z&end=2014-01-19T08:00:00Z
,那里显示的数据与推送的数据不匹配。visits
在查看该页面并将数字相加时,我总是看到 ~2000,导致图表非常不准确。
有没有人有关于立方体的想法或资源?我喜欢 Cube 的想法,但缺乏文档会浪费很多时间。
3d - 行进立方体算法 - 似乎缺少三角形
我想要的是使用我创建的体素模型重新对网格进行三角剖分。
通过谷歌搜索,我发现 Marching Cubes 应该是一个合适的算法。我已经阅读了很多教程,但是等值面部分让我感到困惑。
我遵循本教程http://paulbourke.net/geometry/polygonise/但无法理解我的情况下的等值面究竟是什么以及如何提取它。
它是我最初的物体表面吗?
编辑1:
到目前为止,我已经通过重新三角测量做到了这一点:
似乎我在等值面和体素之间找到了正确的 itnersection 点,因为似乎有一个正确的体素模型:
但是为什么他们在重新三角剖分时遗漏了这么多三角形呢?
编辑2:
调试我的代码时,我注意到以下内容:我使用的 Marching Cube 表具有指向等值面切割我的体素的顶点的指针。这些三元组构成了新的三角形。但我注意到很多时候表格说用顶点(例如)intersection_point(0)-intersection_point(3)-intersection_point(5) 构造三角形,但我的交点在不同的位置。
-> 交点的位置取决于它们所在的边缘。
python - 我需要帮助使用带有 python 引擎的 blender 2.69 用立方体形成一个圆圈
请原谅我,但我真的只知道如何在 VB 中进行一些编码,而 python 不是我习惯的。我确实尝试查看其他人是否已经制作或展示了我正在尝试完成的算法。
我脑子里有一个可视化设计,我一直在尝试做的是让一些立方体(现在是可变输入)放置在距场景中心和角度一定距离(可能是 5-10 个搅拌器单元)的地方面,使一个面指向中心,一个面指向相反方向。我试图从 10 个立方体开始,因为我觉得这将是一个公平的数字,希望显示一个圆形。
我制作了一张图片来帮助描述我正在尝试做的事情:
到目前为止,我所能弄清楚的是我需要添加一个具有一定旋转的立方体,并且每个立方体都需要进行旋转。所以需要一个小方程,像这样。
这就是我能够弄清楚的全部,因为我不知道如何编写 python 来做到这一点。
非常感谢任何帮助,并将在最终渲染中记入功劳。
更新:1
感谢下面答案的帮助,我终于让它按我想要的方式工作。 img http://vvcap.net/db/bKKUz3Uw4WUqL_WVDU0j.png
这是下面答案的帮助中编写的代码。' 导入 bpy 导入数学
'
olap - 如何从其他机器访问这些 xml 文件?
我需要通过 java 应用程序中的 olap4j API 访问多维数据集。XML 多维数据集文件将在其他一些 IP 服务器中可用。例如,XML 文件将位于 192.168.1.1 IP 和 C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\geomondrian\WEB-INF\queries 路径中。如何从其他机器访问这些 xml 文件。
我无法访问其他 IP 中可用的目录。在我的目录 URL 路径下方找到。我怎样才能访问?
目录=//192.168.1.10/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/geomondrian/WEB-INF/queries/simple_foodMart.xml
java - JME3 引擎和 nullPointerException
所以这个问题适合那些熟悉 jMonkey 3 引擎的人。我的simpleUpdate()
循环中有这段代码:
我留下了这个nullPointerException:
第 219 行是这一行:
我已经检查过了,playerControl
并且walkDirection
两者都不为空。我的问题是:还有什么可能是空的?如何修复此错误?为什么会这样?我如何防止这种情况在未来发生?对此问题的任何帮助将不胜感激,如果您需要查看完整代码,请询问!我非常乐意与您分享!提前致谢!
webgl - webgl-创建简单的障碍没有three.js
你知道如何让一个立方体撞到另一个立方体而不是经过它吗?我不想使用 three.js 或任何其他库。
提前致谢