这是我多次伪解的东西,从来没有找到解决方案.
问题是想出一种生成N
颜色的方法,尽可能区分N
参数.
我希望能够显示带有重叠注释的普通YouTube视频,每个帧包含彩色矩形.唯一的要求是这应该以编程方式完成.
YouTube现在有注释,但要求您使用他们的前端手动创建它们.我希望能够生成它们.这样做的最佳方法是什么?
一些想法:
- 建立自己的Flash播放器(是吗?)
- 以某种方式吸引YouTube Flash播放器.这会有用吗?
- 反向工程并劫持YouTube的注释系统.弄乱本地文件或重定向其下载注释的尝试.(使用Greasemonkey?Firefox插件?)
不计的想法:
下载视频
for (auto&& i : unordered_container)
{ /* ... */ }
for (auto&& i : unordered_container)
{ /* .. */ }
Run Code Online (Sandbox Code Playgroud)
标准是否要求这两个循环以相同的顺序访问元素(假设容器未经修改)?
我对这个问题的分析......
我读了标准,最好的我可以说答案是"不"......
由于容器的迭代器是向前的,因此有一种语言需要a==b
暗示++a==++b
前向迭代器.这意味着如果它们都在同一个地方开始,则两次迭代将经历相同的路径.这将问题简化为标准是否需要的另一个问题container.begin() == container.begin()
.我找不到任何需要这种语言的语言.
如果给你N个最远距离的颜色(和一些相关的距离度量),你能想出一种方法将这些颜色排序成某种顺序,这样第一个M也可以合理地接近最大不同的颜色吗?
换句话说,给定一堆不同的颜色,提出一个排序,所以我可以使用从一开始就需要的多种颜色,并合理地确保它们都是独特的,并且附近的颜色也非常独特(例如,蓝红色不是红色的旁边).
随机化是可以的,但肯定不是最佳的.
澄清:鉴于一些大而且视觉上截然不同的颜色(比如256或1024),我想对它们进行排序,这样当我使用第一个时,比如16个,我得到一个相对视觉上不同的颜色子集.这大致等同于说我要对1024的这个列表进行排序,以便在视觉上更接近单个颜色,它们在列表中的距离越远.