论文空间交互式3D建模方法研究Word文档下载推荐.docx

上传人:b****1 文档编号:4775777 上传时间:2023-05-04 格式:DOCX 页数:10 大小:184.49KB
下载 相关 举报
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第1页
第1页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第2页
第2页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第3页
第3页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第4页
第4页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第5页
第5页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第6页
第6页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第7页
第7页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第8页
第8页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第9页
第9页 / 共10页
论文空间交互式3D建模方法研究Word文档下载推荐.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

论文空间交互式3D建模方法研究Word文档下载推荐.docx

《论文空间交互式3D建模方法研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《论文空间交互式3D建模方法研究Word文档下载推荐.docx(10页珍藏版)》请在冰点文库上搜索。

论文空间交互式3D建模方法研究Word文档下载推荐.docx

但这未必是三维作图最佳的发展方向。

中国古代许多民间艺人都是出色的三维建模者,尽管没有精确的空间定位,他们仍能创作出美妙的三维实体。

这启发我们开发一套使用户能够凭对空间的直观感知直接在计算机中“捏”出他们设想三维模型的三维建模软件,使得三维作图变得简单而真实。

在这一项目中为了达到直观作图的目的,我们自行设计了全新的人机交互模式即空间交互,用户可以通过对硬件进行挤压,拉伸,旋转等操作在计算机中“捏”出相应的三维图像,增强了三维作图的真实感,也使得三维作图更加凸显用户对空间的理解与感知,并且节约工业建模、动画制作等的工作时间和强度,降低开发成本。

我们开发的三维作图系统的人机交互的数据生成是由数个位置不同的按键模拟点的位移,两个精密电位器测量高度变化和角度变化完成的。

我们使用两个STC12C5410AD单片机采集数据并进行A/D转换,用一个STC89C52单片机整合数据并发给计算机。

在计算机端我们用BorlandC++Builder6.0编写了接口程序,作图算法程序以及调用OpenGL的绘图程序。

尽管程序的内部实现是基于对点空间位置进行运算,但整个程序对用户展示出的是一个基于用户直觉,可以自由发挥的三维作图平台。

关键词:

三维作图,空间交互,硬件设计,软件开发

1.研究背景与课题确定

现在三维作图已经十分普及,三维软件的作图能力也进一步增强。

但是,在使用CAD软件作图过程中,我们发现到用鼠标和键盘来进行作图存在不便之处,其最大缺陷是鼠标与键盘是基于二维平面进行工作的计算机硬件,使用它们进行三维作图时,操作者缺乏对三维空间的直观感受所以只能依靠对数据的精确控制来提升作图质量。

现行的三维作图软件大多都采用这种作图形式,并且有向精确化方向发展的趋势,开发人员越来越青睐能够十分精准定位、修改的三维作图软件。

现行三维作图软件的另一弊端是它们需要开发人员具备一系列计算机知识,因为基于二维和数据的三维作图需要建模人员依照计算机的处理模式进行操作。

这使得许多有很强空间想象力的人因为自身技术水平的限制不能使用计算机这一有利工具进行三维作图。

于是我们有了开发一种全新的以空间交互为基础的三维作图方式的想法,这套新的系统使用硬件采集作图动作的数据,使得用户可以在计算机中像捏泥人那样直观地“捏”出三维实体。

正如古代的一些手工艺者虽然不能精确地计算三维空间中点的位置,但他们依然可以凭借对空间的感知直接在三维空间内创作三维实体。

同时,开发一套这样的空间交互式三维作图系统可以使计算机更加人性化,即按照人的思维方式进行三维建模。

用户可以不必受自身计算机知识的限制。

经过一系列讨论,我们最终下定决心将这个基于三维作图的想法变成现实。

2.项目的整体设计思路

我们最终对项目作出整体设计如图1:

要实现直观的空间交互式三维作图系统的开发,首先需要开发以空间交互为基础的作图硬件系统采集作图所必需的数据。

