用JAVA3D实现三维实体上数据结果的展示

合集下载

Java3D文档信息的可视化

Java3D文档信息的可视化

Jv 3 文档信 息 的 可视 化 aa D
王 非 ,赵强 ,唐 定 勇
( 西南 科 技大 学 计 算 机科 学学 院 , 四川 绵 阳 6 1 1) 2 0 0 摘要 : 利用 Jv3 进 行 文档信 息三 维可视 化 ,其 场景 图可 含 多个 场 所 节点 。每 个 节点拥 有 一 到 多个 分 支节 点 , a aD 在 其下 面建 立一 个基 准 坐标 系 ,便 可相 对 谊 坐标 系摆放 所 需 形体 或其 他转 换 节点 ,构 造 出复 的 物体 。构 造三 维 场景
文档信息可视化将 文档数据信息和 知识 转化 为 视觉形式 ,从而可发现 隐藏 在信息 内部 的特 征和规 律…。典型的文档信息可视化模 型如 图 1 。
3 Jv 3 实现 三维 可 视 化 aaD
31 a a D 特 点 .Jv 3
Jv 3 a aD把 O e G pn L和 D rc i t e X底层 技术包装在 Jv a a接 口中。使 3 技术 变得不 再繁琐且可加入 到 D
Jv3 aaD应用程序须先创建一个虚拟空间对象并且至少把一个场所对 象附加之 上,再构建 出所需场景 图像 。 关键词:文档信息;三维可视化;Jv 3 ;虚拟 空间 aaD 中 圈分类 号 :T 32 T 372 文 献标 识码 #A P 1 ; P 1.
Viu l ai n o x c me t n o m ai n o a a D s a i to fTe t z Do u n sI f r to n J v 3
维普资讯
^ 工 ●. 化 I .
软件技m
S fwa eT c nq e o t r e h iu
O. . t ma i n I Au o to 2 0 。 o . 5 No 4 0 6 V 12 , .

Java3D总结

Java3D总结

Java3D介绍Java3d是适应与internet 环境下开发的三维图形开发包,它针对底层库openGL 和DirectX 的封装。

这样使得他们摆脱了单机三维束缚,面向与网络方向。

OpenGL :图形编程库。

(如坐标的变化,基本形体,关照效果等)DirectX :微软公司三维库传统下的Internet 图形处理,数据不是从本地硬盘中读取,运行环境也不是事先安装好的,如果用OpenGL 等传统的可视手段,只能在Web服务器端生成图像,在发到客户端显示。

但是当前的网络传输能力是不可能满足的。

(但是java3的是传输的不是图像本生,而是三维图像生成的程序和数据)当前下的Java3d是这样的:java3d是基于OpenGL或DirectX底层的API。

他和java 一样需要安装,jre(java虚拟机)一次编程,跨平台运行。

所以说他很好的运用了pc机的硬件加速器。

(当前我们现在用的是WebStart来下载java3d程序,他保证了如果服务器端没有升级变化时,只需要下载一次,以后就可以直接运行)。

Java3d 本质是一个交互式三维图形应用编程接口(api),他可以和java2d,swing,awt 结合。

其目标是:让用户在浏览器中观看或操作三维动画图形。

一次编程,到处运行。

适应不同的软件平台。

适应各种显示环境和输入设备。

Java3d的编程思想Java3d编程的空间采用场景图结构,是一种有向无环图。

如图:locale下有一到多个branchgroup节点,在他下有一个基准坐标系transformgroup,就可以相对此坐标系摆放所需的形体(shape3d)也可以给出形体的外观appearance及geometry。

所以:他就是将许多对象安放在这个虚拟空间的过程,在设置各个方面的属性,如:形状,位置,外观,贴图,透明效果等;再在三维环境下设置灯光,雾,背景,声音等。

最后定义我们自己的观察角度,最终达到效果。

基于Web的三维交互系统的设计与实现

