首页
学习
活动
专区
工具
TVP
发布

前端西瓜哥的前端文章

专栏作者
132
文章
91027
阅读量
26
订阅数
图形编辑器开发:基于 transfrom 的图形缩放
上一篇文章我们讲了为什么以及如何用 transform、width 和 height 表达图形。
前端西瓜哥
2024-04-28
910
图形编辑器开发:为什么我选择用 transform 矩阵表达图形的变形?
改用 transform 表达图形的变形,并废弃掉了原来的 rotation、x、y 属性。
前端西瓜哥
2024-04-28
840
图形编辑器开发:钢笔工具的实现
像是 SVG 的 Path 的元素,单段的线有直线、圆弧、椭圆弧、二阶贝塞尔曲线、三阶段贝塞尔曲线等。
前端西瓜哥
2024-04-19
580
关于包围盒,你需要知道的那些事
实际上包围形状的图形某些情况下会使用多边形(凸包、凹包)或是圆形或是其他,不仅限于矩形的更泛用的叫法应该是 “包围体”(bounding volume)。
前端西瓜哥
2024-04-03
920
个人开源图形编辑器 Suika 的 2024 年二季度开发计划
一开始功能很简陋,但我一有时间就往上面加功能,不断思考写代码要怎么写才能更优雅,更容易维护,不断地推敲一些算法和交互,一行行用代码实现和重构,最终变成了这么一个 相对来说功能较为丰富的图形编辑器 了。
前端西瓜哥
2024-04-03
670
CRDT 协同编辑:如何确定操作时序?
CRDT 协同编辑中,我们经常会使用 Last-Writer-Win 的策略解决冲突。即对于多个冲突的操作,哪个操作是最后修改的,就应用哪个操作。
前端西瓜哥
2024-04-03
900
平面几何:求内接或外切于圆的正多边形
思路是,让起点基于圆心旋转 PI * 2 / count 度数的倍数,执行 count - 1 次,拿到所有的点。
前端西瓜哥
2024-04-03
860
平面几何:求向量 a 到向量 b扫过的夹角
今天我们来学习如何求向量 a 到向量 b扫过的弧度,或者也可以说是角度,转换一下就好了。
前端西瓜哥
2024-03-22
940
CRDT 协同编辑:修改树的节点层级 Mutable Tree Hierarchy
本文来讲讲一个 CRDT 协同算法:修改树节点层级的操作后,保持多人协作时的数据最终一致,且不会出现环。
前端西瓜哥
2024-03-12
890
平面几何算法:求点到直线和圆的最近点
比如精细的图形拾取(尤其是一些没有填充只有描边的图形)。如果光标点到最近点的距离小于某个阈值,计算图形就算被选中。
前端西瓜哥
2024-03-04
1480
Figma 的画布缩放功能说明
画布缩放是图形编辑器的基础功能,作用是放大图形编辑细节,缩小总览全局。我们来看看 Figma 是如何做画布缩放设计的。
前端西瓜哥
2024-02-23
5160
图形编辑器开发:加新的图形类型,触发丝滑小连招
比如圆形的 center、radius,多边形的 points、closed 等。
前端西瓜哥
2024-02-23
970
图形编辑器开发:钢笔工具功能说明书
只有理解了需求,尤其是复杂的需求,才能更好地进行功能开发,写出诗一样的高鲁棒性代码。
前端西瓜哥
2024-01-26
1040
给定一个边与边可能相交的多边形,求它的轮廓线
需要注意的是,轮廓线多边形内不能有空洞,使用的不是常见的非零绕数规则(nonzero)以及奇偶规则(odd-even)。
前端西瓜哥
2024-01-22
1120
Figma 数据结构:容器类图形的属性
另外,有一个比较特殊的内置画布 Internal Only Canvas,是用来保存变量的。
前端西瓜哥
2024-01-22
1680
剖析 Figma 数据结构:不同图形的特有属性
两个 angle 的弧度值范围为 [0, PI*2),方向为顺时针,基准方向为正右(对应向量为 (1, 0))。
前端西瓜哥
2024-01-22
1340
CRDT 协同编辑:另一种顺序一致性算法 Tree-Based Indexing
这次我们来看看另一种方案,Tree-Based Indexing,一种基于树结构的顺序一致性算法。
前端西瓜哥
2024-01-10
1870
CRDT 协同编辑:另一种顺序一致性算法 Tree-Based Indexing
这次我们来看看另一种方案,Tree-Based Indexing,一种基于树结构的顺序一致性算法。
前端西瓜哥
2024-01-10
770
Figma 在协同编辑中使用的顺序一致性算法: Fractional indexing
在多人同时操作同层级的多个图形的顺序时,需要保证用户的意图能保留,不会被其他用户的操作覆盖丢弃,且所有用户最终的顺序是一致的。
前端西瓜哥
2024-01-10
1480
这一次,彻底搞懵 CRDT
CRDT,全称为 conflict-free replicated data type(无冲突复制数据类型),它是一种数据类型,或者说是方案,确保在网络中的不同副本最后数据保持一致的,可以用协同编辑领域。
前端西瓜哥
2024-01-03
2570
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档