1

我正在尝试探索如何制作 3D 立体图像(红色/青色)。我正在使用 HTML5<canvas>元素进行绘图。

问题是我无法找出到底应该使用什么颜色。另外,我不确定如何组合颜色。

目前我有以下代码:http: //jsfiddle.net/eGjak/15/。问题是我无法为红色部分使用正确的颜色。无论我选择多少红色,我的眼镜仍然让红色穿过眼镜的红色部分。然而,青色并没有穿过我眼镜的青色部分。似乎它也取决于背景颜色 - 有人可以对此有所了解吗?

其次,我应该如何结合红色和青色?我目前将颜色相加,但这会导致白色,因为红色是(255,0,0),青色是(0,255,255)。在示例图像上,它们似乎加起来是黑色的——这怎么可能?

那么,我应该为红色部分使用什么颜色?以及如何将它们相互重叠的红色和青色部分组合起来?

4

2 回答 2

2

首先,这里有几个开源的立体图像实现,你可以看看:

http://www.schrammel.org/stereo-plascolin.php

http://www.leebyron.com/else/redblue/#redblue


也就是说,我不认为查看一些代码是解决这个问题的最佳方法。你需要在更高的层次上理解代码背后发生了什么。

所以我建议看一下这个页面上的教程;这些是关于如何在图像编辑程序中手动创建立体图像的说明:

http://graphicssoft.about.com/od/3danaglyphs/Making_3D_Anaglyphs.htm

首先尝试在 Photoshop 或 GIMP 或其他任何工具中完成教程,以确保生成的图像是您想要的,然后尝试以编程方式实现该技术。

于 2011-06-26T12:57:48.070 回答
0

对于 3D 图像,您首先必须考虑:您希望左眼看到什么图像,以及您希望右眼看到什么图像?然后,您可以使用一些技术将图像组合成 3D 图像。

对于红/青色眼镜来说,组合图像并不像看起来那么简单。例如,红色塑料实际上让一点绿光通过。幸运的是,Eric Dubois 考虑了如何最好地创建 3D 红色/青色立体图的问题,他开发了一种数学上最优的技术,用于将左/右图像组合成单个红色/青色立体图。

有关此算法的详细信息已在另一个问题中讨论。您可能还想查看一个有效的JavaScript 演示,该演示将两个图像组合成 HTML5 画布上的单个立体图。

于 2014-02-27T11:00:00.320 回答