基于Web的三维交互系统的设计与实现

基于Web的三维交互系统的设计与实现作者:温凯峰来源:《电脑知识与技术·学术交流》2008年第19期摘要:介绍利用Java3D技术,构建一个基于Web的三维交互系统,实现与用户进行交互,并给出了部分实现细节。

关键词:Java3D;交互;Web 3D;场景中图分类号:TP319文献标识码:A文章编号:1009-3044(2008)19-30036-03Design and Implement of 3D Interactive System Based on WebWEN Kai-feng(Jiaying University, Meizhou 514015, China)Abstract: This paper introduce on the use of Java3D technology, to build a three-dimensional interactive system based on Web, which can interact with the users, and implement a part of detailKey words: Java3D; Interactive; Web3D; Scene1 引言随着网络技术及计算机硬件技术的飞速发展,网络的带宽和计算机高效的3D运算能力的提高,虚拟现实技术在互联网上的应用成为了新的热点。

Web 3D技术的目的正是在互联网上建立三维的虚拟世界,给网上冲浪者提供真实的视听感受,使之在互联网上感觉到就如真实的世界一样,从而产生身临其境感觉。

本文主要讨论利用Java 3D技术,构建一个基于Web的三维交互系统,实现与用户进行交互,使用户充分享受Web 3D技术所带来的感受。

2 Java3D技术Web 3D标准的研究、定义和推广,主要是由Web 3D联盟组织来完成的。

其推出的VRML97是3D图形和多媒体技术通用的交换文件的格式。

三维数据表示方法

三维数据表示方法

三维数据表示方法以三维数据表示方法为标题,本文将介绍三维数据的表示方法。

三维数据是指在三个维度上具有数值的数据集合。

在现实世界中,我们常常遇到需要用三维数据来描述的问题,比如地理空间数据、医学影像数据等。

为了更好地理解和处理这些数据,人们开发了多种三维数据表示方法。

一、点云表示法点云是由大量的点构成的数据集合,每个点都有自己的坐标和属性信息。

点云表示法是将三维物体表面上的点以离散的方式进行采样,然后通过点的坐标和属性来表示物体的形状和特征。

点云表示法适用于表示复杂的几何结构,如云朵、地形等。

二、体素表示法体素是三维空间中的一个立方体单元,通过将整个三维空间分割成小的立方体单元(体素),并用每个体素的属性来表示物体的特征。

体素表示法适用于表示密集的物体,如人体、器官等。

体素表示法可以更精确地描述物体的几何形状和内部结构。

三、三角网格表示法三角网格是由大量的三角形构成的网格结构,每个三角形都有三个顶点和三个边。

三角网格表示法通过将物体的表面离散化为大量的三角形来表示物体的形状。

三角网格表示法适用于表示光滑的物体,如汽车、建筑等。

三角网格表示法可以提供更精确的外观和形状信息。

四、边界表示法边界表示法是通过描述物体的边界来表示物体的形状。

边界表示法适用于表示具有复杂几何结构和曲线的物体,如管道、电路板等。

边界表示法可以提供更精确的几何信息和拓扑关系。

五、光线追踪表示法光线追踪是一种基于光线的渲染技术,通过模拟光线在物体表面的反射、折射和散射来生成图像。

光线追踪表示法适用于渲染三维场景和生成真实感图像。

光线追踪表示法可以提供更真实的光照效果和物体表面细节。

六、体积渲染表示法体积渲染是一种基于体素的渲染技术,通过对体素进行光线传播和颜色混合来生成图像。

体积渲染表示法适用于渲染密集的三维数据,如医学影像、地质数据等。

体积渲染表示法可以提供更直观的内部结构和分布信息。

七、层次表示法层次表示法是一种将三维数据分层次地进行组织和表示的方法。

java3d官方教程

java3d官方教程

Java 3D API官方教程[翻译一]开始学习Java3D API1第一章、入门本章目标:学习了本章之后,你能:•能用一些基本术语解释什么是Java3D•能描述出Java3D程序的基本结构。

