我正在尝试将二进制(仅元素0和1)动态分配的3D阵列拆分成单独的和更小的3D阵列.下图使人们更清楚地理解:
http://img521.imageshack.us/img521/4296/splittingsteps.png
它是10.000个元素的稀疏3D数组.对于每个1是我的数组的元素,我想创建一个唯一的比特流.获得的子域返回相应块中的多个1.然后将该数字转换为二进制数并添加到比特流中.
由于这种分裂操作每次都是相同的,首先在i方向上分裂,然后在j方向上然后在k方向上(3级)我想要递归地进行分割.此外,由于我在ANSI C中工作,非递归工作会导致大量重复代码.
拆分应终止于空的子域,因此只包含0(number_x = 0)或大小为[0..1] x [0..1] x [0].这些子域由霍夫曼代码处理.
更具体地说,它是一个具有起始尺寸的3D阵列:
I = [0 .. 511] x [0 .. 511] x [0 .. 31]
Run Code Online (Sandbox Code Playgroud)
我目前的前三个级别的代码可以在http://codepad.org/zGbAhKrC找到
拆分级别#1会产生两个维度的3D数组:
I_w = [0 .. 255] x [0 .. 511] x [0 .. 31]
I_e = [256 .. 511] x [0 .. 511] x [0 .. 31]
Run Code Online (Sandbox Code Playgroud)
number_w = 6505,number_e = 3495表示两个部分中的1的数量.
拆分级别#2产生四个3D维度数组:
I_sw = [0 .. 255] x …Run Code Online (Sandbox Code Playgroud) 我正在 HTML/JS/CSS 中进行原型设计,尝试构建以下内容:
不幸的是,我在 CSS 部分苦苦挣扎。您可以在下面找到一个功能齐全的最小实现,但包含 4 个问题:
从幻灯片 1 --> 幻灯片 19 滚动时,我只能滚动到幻灯片 19 的一半。怎么会?我想完整地查看幻灯片 19。
我上传了一个 512x512 的图像,在内存中生成了一个 285x285 的图像。怎么来的?
我不能够使用“显示:内联”,使双方的div:<div class="swiper-slide0">First Color</div>和<div class="swiper-container">在同一行(最终结果的可视化CFR)。怎么来的?
'Swiper' JS 库允许设置 'slidesPerView'(例如等于 5),但一旦应用,无论屏幕尺寸如何,它都会保持不变。
我想根据设备的 screenWidth/screenHeight 设置一个 blockWidth/blockHeight,它总是在可读性/可用性范围内应用(例如,当屏幕为 1127px 宽时,应显示最大数量的块,例如 5 , 6, 7 或者可能只有 4)。因此,我想动态设置 blockWidth/blockHeight 而不是必须输入 slidesPerView,这会导致在调整屏幕大小以遵循 slidesPerView = 5 时会更改 blockWidth/blockHeight。
当前解决方案:我更改了“宽度:100%;” 在 '.swiper-container' 到“width: 285px;”。然后 JS 会自动将元素的宽度分配为 55px。然后我使用这个结果来手动设置其他元素的大小。预期结果:原生 JavaScript/CSS 中的自动化替代方案
<!doctype html>
<html>
<head>
<title>Prototyping</title>
<!-- Link Swiper's CSS -->
<!-- Override/Add -->
<style id="color_thief-js"> …Run Code Online (Sandbox Code Playgroud)