信息化的本质分享 http://blog.sciencenet.cn/u/Babituo

博文

今日灵感:多维约束优化的问题等同高维空间1维表达问题。

已有 5297 次阅读 2011-3-21 16:24 |个人分类:信息探索|系统分类:科研笔记| 空间

先记下,闲时再来思考。
我们总是试图寻找一个唯一的判据来从一个多维对象队列中寻找最优。
其实,这是一个多维空间的一维表达的问题。
如果一个多维属性的对象的队列存在一个唯一判据来综合排序,那么,必定存在一个从多维空间到一维空间的变换。
 
新发现:本问题等同于着色机制转换问题:
1.直接着色机制:对任意点按三原色合成色进行着色,1个点对应r,g,b三个颜色权值。c = RGB(r,g,b)
2.间接着色机制:对任意点按单个权值与颜色表对应查表方式查得的颜色进行着色,一个点对应1个权值,所有点共享1个颜色表。c = TAB(rc),排除:c = rc的表。
 
如何实现两种着色机制的互通?能否压缩颜色信息?
 
如果r,g,b分别取0-255之间的某一值,那么,得到的颜色种类就是 256^3 = 16777216种颜色。当然这只是自然的“连续颜色”的离散采样值而已,对我们的眼睛而言,足够可以“欺骗”为自然颜色了。
如果我构造一张从0到16777215的一个颜色表。那么颜色的序号加1就能对应“任意一种”颜色了。着色机制的转换就实现了。
 
可不可能构造一个更小的颜色表呢?使得我给出的一个数可以通过对颜色表的插值运算而复原其真正的颜色呢?
似乎是可能的。问题是,一个三维构造如何能转换为一个一维的线性表的插值?
 
也就是说,如果我需要一个任意的颜色c = RGB(r,g,b);即使这个颜色没有出现在我的颜色表中的某项中,但可能通过我的颜色表中某两个相邻项间的某个插值来找到。
那么,我假定能构造出来的颜色表,一定是一个比16777216更小的颜色表。当然,我希望只是包含几种颜色的颜色表就行了,然后,我给出一个数值,这个数值就可以对应了颜色表中的某个项或某两项中间的某个插值所对应的颜色。
我最少要准备几种颜色的颜色表呢?
 
换一种思维方法:
原先的r,g,b三色合成色法,相当于一个256X256X256的一个立方体,共有16777216个小立方体按三维紧密排列拼成,每个小立方体为一种颜色。
 
 
我的目的是:
变成一个只有一排小立方体组成的“一字长蛇阵”,每个格子可以有两种边界颜色,当然,前后的相邻格子的边界颜色相同。然后,我只要给出1个数,这个数要么指向某格的边界,要么在格子的某个中间位置,于是可以取得和这个数对应的颜色值。
这个颜色值,一定是原来三维立方体中的某个格子中的颜色是“有规律的对应的”。
也就是说,我需要把原来三维格子中的很多格子,压缩到一个格子中来,通过对这个格子的边界的插值,又能还原出压缩进来的格子。
我的“一字长蛇阵”最少需要多少个格子呢?
 
不用思考的做法是直接将256X256X256个立方体拆成一条线排列。就是对应16777216个颜色项的颜色表了。
如果在这个表中以256个立方体为单位进行按顺序的压缩,就可以变成256X256个小格子了,但相邻小格子的边界颜色会不同。
压缩后的颜色空间的边界颜色如下:
位于两边界之间的颜色可通过插值取得。
所以,最少需要一个256X256X2 = 130050 个颜色项的颜色表,才可以构造出全部的16777216个颜色来。
这个还不一定对,因为实际的颜色渐变插值函数还未知,是和颜色渐变的边界有关的,能否如想象中插出所需颜色,还未知。


https://blog.sciencenet.cn/blog-33982-424827.html

上一篇:哲学世界的对象关系图-面向对象的知识表达范例
下一篇:今日灵感:三旋动态架构的程序就是动态的对象架构的程序
收藏 IP: 113.76.251.*| 热度|

3 陈辉 杨华磊 vigorous

发表评论 评论 (6 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 06:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部