(太多了,明天就考试,考完之后再修改,借鉴之前学长写的)

1 SimpleUnivers类

该类可以快速的设置一个最小的用户环境,并且很容易使一个Java3D应用程序运行起来。

该类创建一个Locale(场景)、一个单独的ViewingPlatform(观察平台)和一个Viewer(观察者对象),其中,该ViewingPlatform和Viewer观察者都是用其所有默认参数创建的。

2 ViewingPlatform类

透视投影(Perspective Projection):模拟人眼睛看东西和相机照相的原理,特点是离视点近的形体显得大,离视点远的形体显得小。其中,在投影平面上的投影通过相似三角形的比例关系进行计算。

平行投影(Parallel Projection):将空间的三维形体分别向三个坐标平面进行平行投影,形成三视图。最常用的就是工程制图中的主视图、俯视图和侧视图。

3 Shape3D类

Shape3D类定义所有的几何体。它包含几何体与该几何体的外观属性。几何体部分定义三维空间体的几何形状,外观属性部分定义颜色、材质等属性。

在一个Shape3D的几何对象列表中的所有元素必须属于同一个等价类,也就是属于同一种基本的几何类型。

等价类:对Geometry Array类的所有子类,所有的点对象是等价的,所有线对象是等价的,所有多边形对象是等价的。

4 Appearance类

Appearance类对象定义所有与显示相关的外观状态,这些状态可设置为一个Shape3D节点的组件对象(Component Object)。

这些显示状态包括下列几个方面:

颜色属性、点的属性、线属性、多边形属性、可视化模式、透明度属性、材质、纹理、纹理属性、纹理坐标的产生。

5 BranchGroup类

一个 BranchGroup作为一个场景图分支的根。BranchGroup对象是唯一能插入到一个Locale对象中的对象。以 BranchGroup节点为根的场景图子图是一个编辑单元。

6 TransformGroup类

TransformGroup节点通过Transform3D对象定义了一个唯一的3D空间坐标变换,该变换可对其子节点进行位置、方向及比例变换

7 GeometryArray类

GeometryArray类是 PointArray类,、LineArray类、TriangleArray类、QuadArray类、GeometryStripArray类与IndexedGeometryArray类的直接父类。

GeometryArray类的对象中包含独立的位置坐标数组、颜色数组、法向量数组、纹理坐标数组和顶点属性。

8 PointArray类

PointArray类是组织与定义点的数组类。

9 PointAttribute类

PointAttributes类的对象用来定义点的各种属性。

10 IndexedPointArray类

从定义好的所有点的坐标与颜色数组中选择出一部分点进行显示。

11 LineArray类

LineArray类是组织与定义线的数组类。

该类生成的线段是不连续的,线段的连接方式:0-1,2-3,4-5等。其中,1、2之间与3、4之间不连接。

12 LineAttributes类

LineAttributes类定义所有与线的显示相关的属性与状态。

13 IndexedLineArray类

IndexedLineArray类从定义好的所有点的坐标中选择一部分连成线段显示。

14 LineStripArray类

LineStripArray类将定义好的数据点分组,分别连成几段连续的线段,分成几个组,组间线段连续,各组之间互不连接。

15 多边形属性类PolygonAttributes类

PolygonAttributes类用来定义多边形显示时的相关属性。

三种显示模式:

16 多边形面及其法向量的计算

先求出点乘,计算出两向量的夹角:

通过叉乘,计算出法向量N

17 多边形可视化的填充算法

(1)种子填充算法

种子填色算法首先在要填充的多边形区域内选择一个填色种子点( Seed Point),然后以该种子点为基础,通过与多边形边界的像素点相比较进行填色。

种子填色算法主要有四邻法和八邻法

(2)扫描线填充算法

每一条扫描线从上向下以一个像素单位为间隔逐次向下扫描,采用奇偶计数法判断多边形内部的点对。

出现点重合时采取的处理方法:

首先按照多边形顶点顺时针方向标明:A、B、C、D、E、F、G

扫描线6:扫描到3个顶点,G点处两点重合,按奇偶计数法会出现错误。于是将入线FG的G点的y轴坐标向下移动1个像素单位(我理解为逆时针方向)。

扫描线7:扫描到3个顶点,D点处两点重合,按奇偶计数法会出现错误。于是将入线CD的D点的y轴坐标向上移动1个像素单位(我理解为逆时针方向)。

18 三角面TriangleArray类

TriangleArray类以一维顶点数组给出顶点的坐标值,从前向后依次以3个顶点形成一个三角形,并且上一个三角形与下一个三角形之间没有公用顶点。

19 三角带TriangleStripArray类

在同一个三角形Strip内,生成三角形时,第一个三角形由前3个顶点生成,第一个三角形的后两个顶点与第四个顶点形成第二个三角形,其余依次类推。

两个子Strip之间没有交点。

20 三角扇TriangleFanArray类

TriangleFanArray类在组织三角形时,以第一个顶点为公用顶点,依次与其余顶点分别连接形成三角形。用这种方法生成的一系列三角形公用第一个顶点。如图:

21 四边面QuadArray类

QuadArray类以顶点坐标数组中给出的一维顶点数组,从前向后依次以4个顶点形成一个四边形面,并且相邻两个四边形面之间没有公用顶点。给定的总的顶点数必须是4的倍数。

22 颜色属性ColoringAttributes类

ColoringAttributes类定义所选择的颜色与光照模型(也称为阴影模型)。

