当前位置: 首页 > news >正文

图形编辑器基于Paper.js教程29:基于图层的所有矢量图元的填充规则实现

背景
在lightburn中,对于填充图层,有这样一个隐藏的逻辑,那就是,在加工时,填充规则是以填充图层的所有元素进行计算的,什么意思那?

如果你在填充图层中画了两个图形,一个圆,一个矩形,如果这两个图形不相交,也不存在任何包含关系,那么你在加工后,你会得到一个填充的矩形和一个填充的圆。
如下图:
在这里插入图片描述

假如现在移动圆形,使其与矩形相交或者包含,那么你最后的结果就不是一个矩形一个圆了。
而是下面的效果

在这里插入图片描述
在这里插入图片描述

重叠部分部分会被镂空。这个规则 是以图层的所有元素进行 奇偶规则 (evenodd)的运算。而且是默认的,对于其他的软件,要实现这种效果,需要将元素进行组合后才能实现。在用户的不断要求下,前一段时间,我也终于给TS加上了这个功能。

下面简单说一下技术方案,在分析填充的雕刻图层时,需要将该图层的所有元素组装起来,这里的组装我使用的复合路径,也就是SVG中的Path标签,也就是将图层中所有图元转换为一个Path路径。并对这个路径进行奇偶填充线。最后就能使用很简单的操作得到非常复杂的镂空作品。
需要注意的是,由于将所有图元组合起来,会改变个体的属性,所以我们需要单独创建一个对象,并在完成填充线,生成gcode后,将临时元素删除。如果计算的元素非常多的话,有时会比较卡。

之前的一个比较复杂的作品在这里插入图片描述
拥有883个子路径,生成的gcode 6.14 M

随着应用功能的不断增多,框架,代码组织,模式设计,现在变得尤为重要。功能能做出来还不行,还要保证良好的性能表现。当所有的按钮, 功能都向用户开放时,状态的维护,边界,交互的中间状态会变得非常难以维护。项目越往后走,越是越是泥泞。

当你感到 力不从心时,可以去看看一些优秀的开源项目,一些框架,库的源码,他山之石,可以攻玉。

最近令人高兴的是,我的教资面试通过了,嘻嘻…真是做梦都能让人笑醒,考试前真的没有演练,全靠临场发挥,而且面试时做的很差劲。我都打算下半年继续考了,结果面试竟然通过了,想起来我就感觉自己真是太幸运了,我真是要谢谢面试老师,放我一马。面试后还要做个普通话测试,考个二甲,然后体检,就能等着拿教师资格证啦。

最近在盘算着下半年的目标,是要健身还是练字,下一个目标是拿什么证书?

相关文章:

  • 组策略关闭 Windows 防火墙指南(企业版/专业版)
  • SpringMVC系列(一)(介绍,简单应用以及路径位置通配符)
  • 机器学习实验报告5-K-means 算法
  • Linux--存储系统探秘:从块设备到inode
  • 影视剧学经典系列-梁祝-陶渊明《感士不遇赋并序》
  • Appium+python自动化(二十三)- Monkeyrunner与Monkey
  • React forwardRef 与 useImperativeHandle 深度解析
  • selenium点击元素出现的obscure问题
  • 设计模式精讲 Day 2:工厂方法模式(Factory Method Pattern)
  • 什么是敏捷中的迭代(Iteration)和 Sprint?
  • 计算机硬件——主板
  • 【旧题新解】第 9 集 带余除法
  • Java 常用类 Arrays:从零到实战的数组操作指南
  • ArkUI-X框架LogInterface使用指南
  • 安卓9.0系统修改定制化____深入解析安卓 9.0 各手机分区:功能、作用与差异 基础篇二
  • Java的DI依赖注入
  • 易采集EasySpider v0.6.3 便携版
  • HTML5+JS实现一个简单的SVG 贝塞尔曲线可视化设计器,通过几个点移动位置,控制曲线的方向
  • Arcgis中,toolbox工具箱中工具莫名报错的解决方法
  • 大模型RAG系统面试题及参考答案
  • 中国空间站真实图片/搜索引擎优化时营销关键词
  • 哪个基层司法所网站做的比较好/在线看crm系统
  • 做网站兼容ie/成人教育培训机构十大排名
  • 跨境电商免费平台有哪些/前端seo优化
  • 怎么样自己制作网页/搜索引擎优化网站的网址
  • 大型网站一般用什么语言做的/关键词挖掘啊爱站网