这些数据应该涵盖空间中的基本元素,比如高度,角度,以及平面内的位移。

其次,需要开发一个作图算法把硬件采集的信息运算成三维图形的空间表示(即坐标)。

此外,还需要计算机调用作图API绘制图像并反馈作图信息。

3.硬件系统

硬件系统是由我们自主设计开发的,其功能是采集基于空间交互的实时数据发送至计算机,其核心是两张我们自行设计制作的电路板,一张主要用于作图操作(操作板),另一张用于数据处理和发送(控制板)。

图2操作板

图3控制板

3.1采集交互动作的方式

图5STC12C5410AD单片机

图4STC5410AD单片机原理图1,

采集高度变化信息

采集数据的功能主要由数个按键和两个精密电位器完成。

其中一个直线电位器用于采集作图点的高度,一个旋转电位器采集作图点的角度值,这样操作者可以通过上下移动并转动操作板来在空间中定位操作点,同时可以将作出的图形拉伸或旋转。

而位于操作板上的八个按键可以模拟对四个操作点的挤压和拉伸及其深度,从而实现用户空间交互的功能。

控制板上有四个用于选择作图模式的按键,使操作者可以选择不同的作图精细程度和作图模式(对点、对线、对面进行操作),丰富了系统的作图功能。

图6STC12C5410AD单片机原理图2,

操作板采集旋转信息和点的位移

3.2硬件中的STC12C5410AD单片机

STC12C5410AD单片机是深圳宏晶公司生产的一款非常实用的具有A/D转换功能的28脚单片机,基本功能与常用的51单片机兼容。

在我们的硬件系统中有两个STC12C5410AD单片机,位于两块电路板上,分别将直线电位器和旋转电位器输出脚的电压值转化成10位二进制数并运算处理,同时这两个单片机还会采集操作点的按钮信息并以固定的波特率将这些信息发送到STC89C52单片机。

3.3硬件中的STC89C52单片机

图880C52理图,采集作图模式信息,与计算机通信,驱动LED

图7STC89C52单片机

STC89C52单片机是宏晶公司生产的一种常见的40脚单片机,十分稳定实用,基本功能与8051机兼容。

在我们的硬件系统中,STC89C52单片机担任的是主机角色,它从两个STC12C5410AD单片机接收作图信息,把这些数据与它采集的作图模式信息重新打包后发给计算机。

它还接收来自计算机的数据,驱动LED七段晶体管显示作图点的坐标,丰富了人机交互的内容,使用户也能够精确操作作图。

硬件系统的程序是我们使用汇编语言编写的。

3.4硬件系统的开发过程

在开发过程中,我们首先绘制了硬件的原理图,之后用Protel软件绘制了电路板。

随后我们热转印方式制作了电路板:

打印电路板图纸,用热转印机将油墨压到覆铜板上,用双氧水加盐酸腐蚀覆铜板,使用小台钻钻孔,安装原件并焊接。

在测试了两张电路板的性能后,我们将整个硬件系统整合成整体并与计算机相连。

如下图。

图9完整的硬件系统

4.软件系统

4.1软件系统的构成

软件程序是完全由我们自行编写的,使用的开发工具是BorlandC++Builder6.0(以下简称BCB)。

程序主要包括三个模块。

一是数据传输模块,我们使用串口通信控件接收来自单片机的空间作图数据并向单片机发送坐标值;

二是三维作图算法,用于处理数据并最终生成点的坐标;

三是图像的绘制模块,调用OpenGL作为图形接口生成窗口并使用定点坐标数组绘制三维图形。

4.2单片机与计算机接口程序

单片机与计算机的接口程序是该项目中人机交互的重要一环,是我们用BCB编写的,该程序除了在计算机端接收和发送数据外,还对来自单片机的十六进制数据包进行拆分重组,将它们加工成作图算法程序便于直接处理的格式。

