查看: 1266|回复: 0
打印 上一主题 下一主题

[经验分享] JAVA3D学习系列(三)

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-7-5 09:56:50 |只看该作者 |倒序浏览
一. JAVA3D的数据结构

JAVA3D实际上是JAVA语言在三维图形领域的扩展,JAVA3D的编程和JAVA一样,

是面向对象的编程。

JAVA3D的数据结构采用的是Scene Graphs S***cture(场景图),这一灵活

的树状结构与显示列表多少有些相似之处,但运用起来更耐用(More Robust)。

JAVA3D的场景图是DAG(Directed-acyclic Graph),即具有方向性的不对称图形。

场景图中有许多线和线的交汇点,交汇点称为节点(Node),不管什么节点,

它都是JAVA3D类的实例(Instance of Class),线(Arc)表示实例之间的关系。

在JAVA3D的场景图中,最底层(根部)的节点是Virtual Universe,每一个 字串4

场景图只能有一个Virtual Universe。

在Virtual Universe上面,就是Locale节点,每个程序可以有一个或多个

Locale,但同时只能有一个Locale处于显示状态,就好象一个三维世界非常大,

有很多个景点,但我们同时只能在一个景点进行观察。当然我们可以从一个景点

跳到另一个景点,不过绝大多数程序只有一个Locale。

每一个Locale上面拥有一个到多个BranchGroup节点。我们知道,要想建立

我们的三维应用环境,我们必须建立所需要的形体(Shape),给出形体的外观

(Appearance)及几何信息(Geometry),再把它们摆放在合适的位置,

这些形体及其摆放位置都建立在BranchGroup节点之上,摆放位置通过另一个节点

TransformGroup来设定。另外,我们在安放好三维形体之后,还需要设定具体的

观察位置,我们暂时用View Platform代替,它也是建立在TransformGroup节点

之上的。

下面我们用一个示意图来说明上面我们介绍的JAVA3D的场景图概念。 字串8





Virtual Universe

|

|----------------------------------|

| |

Locale Locale

|

|

----------------+-----------------

| | | |

| | | |

BG BG BG BG (BG--BranchGroup)

| | | | 字串5



| | | | (S---Shape)

S TG TG TG (TG--TransformGroup)

----+--- | | |

| | | | |

A G S S View Platform

| |

| | (A---Appearance)

----+---- ----+---- (G---Geometry)

| | | |

| | | |

A G A G
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-28 20:42 , Processed in 0.084990 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部