使用Java3D /其他3D API创建“激光灯”

昨天我决定用JavaJava3D开始我的新模拟器项目.因为我已经编程了Java之前它是一个很大的优点,我可以直接从模拟器开始.现在我有点想着我将如何处理这个问题,而且我直接偶然发现了我的程序中最重要的部分:模拟器中的激光器.

我想创建类似于这些的激光器(当然我不会在开始时那么接近,但你明白了)

alt text http://c.wrzuta.pl/wi3928/68d3307a00283a1b475b370b/0/lasershow

问题是,有人能给我一个如何处理这个问题的粗略解释吗?我浏览了Java3D的完整文档,但是我找不到创建这样的东西的功能.只是一些起点已经很好了.

(如果有人为这种任务推荐了不同的3D API,也适用于Java,请告诉我)

提前致谢,

威廉诉多恩

解决方法:

让我先说一下我的答案,说我对Java3D的经验非常有限.我玩过这些例子,但就是这样.但是,许多规则适用于3D环境.

如果你在谈论静态图像:使用非常窄的锥体,添加颜色和透明度,可能是纹理,以减少相对于锥体中心轴距离的alpha分量.

如果你在谈论一个动画场景,那就会变得更难.你需要合成雾. Volumetrics将为您提供令人难以置信的图像,但它的计算成本很高,我不认为Jave3D支持它.但是,我认为如果你的对象是所有激光束的父对象,你可以伪造它,而Java3D会让纹理锚定到父对象并让孩子继承它.

更新1:
我将以一个半径非常小的Cone作为单个光束开始.

上一篇:洛谷P2846 [USACO08NOV]光开关Light Switching


下一篇:Java 基本概念 (五) -- 变量、多态和枚举