4.3作图算法与实现

作图算法是我们用BCB编写的,其基本功能是利用接口程序加工成的数据生成三维空间中点的坐标。

采用的是极坐标思想。

程序首先建立表示全部顶点的二维数组DRAWING[][]。

我们将空间分成512个高度平面(数组第一维),又在每个平面上定义了256个角度(数组第二维),每个角度上有一个点。

通过高度值定位当前所在的平面,通过旋转的角度值定位需要被修改的点所在的角度,而一个点的位置由其所在的高度平面和其到Z的距离(数组的值)确定。

程序先定位点,然后根据操作点的状态对点的位置进行修改。

设一个点在高度平面h上,所处角度为α,到Z轴的距离为X,即DRAWING[h][α]=X,

若该点被“挤压”,则有:

DRAWING[h][α]’=X*0.99,(此处数据仅用来描述算法,下同)

同时这个点两侧的共10个点也将被不同程度地“挤压”,有:

DRAWING[h][α+n]’=Xn*[0.99+(|n|*0.02)],(|n|<

=5);

若该点被“拉伸”,则有:

DRAWING[h][α]’=X/0.99;

同时这个点两侧的共10个点也将被不同程度地“拉伸”,有:

DRAWING[h][α+n]’=Xn/[0.99+(|n|*0.02)],(|n|<

这种运算设计使得点的移动更符合物理力学规律。

同时由于硬件具有模式选择功能,当用户选择对线操作时,可以将一条竖线上的点即DRAWING[H][α](H为数个h值的集合)都“拉伸”或“挤压”,而当用户选择对面操作时,可以将一个面上的点即DRAWING[H][Α](H为数个h值的集合,Α为数个α值的集合)都“拉伸”或“挤压”,这其中H,Α的大小取决于用户选择的作图精细度,精度越高,H,Α范围越小。

程序还能对整个一个平面进行旋转,假设用户通过操作板旋转高度平面DRAWING[h][Α]β度(β为任意角度,Α为256个α值的集合),程序将通过一个过渡数组FLAT[256]和一个引入的变量γ来完成运算,其算法为:

γ=(α+β)mod256;

FLAT[α]=DRAWING[h][α];

DRAWING[h][γ]=FLAT[α];

由于硬件端的单片机通过串行口每秒发送十五次数据,程序可每秒进行这一系列运算十五次,足以满足交互式作图的要求。

每次运算结束后,程序会将刷新过的DRAWING[][]的值转化成点的坐标值以便绘图程序直接调用,对于一个点A:

DRAWING[h][α]=X,它最终的三维坐标xA,yA,zA为:

xA=(X*cosα)*k1;

yA=(X*sinα)*k1;

zA=h*k2;

其中k1和k2是比例系数用于调整空间图像的尺寸。

由此可见,这套软件作图算法可以满足基本的三维作图需求。

4.4OpenGL绘图程序实现

OpenGL是现在十分流行图形编程API,可移植性强,常被用于三维作图软件的开发。

其应用的本质是用户可以在C的环境下通过调用库函数直接对计算机的显示设备下指令。

我们作图软件的绘制工作就是由BCB添加OpenGL的头文件后调用其库函数完成的。

该部分程序中,我们首先用OpenGL生成了窗口并设置了显示格式,并设置了视图矩阵来定义观察三维图形的模式。

在绘图程序中,观察位置和角度会随着作图精细度的改变而改变,我们还添加了使三维图形旋转的代码,使操作者能够从各个角度看到生成的三维图像,提高了软件的实用性。

5.实际使用性能测试与操作样例

在完成整个系统的设计,制作,程序编写后,我们对整个系统进行了性能测试并与其他三维作图工具进行了一些比较。

发现我们开发的空间交互式三维作图系统在可以完成作图功能的基础上具有一些突出的优点。

在构建基础三维图元方面有许多潜在优势。

5.1该系统作图具有较好的力学特性体验

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2