版权归原作者所有,如有侵权,请联系我们

[科普中国]-布尔运算

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

布尔运算是数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用了这种逻辑运算方法以使简单的基本图形组合产生新的形体,并由二维布尔运算发展到三维图形的布尔运算。

由于布尔在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。

数学布尔运算产生逻辑运算又称布尔运算

布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。

表示方法"∨" 表示"或"

"∧" 表示"与".

"┐"表示"非".

"=" 表示"等价".

1和0表示"真"和"假"

(还有一种表示,"+"表示"或", "·"表示"与")

计算机编程布尔运算逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。

各种编程语言中的逻辑运算符

|| ||

运算规则组合\结果\运算符.....And.......Or.........Xor

0......0.......................0..........0............0

1......0.......................0..........1............1

0......1.......................0..........1............1

1......1.......................1..........1............0

简单的说

And:同为真时为真

Or:同为假时为假

Xor:相同为假

三维图形布尔运算作用Boolean(布尔运算)通过对两个以上的物体进行并集、差集、交集的运算,从而得到新的物体形态。系统提供了4种布尔运算方式:Union(并集)、Intersection(交集)和Subtraction(差集,包括A-B和B-A两种)1。

效果物体在进行布尔运算后随时可以对两个运算对象进行修改操作,布尔运算的方式、效果也可以编辑修改,布尔运算修改的过程可以记录为动画,表现神奇的切割效果。

组成部分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物体的表面。

Display(显示)/Update(更新)卷展栏

该卷展栏参数用来控制是否在视图中显示运算结果以及每次修改后何时进行重新计算,更新视图。

Display(显示)选项组

该组参数用来决定是否在视图中显示布尔运算的结果,包含三个选项。

· Result(结果):显示每项布尔运算的计算结果。

· Operands(操作对象):只显示布尔合成物体而不显示运算结果。这样可以加快显示速度。

· Result + Hidden Ops(结果+隐藏物体):在实体着色的实体内以线框方式显示出隐藏的运算对象,主要用于动态布尔运算的编辑操作。

Update(更新)选项组

该组参数用来决定何时进行重新计算并显示布尔效果。

· Always(总是):每一次操作后都立即显示布尔结果。

· When Rendering(渲染时):只有在最后渲染时才重新计算更新效果。

· Manually(手动):选择此选项,下面的Update(更新)按钮可用,它提供手动的更新控制。

· Update(更新):需要观看更新效果时,按下此按钮,系统进行重新计算。