问题标签 [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 投票
1 回答
479 浏览

algorithm - 用于平铺任意集合多骨牌的算法是一些有限空间区域?

是否存在可以在有限区域内平铺任意一组多骨牌的有效(即 P 完全)算法?您能否指出一些详细说明该主题的网站?

在网络上搜索只返回与无限空间或重复使用特定多米诺骨牌相关的结果。我正在寻找一个可以处理任何集合,每个元素只使用一次的。

谢谢

(我对一般算法感兴趣。任意形状的空间,仅平移和旋转。但这些要求的微小变化也会引起我的兴趣)

0 投票
1 回答
192 浏览

android - 在 png 之间重复纹理

我想在 png drawable 的中心重复特定的矩形区域,而不是使用 android:tileMode="repeat". 如果我打了 9 个补丁,它会被拉长。有什么解决方案吗?

0 投票
1 回答
789 浏览

game-engine - 如何在不重叠其他图块的情况下将等距对象从一个图块过渡到另一个图块

我已经创建了一个等距环境,全部使用 Javascript 和 HTML5(2D Canvas),大部分工作正常。我面临的问题是具有不同高度的图块,然后对图块上对象的索引进行排序(在这种情况下,同时在两个图块之间并排移动)。

例如,一个对象可能位于它前面的瓷砖后面,因为它所在的瓷砖的高度是 -1。我想出的解决方案是在绘制瓷砖之后直接绘制瓷砖的每个对象,从 0,0 开始并从那里绘制每一行和每一列。

这很有效,直到我需要在两个图块之间转换一个对象。此时,要么对象必须使用中间图块(这是在下图中实现的),要么在对象之后绘制图块时,图块将与对象重叠。使用中间图块也会产生问题,即同一“行”上的栅栏对象被绘制,因为立方体在 1,3 处使用了图块中更高的 z-index(这在图 1 中略微可见)。

http://i.stack.imgur.com/PQJ0H.png

http://i.stack.imgur.com/DupM7.png

我认为绘制等距环境的久经考验的方法只是为瓦片设置 1 层,为对象设置 1 层,然后对象永远不能位于瓦片后面,但这只是我不想遵守的限制。

所以我的问题是,当从上到下绘制整个环境(或任何其他可能的方式)时,依次绘制每个图块及其对象,是否有一种巧妙的方法来推迟对象的绘制或创建一个数组以正确的顺序绘制的对象?有没有其他人遇到过类似的问题,有没有其他人找到任何解决方案?

非常感谢所有帮助。

我的平铺代码示例:

编辑:

我想到的一个解决方案(在将问题读回给自己之后)是遍历所有瓷砖,获取一组瓷砖高度,对其进行排序,然后进行传统绘图。像这样:

还有其他可能的解决方案吗?

0 投票
1 回答
461 浏览

ios - 从大 PNG 生成图块

我正在寻找使用 CATiledLayer 在 iOS 设备上显示巨大的 PNG 图像。为此,我需要在客户端将较大的图像拆分为图块(100%、50%、25% 和 12.5%)(不能在服务器端创建图块)。

我可以看到有诸如 libjpeg-turbo 之类的库可以工作,但是这些是用于 JPEG 的,我需要使用 PNG。

有谁知道我可以采用大 PNG(~20Mb)并在设备上从中生成图块的方法?

任何指示或建议将不胜感激!

谢谢!

0 投票
2 回答
2761 浏览

algorithm - 具有 2 x 1 和 2 x 2 矩形的平铺网格

我无法将递归关系写成如下问题。

给定一个尺寸为 4 xn 的矩形网格,有多少种方法可以用 2 x 2 和 2 x 1 多米诺骨牌完全平铺网格?

在这里,对于 2 x 1 矩形,它做得很好,但我不知道矩形是否是 2 x 1 和 2 x 2: http ://www.acmgnyr.org/year2007/hc

有任何想法吗?

例如对于

4x1:1 路

4x2:11 种方式

4x3:29 种方式

下面的代码使用蛮力生成所有可能性。但我想使用动态编程来做到这一点。

https://gist.github.com/4519601

0 投票
1 回答
1428 浏览

opengl-es - 纹理图集平铺

我正在尝试在 ios opengl es 2.0 (ipad) 上进行简单的纹理喷溅。我在 pvrt 压缩图集(2x2 瓷砖)中有 4 个平铺纹理。4 个纹理单元上的 4 个单一纹理非常慢。

顶点着色器:

片段着色器:

显示这个:

一个表面
(来源:inputwish.com

我的问题可能是纹理单元插值器,但我不知道如何解决。我没有在我的着色器中看到错误。请问有什么建议吗?

0 投票
1 回答
9453 浏览

c# - 将png图像合并为WPF中的单个图像

我正在寻找一种将一些 PNG 平铺图像合并成大图像的方法。所以我搜索并找到了一些链接。没有正确回答。不是平铺,它适用于叠加图像,并且使用 WPF。所以我提出这个问题。

问题定义:

我有 4 张 PNG 图片。我想将它们合并成一个PNG图像,像这样

问题:

执行此操作的最佳和有效方法是什么(生成的图像必须是 PNG)?

0 投票
1 回答
1194 浏览

c# - 使用 RenderTargetBitmap 和 PngBitmapEncoder 时的 PNG 大小增长

我正在使用一种方法将一些平铺图像合并为一个图像。但是如果我将它应用到四个 30kb-PNG 图像,生成的 PNG 图像将是 500K(比我预期的多 4 倍)

这是我正在使用的代码的一部分(由 Cédric Bignon 建议):

有谁知道发生了什么?

0 投票
1 回答
12027 浏览

unity3d - 平铺纹理时边界上的Unity3D可见接缝

对于我的游戏,我编写了一个着色器,它允许我的纹理很好地平铺在多个对象上。我不是根据顶点的相对位置,而是根据绝对世界位置来选择 uv。自定义着色器如下。基本上它只是将纹理平铺在 1x1 世界单位的网格中。

我以前在 Cg 和 XNA 上的 HLSL 着色器中做过这种方法,它总是很有魅力。然而,使用 Unity 着色器,我在纹理的边缘看到了非常明显的接缝。我尝试了 Unity 表面着色器和顶点/片段着色器,两者的结果相同。

可见接缝

纹理本身如下所示。在我的游戏中,它实际上是.tga,而不是.png,但这不会导致问题。该问题同样出现在所有纹理过滤器设置以及重复或钳位模式上。

质地

现在我在这里看到有人有类似的问题:Lightmapping 时平面之间的接缝。然而,对于如何解决这样的问题,没有明确的答案。此外,我的问题根本与光照贴图或照明无关。在我测试的片段着色器中,没有启用光照,问题仍然存在。

Unity answers 网站上也发布了相同的问题,但我没有收到任何答案,也没有很多意见,所以我也在这里尝试:平铺纹理时边界上的可见接缝

0 投票
0 回答
822 浏览

openlayers - OpenLayers.Layer.ArcGIS93Rest 使用质量差的图像

我有一个本地 ArcGIS 服务器 9.3.1。我启用了 WMS 和缓存(平铺)。我想使用 OpenLayers 显示切片,因为 ArcMap 无法打开自己的 REST 服务;(

使用 OpenLayers 效果很好,但瓷砖质量很差。航拍照片基础层(jpeg)非常像素化,覆盖也很糟糕,png8。

当我查看服务器上的平铺文件夹时,我看到图像正常,所以当 OpenLayers 打开它们时出现问题。

这是我的代码:

边界和分辨率来自图层。有没有人建议如何在 OpenLayers 中显示来自 ArcGIS 的平铺 WMS 图层?

谢谢。