•能识别出Java3D API中的许多类。

•能编写出简单的Java3D动画程序。

Java 3D API是一个用于编写显示和交互操作三维图形对象的程序的接口。

Java 3D也是在Java2 Java开发包(JDK)上的标准扩展。

这个API提供了用于创建和操纵3D图形的高端构成方法以及渲染该图形的一些数据结构。

Java3D 提供了创建图片、可视化、动画以及3D交互图形应用程序的函数。

1.1 什么是Java 3D API?Javae 3D API是作为复杂三维图形和声音渲染系统的接口的一系列层次的JAVA类的统称。

程序员可以用Java3D开发创建和操纵3D图形对象的高端应用。

这个图形对象处于一个被渲染了的虚拟世界(Virtual Universe)中。

这个API就是用设计来用于灵活方便地创建精确的各种大小的虚拟环境,可以大到大空物体,小到比原子还小。

除了这些功能之外,API的使用也很直接,API能自动处理渲染的细节,由于利用了Java线程机制的优势,所以Java3D的渲染器的工作是并行进行的。

并且渲染器也能自动地优化并提高渲染性能。

一个Java3D程序创建了Java3D对象的实际,并将其置之于场景图数据结构中。

在这个场景图中,所有3D对象用完全指定了虚拟世界内容和其如何被渲染的树形结构存储,Java3D程序能写成能独立运行的应用程序,或者写成能嵌入在浏览器中运行的Applets,或者二者兼备。

1.2 Java 3D API每一个Java3D程序至少部分地集成了来自Java类层次中的对象,这些对象的集合称做虚拟世界(virtual universe),这就是将要被渲染的对象。

此API在javax.media.j3d包中定义了超过100多个类,这些类我们平常称做Java3D 核心类。

3d数据分析2篇

3d数据分析2篇

3d数据分析2篇第一篇:3D数据分析的基础及应用随着科技进步的不断推进,3D数据分析作为一种新型的数据分析方式正逐渐受到社会的关注。

基于3D数据分析,我们可以更准确地了解和预测现实世界中的各种情况,帮助我们更好地制定决策和安排工作。

下面我将介绍3D数据分析的基础原理和主要应用。

1.基础原理3D数据分析基于三维空间几何模型和计算机技术的交叉学科。

其主要涉及数据采集、数据处理、数据分析和数据可视化等环节。

首先,我们需要通过各种数据采集方式获得三维模型数据,例如激光雷达数据、三维扫描数据等。

然后,我们需要通过计算机技术将这些数据进行处理和分析,例如三维重建、模型优化、几何分析和多元分析等。

最后,我们需要通过可视化方式将处理后的数据呈现出来,例如虚拟现实、交互式图像和动态展示等。

2.主要应用3D数据分析在各个领域都有着重要的应用价值。

下面我将以医疗、工业和文化遗产保护三个领域为例,简单介绍其应用价值。

(1)医疗领域3D数据分析在医疗领域中主要用于医学影像处理和医疗工具的设计优化。

例如,通过3D打印技术可以为医生提供更好的手术操作支持,使手术更加准确和安全。

此外,基于3D数据分析的人体解剖模型也可以帮助医生对病人进行更加全面和准确的病理分析和诊断。

(2)工业领域3D数据分析在工业领域中主要用于机械设计、CAD/CAM 以及流体分析等方面。

例如,可以通过3D数据分析来优化各种工业机械的结构和性能,提高机械的效率和准确性。

此外,基于3D数据分析的流体动力学模型也可以帮助科学家和工程师更好地理解和掌握流体物理学原理,从而为工业生产提供更加精准的数据支持。

(3)文化遗产保护领域3D数据分析在文化遗产保护领域中主要用于文物资料的数字化和保护。

例如,可以通过3D数据分析将文物雕塑或者建筑进行数字化复原,使其更好地展示出来。

