问题标签 [tiling]

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.

0 投票
0 回答
1707 浏览

three.js - threejs 凹凸地图比例/平铺

我正在尝试使用 Three.js 将凹凸贴图应用于在运行时导入的网格。

我实际上可以应用凹凸贴图,但我需要指定地图的垂直和水平缩放比例(有人称之为平铺)。我看到对于bumpMapping,比例只有一个值,而不是我想的Vector2。

我看到有 bumpMap.repeat 属性,但我认为这不是我需要的。

有人可以给我一些建议吗?

非常感谢

我刚刚注意到我不能发布快照,因为我是新来的。如果有人有兴趣,请让我知道如何发送图像。

0 投票
1 回答
579 浏览

c# - 2D 平铺碰撞检测不会检测到

情况:在我的游戏中,我有瓷砖与玩家发生碰撞,但当我试图在它们碰撞时发生事件时,什么都不会发生。

问题:我目前在每个 tile 类中都有一个 Collision 类。在 tile 类中,我有一个使用参数传入播放器矩形(x、y、宽度和高度)的方法。然后我调用tile Collision 类检查碰撞方法。经过一些测试,当我检查每个图块(使用 foreach)并在每个图块类中调用更新方法时,我发现在我的 tileMap 类(包含 Tile 类的 2D 数组)中识别出碰撞,只有第一个瓷砖碰撞。没有其他的。

在此处输入图像描述

这是我的代码:

瓦:

瓦片地图:

0 投票
1 回答
1632 浏览

algorithm - Tetromino 空间填充:需要检查是否可能

我正在编写一个程序,该程序需要快速检查一个连续的空间区域是否可以被四联体(任何类型,任何方向)填充。我的第一次尝试是简单地检查正方形的数量是否可以被 4 整除。但是,仍然会出现这样的情况:

不可能的空间 1。 不可能的空间2。

如您所见,即使这些区域各有 8 个方格,也无法用四联骨牌平铺。

我已经考虑了一会儿,我不知道如何进行。在我看来,“枢纽”广场,或通向两个以上“隧道”的广场,是实现这一目标的关键。在上面的示例中很容易,因为您可以快速计算每个此类隧道中的空间——第一个示例中的 3、1 和 3,以及第二个示例中的 3、1、1 和 2——并确定不可能继续由于每条隧道都需要连接到中心广场以安装四联牌,这对所有人来说都是不可能的。但是,您可以有更复杂的示例,例如:

3.不可能的空间

......简单的计数技术不起作用。(至少,据我所知。)更不用说更多的开放空间,中心广场的数量很少。另外,我没有任何证据证明中心方块是这里唯一的技巧。据我所知,可能还有很多其他不可能的情况。

某种搜索算法(A*?)是解决这个问题的最佳选择吗?我非常关心数百甚至数千个正方形的性能。该算法需要非常有效,因为它将用于实时平铺(或多或少),并在浏览器中使用。

0 投票
1 回答
318 浏览

c - 使用循环平铺从矩阵中提取子矩阵

我有以下 4x4 矩阵:

我想提取并存储(在一些新闻变量中)以下四个子矩阵 2x2:

这就像openCV的“矩形”(http://docs.opencv.org/java/org/opencv/core/Rect.html)功能,但我不想使用OpenCV。

我必须使用并行化编译器,因此我想使用文献中存在的著名循环转换来提取子矩阵:“循环平铺”(也称为“循环阻塞”或“循环展开和堵塞”或“循环剥离和交换”)。-(http://en.wikipedia.org/wiki/Loop_tiling

可能吗?

0 投票
1 回答
385 浏览

algorithm - 计算窗口平铺的大小

我有许多窗口,我想将它们平铺以覆盖屏幕的整个工作区域。如果窗口较少,则单个窗口较大。窗户几乎是正方形的——例如 800x585。它们总是以固定的比例缩放。

在此处输入图像描述

在这个例子中,我只有 4 个窗口,所以我的计算应该算出填充屏幕是使用 2x2 网格完成的。

在此处输入图像描述

在此示例中,我有 8 个窗口,但不是 4 列 x 2 行(由于固定比例,这将在第二行下方留下一个巨大的间隙),窗口被划分为 3x3,并带有一个空白点。

基本思想是尽可能少地留下未覆盖的屏幕空间。我正在尝试在 AutoIt 中执行此操作,但如果有人可以用 C# 或 Python 解释这一点,我同样很高兴 :)

0 投票
0 回答
2188 浏览

loops - 矩阵乘法的简单循环平铺示例

当我使用循环平铺或阻塞将两个矩阵相乘时,我试图了解真正发生了什么(一步一步)。Fe 我明白http://en.wikipedia.org/wiki/Loop_tiling上的代码是做什么的 。但是,我无法想象缓存中发生了什么。假设我想将两个 4x4 矩阵相乘。AxB = C。

现在我想为每个 A 和 B 创建 4 个子矩阵 (2x2)。所以 A = [A1 A2 ; A3 A4] 和 B = [B1 B2 ; B3 B4]。C 的内存中的所有元素都初始化为零。fe 使用 calloc。

1) 假设矩阵以行优先顺序存储在内存中:row1,row2,row3,row4 ...

2)假设我有两个 cachline,每个都有 4 个矩阵元素。因此,当对 c C[0,0] 中的第一个元素执行朴素矩阵乘法时,我将对 A[0,0] 进行内存访问,并将整个矩阵行复制到缓存行中。然后我对 B[0,0] 进行了第二次内存访问。然后 C[0,0] = A[0,0] * B[0,0] + C[0,0]。下一步是 C[0,0] = A[0,1] * B[1,0] + C[0,0]。由于 A[0,1] 在第一个缓存行中,因此我将遇到缓存命中。但是,B[1,0] 不在第二个缓存行中,我将访问内存。

循环平铺在这个例子中有什么帮助吗?谁能解释(一步一步)缓存中发生了什么以及为什么减少内存访问?如果这个例子不合适,任何人都可以弥补一个阻塞的好处是可见的吗?

提前致谢。

0 投票
1 回答
118 浏览

matlab - 复制矩阵的两种方法

我找到了一种复制矩阵尺寸的简单方法,但我不明白:

返回

如果我这样做

它返回完全相同的结果。请有人能解释一下第二种方法是如何以及为什么起作用的吗?

0 投票
3 回答
87 浏览

html - 在ie8的背景中平铺两个图像

我有一个 10px x 765px 的图形,我重复-x,然后我有一个 20px x 20px 的重复图形,一旦页面高度超过 765px,我想拾取它。

是否有可能做到这一点?

在此处输入图像描述

在此处输入图像描述

此处包含两个背景图像,一旦页面到达 765px 高度图像的末尾,我不知道如何平铺较小的图像。

试图完成这个样子:

在此处输入图像描述

0 投票
1 回答
621 浏览

ios - 具有自动布局的 UIScrollView 平铺子视图

我到处寻找这个答案,但到目前为止我找不到满意的答案。

我有UIScrollViewTiled UITableViewas subviews。我做到了,就像它在 WWDS 2012 视频中显示的那样,它工作正常。但现在我想使用自动布局,我想知道正确和简单的解决方案。

因为如果我正确理解自动布局,我无法指定约束,subviews因为它将在平铺期间被删除。

问题的图像表示:

在此处输入图像描述

当平铺只有一个 UITableView 在滚动视图上时,其他的都存储在 NSSet 中,但从 superview 中删除。

但是当你开始滚动时,UItableView 被添加到滚动视图中。

在此处输入图像描述

0 投票
2 回答
20073 浏览

linux - 我可以在 KDE 中获得适当的平铺窗口管理器吗

关于切换到平铺窗口管理器,我有点矛盾。不久前我进行了转换,我真的很喜欢某些事情,但其他事情我不喜欢。所以我最终切换回了我信赖的 KDE。

然而,当在我的虚拟桌面之间切换时,我不禁想到如果我可以在 KDE 中拥有一个适当的平铺窗口管理器,那该有多棒。我知道 kwin 有一些平铺选项,但恕我直言,他们很烂!我想要类似于 i3 的东西,其中所有的窗户装饰都被完全剥离了。

然后我将这个想法更进一步,并开始思考如果我可以配置特定的虚拟桌面以拥有这种平铺 WM 而其他人拥有良好的旧浮动 kwin 行为,那将是多么令人难以置信。

所以我问,有没有人知道这种令人敬畏的?有什么与此类似的东西吗?甚至只是在没有这个虚拟桌面特定 WM 功能的情况下在 KDE 中进行适当的平铺窗口管理的某种方式?

我也很想听听对整个窗口管理概念有深刻理解的人的意见,如果事实确实如此,为什么这是不可能的。是什么让它难以实施?