Flipboard的布局算法

Flipboard的布局算法,第1张

概述我希望你们中有许多人会听到大约 Flipboard.关于这个iPad应用程序最令人惊奇的事情之一就是它基于iPad和iPad的方向动态变化的内容。基于流内容。 所以给出一组文章什么算法可以使用最好的布局。最好的定义可能是最有效的布局(如电路设计)或最美观的布局。 任何人知道任何这样的算法?还是这个问题的基本方法?这是否属于“计算几何”? 基于 his answer the blog post li 我希望你们中有许多人会听到大约 Flipboard.关于这个iPad应用程序最令人惊奇的事情之一就是它基于iPad和iPad的方向动态变化的内容。基于流内容。

所以给出一组文章什么算法可以使用最好的布局。最好的定义可能是最有效的布局(如电路设计)或最美观的布局。

任何人知道任何这样的算法?还是这个问题的基本方法?这是否属于“计算几何”?

解决方法 基于 his answer the blog post linked to by Jason Moore的截图和理论,我会说,有十个预定义的块大小被放置到其中。基于各种不同的参数,大量的内容是基于各种不同的参数 – 许多人转发或喜欢的东西可能被认为是更高的优先级,因此可以获得更大的框,并且具有图片,视频或大量文本的项目也可以被优先考虑。这些盒子(最好是经过深思熟虑的尺寸)然后被最佳地包装在页面上(尽管这不是一个简单的问题,即使Flipbook似乎也失败了,原来链接的博客文章中的 second render of the Facebook stream中的奇怪的空格就证明了这一点)。

从rendered Facebook feed的外观,Flipbook至少具有以下预定义的框尺寸(以全宽/高的百分比给出的宽度和高度):

Designation | WIDth | Height | Example                         ---------------------------------------------------------------full page   | 100%  | 100%   | #12                             2/3 page    | 100%  | 67%    | #1                              1/3 note    | 50%   | 33%    | #3,#11                         1/9 quote   | 50%   | 11%    | #2,#8,#10,#15,#17,#18,#221/2 note    | 50%   | 50%    | #16,#19                       2/3 note    | 50%   | 67%    | ?

其中一些具有相当明显的分组模式(例如,1/9引号总是一次叠加三个,例如形成一个1/3音符相同大小的块),而其他可以更自由地打包。 rendered Twitter feed的类似分析显示了一些额外的盒子。

概要

因此,总而言之,算法似乎相当简单。从几个预定义(敏感选择)框大小开始。提供新的订阅源时,请执行以下 *** 作:

>分配每个项目一个大小取决于某些属性(如受欢迎程度,包含图像等)的框。
>最佳地包装盒子(这实际上是bin packing problem,np-hard问题,似乎没有有效的算法;贪心的近似算法会做的很好)

这里应强调的是步骤1,以及制定预定义的方框。

要澄清:我在这里谈到的预定义的框尺寸是为纵向定义的。对于景观,将使用不同的盒子大小,如the picture in the question所示。

总结

以上是内存溢出为你收集整理的Flipboard的布局算法全部内容,希望文章能够帮你解决Flipboard的布局算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存