23 材质Material类

Material类的对象定义一个三维物体在光照情况下的外观。

如果在一个Appearance类的对象中的Material类的对象一项为null,则光照效果对所有包含该Appearance类的对象的节点不起作用。

24 透明属性TransparencyAttributes类

TransparencyAttributes 类的对象定义所有几何体透明度的属性。

25 光源Light类

Light类叶子节点是一个抽象类,其中定义的一组参数(光颜色、光照开关标志和一个光的作用范围)属于所有类型的光。

光源的类型包括:

(1)点光源(Point Light)

(2)平行光源(Directional Light)

(3)环境光源(Ambient Light)

26 Vetor3f类

Vector3f类是一个包含有3个单精度浮点元素x、y、z的向量。

Java 3D期末复习第三章——Java 3D 基本图形功能相关推荐

  1. 计算机组成原理期末复习第三章-3(唐朔飞)

    计算机组成原理期末复习第三章-3(唐朔飞) ✨欢迎关注

  2. 软件工程经济学期末复习第三章

    软件工程经济学期末复习总结 第3章 软件的成本.工期与定价分析 本章目标 理解成本的概念.经济内涵和特点: 了解成本的分类 掌握软件成本测算的影响因素分析 掌握功能分解法.Delphi法.影响因子法. ...

  3. 通信电子线路期末复习第三章正弦波振荡器

    写在前面:本文仅供个人学习使用.本课程授课教师为乐艳芬. 文章目录 第三章 正弦波振荡器 3.1反馈振荡器-原理 3.2 LC正弦波振荡器 电容三点式和电感三点式 课堂练习:振荡电路 课堂练习2:判断 ...

  4. 北邮数电期末复习——第三章

    <数字电路与逻辑设计--组合电路的分析和设计> == 期末复习 == 1 与非.或非.与或表达式的转换: 根据状态表写出输出函数的方程,化简成为最小与或式或者或与式(可能用到对偶性质),根 ...

  5. 通信网络基础期末复习-第三章-网络的时延分析

    文章目录 第3章 网络的时延分析 3.1 Little定理 3.2 M/M/m型排队系统 3.2.1 M/M/1排队系统 M/M/1排队系统的例题 3.2.2 M/M/m排队系统 3.3 M/G/1型 ...

  6. 《ERP原理》期末复习——第三章 erp为企业带来的效益

    可以从管理思想.软件产品.管理系统三个层次给出ERP的定义[ERP的含义]: 1.ERP是在MRPII基础上进一步发展而成的面向供应链的管理思想. 2.ERP是综合应用了客户机/服务器体系.关系数据库 ...

  7. 如何用java输出方格_第三章 Java类基础知识作业之(输出5*5数字方格,打印星塔)...

    public class Main { public static void main(String[] args) { // main函数的输入参数:Run as -> Run Configu ...

  8. 第三章 Java Servlet基础

    第三章 Java Servlet基础 3.6.2 转发 1.获得RequestDispatcher对象 2.RequestDispatcher对象调用forward()方法实现转发 请求转发工作原理 ...

  9. CoreJava 笔记总结-第三章 Java的基本程序设计结构

    CoreJava 笔记总结 文章目录 CoreJava 笔记总结 第三章 Java的基本程序设计结构 数据类型 1. 整型 2. 浮点类型 3. char类型 4. boolean类型 变量与常量 1 ...

  10. java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略

    java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略 GC需要完成的三件事情:哪些内存需要回收.什么时候回收.如何回收 垃圾回收器在对堆进行回收前,首先要确定那些对象存活,哪些对象已经死去,判断的 ...

最新文章

  1. Redis实现分布式锁的深入探究
  2. Sqoop_ 简单介绍
  3. 分段线性插值Python实现(同时估计误差)
  4. 非你所想:eigrp非等价负载均衡
  5. [搜索]一种分词的实现(2)
  6. vue生成静态js文件_如何立即使用Vue.js生成静态网站
  7. 小谈CDN回源函数计算的应用场景
  8. vr设备应用程序_在15分钟内构建一个VR Web应用程序
  9. LabVIEW FPGA PCIe开发讲解-实战篇:实验61:PCIe DMA+8位ADC(模拟数据采集卡)
  10. 深度影院linux下载,深度影院V2.2发布
  11. Python和PostgreSQL,PostGIS,空间数据管理
  12. DB2缓冲池、表空间详解
  13. Vue报错:component has been registered but not used
  14. 冬战柴达木的压裂“将士”
  15. 你,我和“拥抱”:探戈作为关系治疗法
  16. 大田智能灌溉系统解决方案
  17. 数据中心网络带宽线速有门道
  18. App卡顿的原因及解决方案
  19. bp前向传播和反向传播举例
  20. 动态规划-leetcode#115-不同的子序列

热门文章

  1. 看,程序员是如何白嫖百度文库的!
  2. 汇编语言程序设计---期末复习大纲知识点总结(王爽第二版)
  3. lgg7刷机包下载_LGG7One刷机包
  4. html+css+js的生日祝福网页+更改教程
  5. 推荐这5款Windows软件,一款比一款惊喜
  6. QT on Android的rtsp播放器demo
  7. qq空间把android改成iphone,qq空间利用代码修改iPhone6 Plus qq空间修改手机型号教程...
  8. Java从入门到精通入职学习路线
  9. 数学建模国赛-2015A太阳影子定位再研究(未完)
  10. C# 自定义Json解析工具