什么是布尔运算

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 09:04:05
什么是布尔运算
xYKo+gL-Ea 4Ekbb2%HT](|?c=-RR[)[DrD_;3+~pHF77#ν}ùGZiqtv}{c?jjf‡1,Yvg>ܦ%YoDiw{(m҇ی!:ұm˱k\U~dz#-(IYǟ|mwg}}m]K){?"ٙH8 тPdSv)h/yd5ymuVn9ȋֵ[I'$n`kx1ex^mܸΡ/+6dlUvKq -qlU6*" 1~ŚJcl>{"80`nɄ+]AeRTOERm$/Ʊm&-3gO{Q=ՁMKȉ(55/m=[V.Zr`u_pS)=gn8ẃ;|>i~):T%S{4Sxi튣yN;֠T,KGt!_2]F+x:c})2w'JQDnu_N)w֤!ENfv5Rh^{$#~xf\"~q7(@s|3"]f> x)HPM$a#p{E1Pr(%ϸ/2SY.GUVDh@/ˬBLo"$wj%A ^GbEږ^t(vBxĵ̡)\rZ:J5vWO Q_sVIꢾwOHqWs_6V @.2iP+h1 @.њdȨ~ 2z:I>Ya }{N(;G¯jFqoNen k$ T }3 }bjF^F> X'qDlLpkll!0p-^ ut!%r- 3Jމ'j @w *+y+V ^03<~qƕ 8>` &ɷ(Myx|3K]u9(d RT50ɖF J93e =" !o՟^YFa;TdY\ _e3kap[oiH޾?S񎞗_+]p9x )V-7Ua O\\?L``3{4܍~?1 b%$ox3SO)S7kw~7Dw͢B,Ozq LYn\Zyu*_ް*Eh9J+zd^X"˷נ]h%A[5R[pʕ+r11pGnS;+Qvu#/xtEUBG;¿jr1+o@UihY*T {Ԝ a$g\ar˰GvRSozy 5QṲ̃o AV;q/mllPE^nZH%ss!Z28oBQ pL"773M;Z'D4la//XV{5D6ܵ-Qۆ4,dC kJVɳ]TrȿE{K +OSO; rU^ڢt׎ /smwL:8!B쯞Dv4-M": muVJHw4hZcB)LebMk0·Aj: Gi|4ըOER酹sS]X6>k)/*r/",ZJf%y :ũDũd?I />#|#W`d"ݢ|k+LL./G"S><7 puE(o}@>D8hcDaȂv,&oD.uNɼ#`U iũꚦs)z0O;\ ؁/̳s(JmDST.+bX &oO"ѩtg|'VaV? d5NR-yǒjLBL 1@.ڬEY-"Vu!8,՜ZRBB4bU__'ǟ={yvvjdzO3q{ГӇ s#/{m9

什么是布尔运算
什么是布尔运算

什么是布尔运算
布尔运算有三种:
与:双目运算(要两个参与运算的变量),当两个变量都为真(true)时结果为真
或:双目运算,当两个变量有一个为真时结果为真
非:单目运算,当变量为真是结果为假,变量为假时结果为真
Boolean(布尔运算)
功用:Boolean(布尔运算)通过对两个以上的物体进行并集、差集、交集的运算,从而得到新的物体形态.系统提供了4种布尔运算方式:Union(并集)、Intersection(交集)和Subtraction(差集,包括A-B和B-A两种).这些都将在后面的内容中详细介绍.
物体在进行布尔运算后随时可以对两个运算对象进行修改操作,布尔运算的方式、效果也可以编辑修改,布尔运算修改的过程可以记录为动画,表现神奇的切割效果.
Boolean(布尔运算)的参数面板可分成三部分.
Pick Boolean(拾取布尔运算对象)卷展栏
该卷展栏用来拾取运算对象B,如图所示.
在布尔运算中,两个原始对象被称为运算对象,一个叫运算对象A,另一个叫运算对象B.在建立布尔运算前,首先要在视图中选择一个原始对象,这时Boolean按钮才可以使用.进入布尔运算命令面板后,单击Pick Operand B命令按钮来选择第二个运算对象.
· Pick Operand B(拾取运算对象B):单击该按钮,在场景中选择另一个物体完成布尔合成.其下的4个选项用来控制运算对象B的属性,它们要在拾取运算对象B之前确定.
· Reference(参考):将原始对象的参考复制品作为运算对象B,以后改变原始对象,也会同时改变布尔物体中的运算对象B,但改变运算对象B,不会改变原始对象.
· Copy(复制):将原始对象复制一个作为运算对象B,而不改变原始对象.当原始对象还要作其他之用时选用该方式.
· Move(移动):将原始对象直接作为运算对象B,它本身将不再存在.当原始对象无其他用途时选该用方式.该方式为默认方式.
· Instance(关联):将原始对象的关联复制品作为运算对象B,以后对两者中之一进行修改时都会同时影响另一个.
Parameters(参数)卷展栏
该卷展栏参数可分为三个区域,如图所示.
Operands(操作对象)选项组
该组参数用来显示所有的运算对象的名称,并可对它们作相关的操作.
· Operands List(操作对象列表):该列表框中列出所有的运算对象,供编辑操作时选择使用.
· Name(名称):显示列表框中选中的操作对象的名称.可对其进行编辑.
· Extract Operand(提取运算对象):它将当前指定的运算对象重新提取到场景中,作为一个新的可用对象,包括Instance(关联)和Copy(拷贝)两种属性.这样进入了布尔运算的物体仍可以被释放到场景中.只有从其上方的列表框中选择一个操作对象后才能激活该按钮.
注意: 该按钮只有在修改面板中才可用.当创建面板处于激活状态时,不能从布尔物体中提取出操作对象.
联想到前面所述的变形对象,在进入了变形预备物体中后,却无法再返回到场景中.不过对此还有一个可行的方法,就是利用Snapshot(快照)工具,在变形的关键帧快照克隆出一个新的造型.
Operation(运算方式)选项组
该组参数提供了4种运算方式可供选择.
· Union(并集):用来将两个造型合并,相交的部分将被删除,运算完成后两个物体将成为一个物体.
· Intersection(交集):用来将两个造型相交的部分保留下来,删除不相交的部分.
· Subtraction(A-B)(A-B部分):在A物体中减去与B物体重合的部分.
· Subtraction(B- A)(B- A部分):在B物体中减去与A物体重合的部分.
如图所示是以上4种布尔运算方式的对比.图中从左至右依次是:并集、交集、A-B部分、B-A部分.
· Cut(切除):用B物体切除A物体,但不在A物体上添加B物体的任何部分.当Cut(切除)单选按钮被选中时,它将激活其下方的4个单选按钮让用户选择不同的切除类型.
· Refine(细化):在A物体上沿着B物体与A物体相交的面增加顶点和边数以细化A物体的表面.也就是说,根据B物体的外形将A物体的表面重新细分.
· Split(劈裂):其工作方法与Refine(细化)类似.只不过在B物体切割A物体部分的边缘多加了一排顶点.利用这种方法可以根据其他物体的外形将一个物体分成两部分.
如图所示对比了这两种切除方式.在图中,A物体为圆锥,B物体为长方体,从左至右依次为:Refine(细化)、Split(劈裂).
· Remove Inside(移除内部):删除A物体中所有在B物体内部的片段面.其工作方法和Subtraction(A-B)(A-B部分)类似,只是同时也切除了B物体的表面.
· Remove Outside(移除外部):删除A物体中所有在B物体外部的片段面.其工作方法和Intersection(交集)类似,只是同时也切除了B物体的表面.
如图所示对比了这两种切除方式.在图中,A物体为圆锥,B物体为长方体,从左至右依次为:Remove Inside(移除内部)、Remove Outside(移除外部).
Display(显示)/Update(更新)卷展栏
该卷展栏参数用来控制是否在视图中显示运算结果以及每次修改后何时进行重新计算,更新视图.其参数面板如图所示.
Display(显示)选项组
该组参数用来决定是否在视图中显示布尔运算的结果,包含三个选项.
· Result(结果):显示每项布尔运算的计算结果.
· Operands(操作对象):只显示布尔合成物体而不显示运算结果.这样可以加快显示速度.
· Result + Hidden Ops(结果+隐藏物体):在实体着色的实体内以线框方式显示出隐藏的运算对象,主要用于动态布尔运算的编辑操作.
Update(更新)选项组
该组参数用来决定何时进行重新计算并显示布尔效果.
· Always(总是):每一次操作后都立即显示布尔结果.
· When Rendering(渲染时):只有在最后渲染时才重新计算更新效果.
· Manually(手动):选择此选项,下面的Update(更新)按钮可用,它提供手动的更新控制.
· Update(更新):需要观看更新效果时,按下此按钮,系统进行重新计算.
参考资料:http://www.goodsgy.com/3d6/6/6-8.htm