2005年9月第20卷第5期西安石油大学学报(自然科学版)
JournalofXicanShiyouUniversity(NaturalScienceEdition)Sep.2005Vol.20No.5
文章编号:1673-064X(2005)05-0081-03
布尔运算在建模中的实际应用
ApplicationofBooleanOperationinmodeling
吴春燕,刘冰
(西安石油大学机械工程学院,陕西西安710065)
摘要:三维动画技术已被广泛应用于CAI设计制作中,本文结合课件制作的实际,探讨如何在3DSMAX软件条件下,使用布尔运算辅助建模的一般过程,同时论述了运用布尔运算的一些常见问题
以及解决该类技术问题的方法.关键词:布尔运算;三维动画;课件制作中图分类号:TP391.72 文献标识码:A 随着多媒体技术的发展,三维动画正逐步运用于各类课程的计算机辅助教学(CAI).在使用3dsmax制作三维动画的建模过程中,布尔运算作为一个常用工具发挥着巨大的作用.同时,由于软件本身的设计,在实际使用过程中,关于布尔运算使用往往容易出现一些问题,解决该类问题不仅可以大大提高课件制作的质量和效率,同时也为之后的设计打下了良好的基础.
Union 并集
IntersectSubtractionCut
交集
差集(A-B)或(B-A)切割
1.2 布尔运算的一般过程
以差集为例,首先创建两个物体并让其相交.如图1,选择两个基本形/Teapot0,/Box0.创建之后,移动它们的位置使之相交.同时在右侧的/Create0的/Geometry0选项栏的下拉菜单中选/Compoundobjects0
.
1 布尔运算的一般运算形式
Boolean(布尔运算)是/一个数学集合的概念0[1],可对两个对象进行集合运算.在3dsmax4.0以后版本中实现了对一个物体进行多次的布尔运算[2].布尔运算的种类有交集、差集、并集、切割等.1.1 布尔运算的界面
布尔运算是针对物体进行的[3].首先选定一个物体,并在右侧的/Create0的/Geometry0中的下拉菜单中选/Compoundobjects0,右侧就会弹出该选项的属性栏,点击/Boolean0,在/Operation0一栏中列出了布尔运算的几种运算方式:
图1 A物体/Teapot010与B物体/Box010相交
收稿日期:2005-06-27
作者简介:吴春燕(1968-),女,广东揭阳人,讲师,本科,主要从事工程图学、CAD方面的研究.
然后,选择被减物体,点击/Boolean0,一般而言,3dsmax会将布尔运算默认为第一类差集运算(即A-B).直接点击/PickOperand0,然后点击/Box010,/Box010部分连同与/Teapot0相交的部分就被减掉了.这就完成了该步骤差集的布尔运算.但是,通过将其复制旋转,可以发现,原来这个/Teapot0不是一个实体,而是一个空心的壳,而且只能从外看到其腔体,实际上它是由一页面片组成的.对于这一问题出现的原因和具体解决办法,下面将做出解释.
一般的布尔运算就是如此.将其复制多个,点击/Modify0栏,选择其他的布尔运算方式,如图2,这样就可以得到布尔运算其他形式的结果
.
[4]
/Compoundobjects0,会发现布尔运算一栏呈灰色,即不可用.解决这一问题的一般方法是将参与布尔运算的物体进行复制,经多次布尔运算,或将组首先进行合并(即做并集),成为一个物体,然后进行布尔运算.
2.2 未必相交原则
/通常参与运算的两个布尔对象应该有相交的部分0[5],但在现在常用的3dsmax版本已经可以在不相交的物体间进行布尔运算.这一改变主要表现在并集上,即它可将不相交的物体设为同一物体,而且这一物体可以继续进行布尔运算(即视为一个普通物体).
同时,交集的意义是去除这两个物体.差集约等于去除A或B物体,主要的差别是第二种差集的结果,将B部分的定位值改为了A物体的定位值,而名称仍为A物体.在图3中可以清楚地发现显示的是A的名称和定位值,但实际的物体已经是B物体了
.
图2 在带有黄框三维效果图中显示布尔运算结果
A物体为/Teapot010,B物体为/Box010;左前为差集(第三项),左后为并集,右前为交集,右后为差集(第四项).
以上几种运算都是基于实体的运算.而最后一项的Cut(删减)是一种面操作,同样运算结果也不是实体,而是面片物体.点击Cut(删减),Cut选项后的灰色选项也就被同时激活,可以看到两个Remove选项,上面一个是/RemoveInside0,操作后的结果是A-B后剩余的部分,但是生成为一些面的集合而不是实体,下面一个是/RemoveOutside0,操作后的结果是A与B的交集,也同样是面的集合.选择第一个Remove选项.注意:这个面片物体只有被赋予双面材质,才可以以实体着色模式在视窗中完全显示出来,并且可以被完全渲染出来.
2.3 优先原则
这一原则主要是针对布尔运算本身易出问题而提出的.在实际操作过程中发现,布尔运算极易出现丢面等直接影响效果和制作效率的问题[6].因此,应当在尽早的时候进行布尔运算操作.
以剖视图中的一幅为例.如图4,可以看到,如果先将所有部件做好并组合,然后进行全剖(用一个大的长方体与之取交集),结果发现出现了严重丢面的现象.这并非由设计人员的失误造成,而是由于在各部分的制作和最终的组合过程中,原来本为实体的面经过多次布尔运算,内部结构许多已经变为面结构,即变为空心体.
而如果可以在制作的起始部分就将其逐一剖开,最后再将剖开的两部分分别组合就不易出现上述问题,特别是一些零部件,虽然制作很简单,但由
图3 在棕色物体外部的定位点(三轴交点)
2 布尔运算的使用原则
2.1 布尔运算是物体之间的运算
一般而言,布尔运算是物体与物体之间的运算.在3dsmax中,布尔运算不支持组运算.如将某一组选取,点击/Geometry0中的下拉菜单中选
于其表面不规则,布尔运算会自动将其认定为面形空心图形(如Teapot),这些现象应当在制作初期就予以解决
.
算的物体,可通过MeshSelect,PatchSelect等编辑工具进行修改[7].
3.2 交集与并集的A,B物体选择
很多资料认为,并集和交集中A,B两物体的顺序是无所谓的,但在实际操作中可以发现,A,B两物体的顺序选择虽然不影响效果,但是合理选择其顺序会提高之后的设计效率,简化设计难度.
当A交B时,最终的结果为新的A,其名称和定位值与A一致.这里特别要提的是定位值,因为工程制图中三维动画的内容对图形的准确度要求较高,所以在一开始建立这些物体的时候往往首先取一些有效数字较少的值来定位,如(0,0,100),而进行布尔运算的两物体如有一物体定位值较为复杂,通常
图4 两物体相交部分的某些面明显丢失
就可以选择另一物体,以方便之后的操作.特别是一组物体进行合并时,应选择位置居中、形状规则、实体较大的物体作为主物体(即被合并物).3.3 模型面问题
在3dsmax中,一些诸如圆柱面的曲面并非是完全弯曲的,而是通过一些平面过渡出来的.如圆柱体实际上是一个多棱的棱柱,而圆锥与正三棱锥的区别只有一个参数/Sides0,圆锥是数量较大时的图形,正三棱锥是/Sides0为3时的图形.通常,模型面的数值高,则图形和画面的精度随之增高,但同时,计算量变大,影响制作和渲染,以及最后的存储.在布尔运算过程中,合理设置模型面的数值可以直接影响到最终的效果.
现在同时创造两组完全相同的柱柱相贯的模型,在布尔运算之前,将右边一组的/Sides0值由18(3dsmax的默认值)改为100,左边一组不变.图5.通过对比,可以明显发现,左边一组不仅在圆柱与圆柱相贯的地方出现了很不光滑的效果,甚至仔细观察可以发现,经过并集计算之后,
圆柱表面也
2.4 多并少交,先交后并原则
在布尔运算的使用过程中,并集往往不会影响图形表面上的完整性,而交集和差集则会直接出现丢面等现象(如上例的剖视),所以在制作过程中,应当先进行交集的工作,一方面是为了早发现问题,同时,丢面往往是因为并集使物体变得不规则造成的,在并集之前使用交集和差集,就可以避免一些不必要的麻烦.当然,有时在初期这样做就需要将一些物体复制后反复求差集和交集,但总的来说还是可以节约大量的劳动,因为如果后期出问题修改起来将相当麻烦.通过分析可以发现只有使用交集、差集才会出现丢面等现象,而交集如在后期使用则影响不大(也会出现模型面值过低等问题),所以交集和差集应当慎用,特别是在后期.
因此总体来讲,对于制作主体而言,应当先进行交集和差集,后进行并集,多进行并集计算少进行交集和差集计算,或对可以同时求差集计算的首先将去除物体取交集,以减少在主物体上求差集的次数,这就是所谓的/多并少交,先交后并0原则.
3 布尔运算中应注意的问题
3.1 布尔运算的修改和参与布尔运算物体的修改
从/Create0下创造的物体有其自身的属性栏,如/Box0可以通过/Modify0修改其长宽高以及各方向的线值.但是一旦使用了布尔运算,就无法再使用这一属性栏,而现在再点击/Modify0,出来的将是布尔运算的属性栏.不过,在这一栏中可以修改布尔运算的形式,如可将差集改为交集.而对于参与布尔运
图5 不同/Sides0值的效果比较
(下转第86页)
)86)
西安石油大学学报(自然科学版)
输出显示.表4,表5是系统执行的结果之一,统计出了某一个时间段科技处网站主页和二级页面被校内和校外用户访问的次数,以及各二级栏目被访问的次数.
表4
页面名称主 页二级页面
录,并能根据管理员的要求按时间和类别分别统计并显示结果.程序运行良好,根据系统自动记录的结果可以对网站的访问信息进行分析、总结,从而指导网站的规划和建设工作.参考文献:
[1] 郭剑毅,申立中,马桂芳,等.基于C/S与B/S的高校科
研管理信息系统的设计与实现[J].计算机工程与应用,2003,(1):212-214.
[2] 梁玉环,李村合,索红光.基于JSP的网站访问统计系
统的设计与实现[J].计算机应用研究,2004,(4):166-167.[3] 袁通路,刘勇,陈建铎,等,学术论文信息检索统计系统设计与实现[J].科技#人才#市场,2003,(5):18-22.
编辑:张新宝
主页和二级页面被访问次数总计表
校内用户访问
次数/次
1075716240
校外用户访问次数/次
57179833
合计/次1647426073
注:统计时间:从2004-03-19至2005-07-04共473d.
表5 各二级页面被访问次数统计表
管理机构科技政策科技成果科技统计科研基地科技产业12911348
49474243
2230744
2243816
8793655
5033174
科技奖励科技信息科技合作学术交流表格下载信息查询
统计时间:从2004-03-19至2005-07-04共473d.
3 结束语
本系统可以自动对网站的访问者信息进行记
(上接第83页)
出现了略微突起等不光滑现象.这是使用/Sides0为18的效果.而右面一组由于改善了圆周面结构,效果明显得到改善,已基本看不出是多边形布尔运算的结果了.
参考文献:
[1] 杨国锋,赵射.3DSMAX6标准教程[M].北京:中国
青年出版社,2004.102-105.[2] Autodesk公司编著.3DStudioVIZ基础设计教程[M].朱仁峰,杜刚,彭征明译.北京:清华大学出版社,2003.37-40.
[3] 管笑笑.3DSMAX6三维图形设计[M].北京:北京希望电子出版社,2003.21-33.
[4] 周勇.3DMAX5精彩设计百例[M].北京:水利水电出版社,2003.35-36.
[5] 黄心渊.3DSMAX7标准教程[M].北京:人民邮电出版社,2005.175-176.
[6] 雪茗斋电脑教育研究室.3DMAX5入门与提高[M].北京:人民邮电出版社,2002.22-28.
[7] 胡伍洲,赵景亮.3dsmax5&Rhino三维建模设计师之
路[M].北京:中国环境科学出版社,北京希望电子出版社,2003.14-15.编辑:田美娥
4 结 论
在众多领域中布尔运算以其简单实用的特点承
担了大部分形体的切割合并工作,然而布尔运算在计算上的缺陷也同时制约了其应用.正确掌握布尔运算的使用方法及其使用原则,是布尔运算能够广泛使用的保证.同时,针对布尔运算自身的问题,应当根据特定情况,仔细分析,采取相应措施,及时进行处理.
andresolutionofvelocityareimproved.Thismethodissuccessfullyappliedintheclosed-loopvelocitycontrolsystemofthemobilemachineryshopforwelllogging.
Keywords:velocitymeasurement;encoder;computationalerror
CHENGWei-bin(CollegeofElectronicEngineering,Xi.anShiyouUniversity,Xi.an710065,Shaanxi,China)JXSYU2005V.20N.5p.74-77
Ageneralalgorithmforthedistributinganddispatchingofwebdatabasesystem
Abstract:DistributinganddispatchingisakindofdifficultproblemandsomeareevenNPCproblems.Therefore,itismoredifficulttosolvethiskindofproblemsandgenerallythetechnologyofAND-ORgraphsearchisusedtosolvethem.Thisresultsinsomedifficultiesinprogrammingthedistributinganddispatchingprograminwebdatabasesystems.Inthepaper,withthedistributionofstudentgraduationdesigntasksbeingtakenasanexample,ageneralalgorithmisgivenwhichcansolveakindofdistributinganddispatchingproblemwiththerestrainingconditionofeachotherchoosing.Thisalgorithmdoesnotinvolvecomplexdatastructuresandsearchingprocess,itisonlydescribedbythetableoperationsofrelationdatabase,anditcanberealizedthroughprogramminginanylanguagewhichsupportsWebdatabase.
Keywords:distributinganddispatching;algorithm;webdatabase
LIANShi-you(CollegeofComputer,Xi.anShiyouUniversity,Xi.an710065,Shaanxi,China)JXSYU2005V.20N.5p.78-80
ApplicationofBooleanOperationinmodeling
Abstract:Three-dimensionalanimationtechnologyiswidelyusedinthedesignandmakingofCAI.Com-biningthemakingprocessofcoursewareatpresent,itisdiscussedhowtouseBooleanOperationinmodelingun-der3dsmaxsoftware.SomedifficultiesintheapplicationofBooleanOperationandthemethodsofsolvingthemarepresented.
Keywords:BooleanOperation;3dsmax;coursewaremakingWUChun-yan,LIUBing(CollegeofMechanicalEngineering,Xi.anShiyouUniversity,Xi.an710065,Shaanxi,China)JXSYU2005V.20N.5p.81-83,86
Designandimplementationofascientificandtechnologicinformationwebsitevisitingstatisticsystem
Abstract:Theconstructionandimprovementofawebsiteneedstounderstandthevisitinginformationofuserstothewebsite.Thedesignofwebsitevisitinginformationstatisticsystemisintroducedbytakingtheauto-maticstatisticofscientificandtechnologicinformationwebsitevisitinginformationasanexample.ThesystemisimplementedusingASPandSQLServer2000.Itcanautomaticallyrecordthestatisticaldataofusers.visitingtothewebsite.Thesystemiseasytooperate,andtheadministratorscaneasilyanalyzethedatasoastofurtherguidetheconstructionofthewebsite.
Keywords:websiteconstruction;visitinginformation;scientificandtechnologicalinformationadministra-tion
YUANTong-lu1,SUNCai-ping2,LINHai1,CAOJun-xia3(1.DepartmentofScienceandTechnolo-gy,Xi.anShiyouUniversity,Xi.an710065,Shaanxi,China;2.DepartmentofForeignLanguuage,Xi.anShiyouUniversity,Xi.an710065,Shaanxi,China;3.ShaanxiEnergyVocationalandTechnologicalCollege,Xianyang712000,Shaanxi,China)JXSYU2005V.20N.5p.84-86