布尔运算解析:简明易懂的概念解释及实用案例分享!

2024-04-23 16:04

本文主要是介绍布尔运算解析:简明易懂的概念解释及实用案例分享!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

布尔计算是UI设计中的一个特别关键的知识点,经常用于各种图标的制作。如果我们想在APP产品中实现图标的视觉统一,我们需要一种更规则的绘图方法,即布尔计算绘图。以下即时设计主导布尔计算思维分析和步骤解释,强烈建议新手UI设计学生打开即时设计工作台一起实际操作!

即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具,支持 Sketch、Figma、XD 格式导入,海量优质设计资源即拿即用。支持创建交互原型、获取设计标注,为产设研团队提供一站式协同办公体验。icon-default.png?t=N7T8https://js.design/?source=csdn&plan=btt4232

布尔运算是什么?

其实布尔运算并没有大家想象的那么复杂,布尔运算(Boolean)它是一种数字符号逻辑演绎方法,包括联合、相交和相减。简单地说,布尔操作是通过联合、相交、相减等操作获得新形状的形状,这被称为布尔操作。

早期主要用于CAD绘图和三维绘图,但现在更频繁地用于UI设计,可以使图形设计更加平衡和规则。通常一些非常复杂的图形看起来非常和谐,这就是布尔计算存在的意义。

布尔运算会应用在哪里?

布尔运算应用于许多场景的设计和生活,从扁平化的标志、布尔计算用于轻纹理图标和三维空间图形。甚至生活中随处可见,比如螺丝、楼梯、古八卦图、风扇等等。总之,布尔计算实际上涉及到我们生活中的各种事情。

什么软件用来制作布尔运算

布尔计算的重要原因是所有的图标和界面都不能与布尔计算的应用分开。从最初的PS到今天的新一代设计合作工具即时设计,布尔计算一直占据着设计工具的主要操作。如果在PS软件中使用布尔计算绘图,则需要在同一层中执行两个或两个以上的图形。所以建议你使用即时设计来制作布尔计算。

即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具,支持 Sketch、Figma、XD 格式导入,海量优质设计资源即拿即用。支持创建交互原型、获取设计标注,为产设研团队提供一站式协同办公体验。icon-default.png?t=N7T8https://js.design/?source=csdn&plan=btt4232

如何用布尔运算绘制图标图标?

以即时设计社区资源中的渐变色图标为例,教您使用布尔运算绘制图标。

第一步:寻找基本图形

一般最常用的基础图形有四种:方形、三角形、等边形、圆形。

第二步:确定是否为同一基本图形

从即时设计社区资源渐变图标设计案例中,我们选择一个图标-云文档作为例子,首先确定图标的基本图形。从下图可以看出,图形主要是曲线轮廓,因此可以判断图标是基于圆形的布尔操作。

当我们确定它是圆形的时候,我们应该考虑它是圆形的还是椭圆形的。此时,最好自己画一个圆来验证。当一条曲线被验证时,用相同的圆来验证其他曲线。如果它能完全适应,则是相同的基本图形。(注:需要注意的是,同一基本图形也可能有不同的尺寸!)验证后,可以发现图片中的圆是不同尺寸的圆,半径不同,为相同的基本图形。

第三步:确定图形的计算方法

如果你想得到图形的计算方法,你需要勾勒出所有的运动轨迹作为参考。当勾勒出所有的轨迹时,可以发现云文档图标是由三个圆形、一个椭圆形和四个不同尺寸的矩形组成的。

第四步:提取所需信息

当基本图形完成所有操作时,需要从图形中提取所需的信息,云文档图标所需的信息是由两个交叉图形组成的新图形部分,布尔操作的说法称为:集合。

不同的图形可以以不同的方式提出,如交集、差集、减去顶层。

联合集:两个图形的结合

减去顶层:用上图形区域减去下图形区域

交集:得到两个图形相交的图形区域

差集:删除两个图形相交的图形区域,剩下的留下。

第五步:补充细节,同色区分主图层次

详细的内容是重复布尔操作,与第四步相同,找出图形切割点,再次进行图形操作。切割完成后,进行着色处理。颜色处理采用渐变色处理,最终得到以下标准云文档渐变色图标。

布尔运算图形设计源文件icon-default.png?t=N7T8https://js.design/community?category=detail&type=resource&id=6598291d079674a13239fdb0&source=csdn&plan=btt4232

综上所述,布尔运算的关键是形状中有“层次”的概念。只有有了下图中的这个概念,布尔才能更好地计算图形,做出更合理的形状。

图层的顺序直接影响布尔操作的效果。建议在做复杂的布尔操作时,一定要记住谁先谁后。最重要的是,我们必须多动手,多练习,多思考。如果新手开始布尔操作,建议先复制基本图标。您可以打开即时设计,点击社区资源模块,选择您喜欢的图标进行复制练习!

这篇关于布尔运算解析:简明易懂的概念解释及实用案例分享!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/929248

相关文章

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.