文档介绍:空间交互式3D建模方法研究
学生姓名:何依征,康颢严,王家懿
指导教师:龚鹏
所在学校:东北育才学校
摘要:
现行的三维作图系统开发大多基于二维平面数据进行处理和运算,而且有向更加精确化,数学化的方向发展的趋势。但这未必是三维作图最佳的发展方向。中国古代许多民间艺人都是出色的三维建模者,尽管没有精确的空间定位,他们仍能创作出美妙的三维实体。这启发我们开发一套使用户能够凭对空间的直观感知直接在计算机中“捏”出他们设想三维模型的三维建模软件,使得三维作图变得简单而真实。
在这一项目中为了达到直观作图的目的,我们自行设计了全新的人机交互模式即空间交互,用户可以通过对硬件进行挤压,拉伸,旋转等操作在计算机中“捏”出相应的三维图像,增强了三维作图的真实感,也使得三维作图更加凸显用户对空间的理解与感知,并且节约工业建模、动画制作等的工作时间和强度,降低开发成本。
我们开发的三维作图系统的人机交互的数据生成是由数个位置不同的按键模拟点的位移,两个精密电位器测量高度变化和角度变化完成的。我们使用两个STC12C5410AD单片机采集数据并进行A/D转换,用一个STC89C52单片机整合数据并发给计算机。在计算机端我们用Borland C++ Builder ,作图算法程序以及调用OpenGL的绘图程序。尽管程序的内部实现是基于对点空间位置进行运算,但整个程序对用户展示出的是一个基于用户直觉,可以自由发挥的三维作图平台。
关键词:三维作图,空间交互,硬件设计,软件开发
研究背景与课题确定
现在三维作图已经十分普及,三维软件的作图能力也进一步增强。但是,在使用CAD软件作图过程中,我们发现到用鼠标和键盘来进行作图存在不便之处,其最大缺陷是鼠标与键盘是基于二维平面进行工作的计算机硬件,使用它们进行三维作图时,操作者缺乏对三维空间的直观感受所以只能依靠对数据的精确控制来提升作图质量。现行的三维作图软件大多都采用这种作图形式,并且有向精确化方向发展的趋势,开发人员越来越青睐能够十分精准定位、修改的三维作图软件。
现行三维作图软件的另一弊端是它们需要开发人员具备一系列计算机知识,因为基于二维和数据的三维作图需要建模人员依照计算机的处理模式进行操作。这使得许多有很强空间想象力的人因为自身技术水平的限制不能使用计算机这一有利工具进行三维作图。
于是我们有了开发一种全新的以空间交互为基础的三维作图方式的想法,这套新的系统使用硬件采集作图动作的数据,使得用户可以在计算机中像捏泥人那样直观地“捏”出三维实体。正如古代的一些手工艺者虽然不能精确地计算三维空间中点的位置,但他们依然可以凭借对空间的感知直接在三维空间内创作三维实体。同时,开发一套这样的空间交互式三维作图系统可以使计算机更加人性化,即按照人的思维方式进行三维建模。用户可以不必受自身计算机知识的限制。经过一系列讨论,我们最终下定决心将这个基于三维作图的想法变成现实。
项目的整体设计思路
按键模拟点位移深度
旋转电位器的角度值
1号5410AD单片机
直线电位器的高度信息
2号5410AD单片机
89C52单片机
计算机
三维图像
BCB调用OpenGL的库函数根据作图算法生成的点的坐标值绘制三维图像。
用BCB编写三维作图算法对接口程序处理生成的数据进行运算生成点的坐标值。
接口程序,并对收到的数据进一步加工。
反馈:计算机将正在被修改的点的坐标发送至单片机。
原始数据
原始数据
作图模式信息
图1 项目整体设计
我们最终对项目作出整体设计如图1:要实现直观的空间交互式三维作图系统的开发,首先需要开发以空间交互为基础的作图硬件系统采集作图所必需的数据。这些数据应该涵盖空间中的基本元素,比如高度,角度,以及平面内的位移。其次,需要开发一个作图算法把硬件采集的信息运算成三维图形的空间表示(即坐标)。此外,还需要计算机调用作图API绘制图像并反馈作图信息。
硬件系统
硬件系统是由我们自主设计开发的,其功能是采集基于空间交互的实时数据发送至计算机,其核心是两张我们自行设计制作的电路板,一张主要用于作图操作(操作板),另一张用于数据处理和发送(控制板)。
图2 操作板
图3 控制板
采集交互动作的方式
图5 STC12C5410AD单片机
图4 STC5410AD单片机原理图1,
采集高度变化信息
采集数据的功能主要由数个按键和两个精密电位器完成。其中一个直线电位器用于采集作图点的高度,一个旋转电位器采集作图点的角度值,这样操作者可以通过上下移动并转动操作板来在空间中定位操作点,同时可以将作出的图形拉伸或旋转。而位于操作板上的八个按键可以模拟对四个操作点的挤压和拉伸及其深度,从而实现用