此外,通过3D 数据分析还可以帮助文物保护尽量减少对文物造成的损害,更好地保护文化遗产。

综上所述,3D数据分析作为一种新型的数据分析方式,在各个领域都有着广阔的应用前景。

用JAVA3D实现三维实体上数据结果的展示

给 出了具体 实施过 程及 相应 的具 体程序 .
[ 关键 词 】A A3 三维模 型 ; 据 显 示; Jv D; 数 可视化
[ 中图分类号] ̄1 A [ T 2J 文献标识码] [ A 文章编号]6 1 3o ( 2 o — 0 5 0 1" — 8x  ̄o )2 04 — 3 7
Vi ai t n o s l a i fDaaOl u z o t l 3一Di n in lS fe yJ A D me so a m' e b AV 3 i a
J v D作 为 J v A A3 A A的 一个 A I本 身包含 了几 P, 乎所 有编 写交 互式 三维 应用 程序 所需 要 的最 基本 的 类 、 法 及 接 口_ . 的 核 心 类 及 接 口 存 放 在 方 2 它 j i m。i. d程 序 包 中 , 且 J V D还 提供 了 且 v d a3 而 A A3
虬I uc me o i ly i i trc i .a d i i c a g a l n ̄ ̄l a d s e e o to d s a s n ea t e n t s h n e b e i - e n i .锄l a e r rv h tte me o f p v z i p p rt 1 p e ta t d i s yo o h h s fa il i e s e w t amaeil d l n d g ete po e sa d te po r l fo r mma . b h tr mo e ,a i h rc s n a v h r ga e f n o o g
维普资讯
第2 4卷 第 2期 2 O 年 4月 O2
宜 春学 院 学 报 ( 自然科 学 ) Ju a o Ycm t e i(a rl c ne or l f ihnUd mt nt a si c) n v y u e

虚拟现实技术中计算机图形学的应用——三维计算机图形

虚拟现实技术中计算机图形学的应用——三维计算机图形虚拟现实技术中计算机图形学的应用——三维计算机图形近年来虚拟头盔的发展越来越快。

目前,这个虚拟头盔仅在瑞士圣约翰公园能够让体验者进入虚拟3D世界,体验者能够在“真实公园”的混合环境下进行探索,通过照相机进行观看,以及通过计算机形成3D虚幻假像,其中包括:发光的草、梦幻般的昆虫,以及天空中出现的奇特景象。

这种新型虚拟头盔被称为“生命放大器(Lifeclipper)”,是一种全新的娱乐高科技装置,通过背包中的高性能计算机使体验者进入一个与现实并行的虚拟世界。

其主要技术是近年来越来越火的虚拟现实技术。

虚拟现实(Virtual Reality,简称VR,又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。

虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。

VR是一项综合集成技术,涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。

使用者进行位置移动时,电脑可以立即进行复杂的运算,将精确的3D世界影像传回产生临场感。

该技术集成了计算机图形(CG)技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高技术模拟系统。

概括地说,虚拟现实是人们通过计算机对复杂数据进行可视化操作与交互的一种全新方式,与传统的人机界面以及流行的视窗操作相比,虚拟现实在技术思想上有了质的飞跃。

虚拟现实中的“现实”是泛指在物理意义上或功能意义上存在于世界上的任何事物或环境,它可以是实际上可实现的,也可以是实际上难以实现的或根本无法实现的。

而“虚拟”是指用计算机生成的意思。

因此,虚拟现实是指用计算机生成的一种特殊环境,人可以通过使用各种特殊装置将自己“投射”到这个环境中,并操作、控制环境,实现特殊的目的,即人是这种环境的主宰。

基于Java3D的三维图形数据的动态刷新


A sr c b ta t
I hs p p r wed a i h e eo me t f r e—dme so a rp y tm a e n te I tme . h c t n a d d s  ̄y c nr l n t i a e , e lw t t ed v lp n e h ot h i n in l a h s s g e b s d o ne tT e l a o n p o t h o i i o
维普资讯
基 于 J v 3 的 三 维 图 形 数 据 的 动 态 刷 新 aaD
张宜生 林恩德 梁书云 李德群
( 中 科 技 大 学 模 具 技 术 国 家 重 点 实 验 室 武汉 40 7 ) 华 3 04


本文就 开发基 于互联 网 的三维注 塑成 型流 动模 拟 系统 中的三维 图形定 位 、 显示控制 以及在 浏览器 环境 下 的动态模 拟 显
Jv3 P (aaT re — i es nA pi tn Po aaD A IJv he —D m ni p l a o r. o ci .
舯 m n t f e 是 用 于实 现基 于 We mi I e a ) g n rc b的 三维 图 形显
示 和应用 程 序 开 发 的 Jv 程 接 口 , 具 备 了从 网 络 aa编 它
o r e—d me s n l rp , swe ste p o lm f y a cd t e s ig u d rte b w e n i n n y ic se T e tc n lg a e n fhe t i n i a a h a l a r be o n mi aa r矗e ln n e r s re vr me t ed s u s d. h h oo y h sb e o g l h d l h o o a e

三维数据统计描述

三维数据统计描述引言:统计学是一门研究数据收集、处理、分析和解释的学科。

在统计学中,三维数据是指包含三个或更多个变量的数据集。

通过对三维数据的统计描述,我们可以揭示出变量之间的关系和趋势,从而为决策和预测提供依据。

本文将以三维数据统计描述为主题,介绍三维数据的基本概念、常用统计方法以及实际应用案例。

一、三维数据的基本概念三维数据是由多个变量组成的数据集合,每个变量都代表一个维度。

以一个销售数据为例,假设我们有三个变量:销售额、时间和地区。

销售额代表销售业绩,时间代表销售日期,地区代表销售所在的区域。

将这三个变量组合在一起,我们就可以得到一个三维数据集,以便进行后续的统计描述和分析。

二、常用的三维数据统计方法1. 散点图散点图是一种常用的三维数据可视化方法,用于展示两个数值型变量之间的关系。

在散点图中,三维坐标轴的每个轴分别代表一个变量,通过绘制散点图,我们可以直观地观察到变量之间的相关性。

例如,我们可以通过绘制销售额与时间的散点图,来观察销售额随时间的变化趋势。

2. 箱线图箱线图是一种用于展示多个数值型变量之间差异的图表。

在箱线图中,三维坐标轴的每个轴分别代表一个变量,通过绘制箱线图,我们可以直观地观察到不同变量之间的差异和分布情况。

例如,我们可以通过绘制销售额、时间和地区的箱线图,来观察不同地区在不同时间下的销售额差异。

3. 相关分析相关分析是一种用于研究两个或多个变量之间关系的方法。

通过计算相关系数,我们可以得到变量之间的相关性程度。

例如,我们可以通过计算销售额与时间的相关系数,来判断销售额与时间之间的关系是正相关、负相关还是无关。

4. 回归分析回归分析是一种用于研究一个或多个自变量与因变量之间关系的方法。

通过建立回归模型,我们可以预测因变量的取值。

例如,我们可以通过建立销售额与时间的回归模型,来预测未来某一时间点的销售额。

三、三维数据统计描述的实际应用案例三维数据统计描述在实际应用中有着广泛的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第24卷第2期宜春学院学报(自然科学)Vol.24,No.119 2002年4月Journal of Yichun Universi ty(natural science)Apr.2002用JAVA3D实现三维实体上数据结果的展示邓方宝(宜春学院理学院数学系,江西宜春336000)y[摘要]本文采用JAVA3D语言,对三维空间表面上的数据进行直观地可视化显示.显示的结果是交互式的,可以改变观测角度及任意缩放.本文通过一个具体模型,说明了该方法的可行性,并给出了具体实施过程及相应的具体程序.[关键词]JAVA3D;三维模型;数据显示;可视化[中图分类号]TP3121JA[文献标识码]A[文章编号]1671-380X(2002)02-0045-03Visualization of Data on3-Dimensional Surface by JAVA3DDENG Fang-bao(The mathematics department o f science institue,Yichun university,Yichun33600,0China) Abstract:In this paper,the visualiztion of the datum on3-Dimensional surface was conducted by JAVA3D language1 The outcome of display is interactive,and it is changeable in angle and size1This paper try to prove that the method is feasible with a material model,and give the process and the progra m of performing1Key Words:JAVA3D;3D Model;da tum display;visualiztion1引言目前,各种研究成果非常多,不少成果表现为数据结果,如何直观形象地把枯燥的数据展现出来就显得非常重要.现在一般是使用OFFICE EXCEL制表软件等把数据制成表格、曲线或曲面.这种方法可移植性差,也缺少交互性,只对于简单数据是可行的,但对于在三维空间的不规则曲面上的数据显示就难于实现.另一方面,随着互联网的发展,许多研究的数据结果需要放到互联网上以实现共享,如果这种结果显示是根植于三维模型且有一定的交互功能,他人就能更好地通过互联网来了解共享这些科技成果.JAVA3D是JAVA的一组API(应用编程接口),是JAVA语言[1]在三维领域的扩展.是一个编写三维应用程序的性能优越的工具.编写JAVA3D程序时,只需找到所需要的对象,了解对象及其特性并将其加以应用,就可快速地编写出复杂的三维应用程序.JAVA3D程序和其它JAVA程序一样,可以在网页上运行,因而利用JAVA3D就能很方便地在互联网上交互式显示三维模型上的数据结果.2主程序框架的实施JAVA3D程序是由类组成的,程序中的类Data_ 3D是自定义的公共类,它是用public class Data_3D e xtends Applet{}来声明,使该程序作为Applet程序,可插入到超文本HTML文档中来运行.JAVA3D作为JAVA的一个API,本身包含了几乎所有编写交互式三维应用程序所需要的最基本的类、方法及接口[2].它的核心类及接口存放在javax1media1j3d程序包中,而且JAVA3D还提供了一个重要的有助于快速编程的应用类型的程序包com1sun1j3d1utils.凡是能够利用的外部的类均需用import引入上述包中的类,因而使用JAVA3D能方便快速地编写实现三维实体数据可视化的三维应用程序.类Data_3D(Data_3DX)是本文的主程序,见附件一源程序Data_3D1java(Data_3DX1java),其内容主要是由以下几个方法组成:211程序中自定义类Data_3D的构造方法Data_3D ()在构造方法中,首先设置一个边界页面布局(BorderLayout),再调用预设的图形配置值来建造了一个三维图形窗口环境.通过调用createSceneGraph 方法来建立一个拥有三维形体及其它内容的具体场景图分支节点BranchGroup.并设置好灯光效果,最后将该场景图分支节点BranchGroup放入到整个场景图中的合适位置.该方法用来创建一个实际的Data_3D类,生成一个具体的场景图.212建立场景图内容分支的createSceneGraph()方#45#y收稿日期:2001-09-25作者简介:邓方宝(1964-),男,江西奉新人,计算机硕士,讲师,从事数学、计算机教学和科研工作.法该方法由以下几个部分组成,¹设置场景图的白色背景及其有效范围;º生成一个存放标志条图片的局部坐标系以作为数据显示的参照;»生成可用鼠标控制旋转、平移、放大缩小变化的一个局部坐标系;¼调用具体的自定义类Car_Body 类(Car_BodyX 类)的实体构造方法生成车体对象.213 控制坐标系的旋转、平移、放大缩小变化的defaultMouseGroup()方法鼠标对象一共有三个:MouseRotate 、MouseZoom 和Mouse Translate,它们分别作用于鼠标的左、中、右键(如果没有中键,可以用Alt+左键来代替).这三个鼠标对象用于控制坐标系的旋转、平移、放大缩小变化.由此可以实现交互性操作.214 在场景图分支中建立设置灯光的createLights ()方法环境光的设置要用到AmbientLight 对象,而D-irectionalLight 对象用来设置定向光.定义任何对象的有效范围时,需定义一个B oundingSphere 对象,再用这个对象来限定灯光对象的有效范围.最后还需将灯光对象加入到BranchGroup 对象中.215 JAVA 3D 程序成为Application 应用程序的方法 JAVA 3D 作为JAVA 语言的API,用JAVA 3D 编写的程序也是JAVA 程序,既可成为Applet 程序,也可成为Applicatoin 程序.增加一个main ()函数(方法)可以使程序变成Windows Application 类型的应用程序.3 具体模型的实施311 建立轿车车体的数学模型以复合材料轿车车体上的一个加工数据[3]为例.将轿车车体分解成许多小四边形,每个小四边形的四个顶点应尽量共面,每个顶点的坐标数据可以给定,应保证每四个顶点构成一个共面或近似共面的小四边形,所有这些坐标数据都存放在一个数据文件car 1dat 中.其数学模型见图1.图1 轿车车体的数学模型对于车体上已加工的数据结果,可以是温度、光滑度、弯曲度等等,或者本身就是颜色.,通过换算公式转换成相应的颜色值.具体实现时,将需要显示的数据放在车体中小四边形的每个顶点上,通过JAVA 3D 程序,将车体上的数据结果以相应的颜色直观地显示出来.312 确定颜色值与具体数据结果值的转换关系 由于用JAVA 3D 程序运行后显示出来的车体是以颜色来表示数据的,因此,颜色必须与数据值相对应.JAVA 3D 颜色模型是一种24位RGB(红、绿、蓝)模型,它的颜色对象可包含24位的颜色信息,指定为红(0~7位)、绿(8~15位)、蓝(16~23位)组件,其构造函数为:Color3f(float r,float g,float b)其中r-红色组件,g-绿色组件,b-蓝色组件 对于任意给定的一组红、绿、蓝值(float r,float g,float b),其中010f [r,g,b [110f,它对应一种相应的颜色.反之,一种指定的颜色由它的红、绿、蓝成份值r,g,b 来组成,也即一种颜色对应一组值r,g,b.基于这种对应关系,在以连续颜色显示车体来表示数据结果的程序中,要显示的车体上的每个数据,在程序中首先加工成值的范围在010f 与110f 之间的浮点数c olorscale,将该浮点数构成一组红、绿、蓝值来对应某一种颜色,按照方式(1-colorscale,co-l orscale,015f*colorscale )转换成颜色.当然也可按其它方式转换产生对应不同颜色的显示效果.事实上,也可以使用r,g,b 的值为整型数,形式为(int r,int g,int b).其中的r,g,b 的值满足:0[r,g,b [255,可以使用这些RGB 三原色整数值的任意组合来创建任意指定的一种颜色,同样,一种指定的颜色也由它的红、绿、蓝成份整数值r,g,b 来构成,在以二位纹理显示车体来表示数据结果的程序中,就利用整型数据值来表示红、绿、蓝成份值进行组合来产生指定的颜色.313 建立颜色标志条作为具体数据结果的参照 对车体上的数据结果,通过上述方法转换成相应的颜色,在JAVA 3D 程序运行后显示出一个带有各种颜色的车体.但是仅从显示的颜色是无法准确判断具体数据的,因此,根据上述的转换计算公式建立一个颜色标志条作为判断具体数据结果的参照.该颜色标志条具体标示了颜色所对应的数据范围,程序执行后,随车体的显示而同时显示,以作为一个参照.具体建立颜色标志条时,将车体上要显示的数据值加工成RGB 三原色的成份值,这样的红、绿、蓝#46#第2期 宜春学院学报(自然科学) 第24卷成份值对应一种具体的颜色.将要显示的数据值与所对应的颜色描绘在一起,就建立了一个颜色标志条.这样的颜色标志条就可用来表示数据值的范围. 如图2-1右侧给出了一种较为简单的颜色标志条,用于以连续变化的颜色显示车体后所给出的一个参照.而图2-2右侧给出了另一个颜色标志条,用于以二位纹理对车体表面进行着色后显示的颜色与数据的对照,每种颜色代表一个数据区域范围.314 以连续颜色显示车体来表示数据结果 这里建立生成具体车体对象的自定义类Car_Body 类.其中构造车体外形的数据以及车体节点上的数据均存放在一个数据文件car 1dat 中.首先声明一个Car_Body 类,然后定义其相应的构造方法Car _B ody ().在Car _B ody()中,利用数据文件car 1dat 建立一个文件输入流对象,输入构成所有小四边形的节点坐标数据后,把各个节点连成一链表,全体顶点就生成了空间中一个三维车体外形. 假定每个节点上有需要显示的数据,将节点上需显示的数据折算成颜色值,也就是通过颜色来表示数据结果,这一步可根据需要改变.建立由小四边形组成的车体实例后,把节点链及颜色数组赋给它,这样形体所显示的颜色是连续变化的.注意建立该车体时,必须把C OLOR_3标志赋给它.设置显示模式时要把属性值POLYGON_FILL 赋给该形体,就完成了Car_Body 类的建立.源程序Car_Body 1java 见附件一.程序经编译运行后,显示出一个不规则三维形体上的数据结果,显示的形式是以颜色来表示车体上各个部分的数据.可以用鼠标进行放大缩小、旋转及平移操作,是一种交互式地展示车体上的各部分显示效果的情形.程序运行后从其中一个角度展示的结果如图2-1.图2-1 JAVA 3D显示的车体上的数据图2-2 JAVA 3D 显示的车体上的数据 图2-1显示的结果是以连续变化的颜色来代表数据,通过已建立的颜色与具体数据对应的标志条来判断数据结果,下面的方法,是指定一种颜色代表一个数据范围,利用离散的一定数量的颜色来显示数据结果.315 以二位纹理显示车体来表示数据结果这里定义为Car _B odyX 类.不同的地方是利用二位纹理使用若干种颜色对形体表面进行着色,而不是用连续颜色对形体表面进行着色.在Car_BodyX 类中,读入构成车体的数据和车体上要显示的数据的语句部分与Car_Body 类的前面内容完全相同,生成节点的部分也与Car_Body 类中的语句一样.为实现用二位纹理着色显示车体,需要把由所有小四边形构成的实体的COLOR_3特性改为TEXTURE_COORDI NATE_2特性.把数据折算成节点上的纹理数据后赋给四边形实体.程序中重要的是建立纹理图,由于这一段程序较复杂,故把建立纹理图的具体过程定义成类中的一个方法,同样附上源程序Car_BodyX 1java,见附件一.程序运行后获得的某个角度的结果见图2-2.显示的结果是不同颜色代表着不同的数据区域.通过已建立的颜色标志条可以判断颜色对应的数据范围,所显示的车体上每部分颜色都表示了确切的数据结果.参考文献:[1]江春华,蔡洪斌1JAVA 程序设计基础与提高[M]1北京:电子科技大学出版社,19981[2]张杰1JAVA 3D 交互式三维图形编程[M ]1北京:人民邮电出版社,19991[3]Shunliang Jiang,Kerang Han,Chuck Zhang,andBen Wang,Process Design of Resin Transfer Mold -ing with Computer Simulation[C]15th international mechanical engineering congress and exposition,Anaheim,Canada,November,19981#47#第2期 邓方宝:用JAVA 3D 实现三维实体上数据结果的展示 第24卷。

相关文档
最新文档