Ale*_*kov 5 rendering wolfram-mathematica mathematica-frontend mathematica-8
我很惊讶,当我发现那个数学给出True了下面的代码(在32位的Windows XP与数学 8.0.1):
Rasterize[Graphics[{RGBColor[0, 0, 0], Disk[]}]] ===
Rasterize[Graphics[{RGBColor[0, 0, 1/257], Disk[]}]]
Run Code Online (Sandbox Code Playgroud)
Mathematica渲染和输出为不同颜色的RGB颜色值的最小差异是什么?它是机器依赖的吗?
我相信这种行为与机器相关,但我不知道它到底如何取决于操作系统。True在我的机器上,仅当分母为 时,它才计算为511。
n = 257;
While[(Rasterize[Graphics[{RGBColor[0, 0, 0], Disk[]}]] ===
Rasterize[Graphics[{RGBColor[0, 0, 1/n], Disk[]}]]) != True,
n++];
Print@n
Out[1]=511
Run Code Online (Sandbox Code Playgroud)
两幅图像之间存在差异n<511
p1 = ImageData@Rasterize[Graphics[{RGBColor[0, 0, 0], Disk[]}]];
p2 = ImageData@Rasterize[Graphics[{RGBColor[0, 0, 1/257], Disk[]}]];
ArrayPlot[p1 - p2]
Run Code Online (Sandbox Code Playgroud)

该差值自始至终都是恒定的n=510并且等于1/255。
Max[p2 - p1] === N[1/255]
Out[1]=True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
389 次 |
| 最近记录: |