我遇到了麻烦需要你的帮助:
我正在制作一个以平铺模式显示n
个视频的程序(又名,视频墙,c
列和r
行)。 n
是任意的,视频大小相同(W x H
),我们有W / H
比例,墙的大小是固定的,我怎样才能得到c
的最佳组合r
更改时,W
,H
和n
?最佳定义为:W
和H
是最大值,视频会填充最大区域。
我看了一下装箱问题,但仍然无法解决我上面的问题,有人可以帮帮我吗?非常感谢你!
答案 0 :(得分:1)
据我了解,您希望在给定n
和C=W/H
Width
具有固定Height
比率的矩形
设矩形高度为h(未知),宽度为w = C * h
网格的每一行都包含
nr = Floor(Width / (C * h)) // rounding down
每列都包含
nc = Floor(Height / h)
写不等式
n <= nc * nr
n <= Floor(Width / (C * h)) * Floor(Height / h)
并解决它(找到最大可能h
值)未知h
对于参数h
的实际值,可能会找到初始近似值:
h0 = Ceil(Sqrt(Width * Height / (n * C)))
并递减h值直到不等式变为真