java3D与计算机图形学期末复习 第三章(2)

java3D与计算机图形学期末复习 第三章 java3D基本图形功能

图片与定义摘自《Java 3D 与计算机三维动态图形网络编程设计》

重点复习:

1、LineArray类

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

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

2、LineAttributes类

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

3、IndexedLineArray类

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

4、LineStripArray类

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

5、多边形属性类PolygonAttributes类

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

三种显示模式

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

如图所示,求法向量?

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

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

7、多边形可视化的填充算法

(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个像素单位(我理解为逆时针方向)。

8、三角面TriangleArray类

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

9、三角带TriangleStripArray类

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

两个子Strip之间没有交点。

10、三角扇TriangleFanArray类

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

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加油呀兄弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值