跟月影学可视化
月影
前奇虎 360 奇舞团团长,可视化 UI 框架 SpriteJS 核心开发者,《JavaScript 王者归来》作者
30206 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 54 讲
跟月影学可视化
15
15
1.0x
00:00/00:00
登录|注册

26 | 如何绘制带宽度的曲线?

构建三角网格化的几何体顶点数据
确定端点和转角挤压的长度
确定端点和转角的挤压方向
设置position顶点坐标和mode为gl.LINE_STRIP
绘制曲线
设置lineWidth、lineJoin、lineCap
支持lineJoin为bevel和miterLimit
支持lineJoin为round
支持lineCap为square和round
构建三角网格化的几何体顶点数据
确定挤压方向和长度
通过挤压(extrude)曲线绘制有宽度的曲线
绘制宽度为1的曲线
drawPolyline函数
lineJoin和lineCap属性
设置lineWidth属性
分享给朋友
学会绘制带宽度曲线的方法
修改extrudePolyline函数
挤压曲线的技术
WebGL绘制方法复杂
Canvas2D绘制方法简单
WebGL绘制带宽度的曲线
Canvas2D绘制带宽度的曲线
总结
小试牛刀
要点总结
如何绘制带宽度的曲线?

该思维导图由 AI 生成,仅供参考

你好,我是月影。
在可视化应用中,我们经常需要绘制一些带有特定宽度的曲线。比如说,在地理信息可视化中,我们会使用曲线来描绘路径,而在 3D 地球可视化中,我们会使用曲线来描述飞线、轮廓线等等。
在 Canvas2D 中,要绘制带宽度的曲线非常简单,我们直接设置上下文对象的 lineWidth 属性就行了。但在 WebGL 中,绘制带宽度的曲线是一个难点,很多开发者都在这一步被难住过。
那今天,我就来说说怎么用 Canvas2D 和 WebGL 分绘制曲线。我要特别强调一下,我们讲的曲线指广义的曲线,线段、折线和平滑曲线都包含在内。

如何用 Canvas2D 绘制带宽度的曲线?

刚才我说了,用 Canvas2D 绘制曲线非常简单。这是为什么呢?因为 Canvas2D 提供了相应的 API,能够绘制出不同宽度、具有特定连线方式线帽形状的曲线。
这句话怎么理解呢?我们从两个关键词,“连线方式(lineJoin)”和“线帽形状(lineCap)”入手理解。
我们知道,曲线是由线段连接而成的,两个线段中间转折的部分,就是 lineJoin。如果线宽只有一个像素,那么连接处没有什么不同的形式,就是直接连接。但如果线宽超过一个像素,那么连接处的缺口,就会有不同的填充方式,而这些不同的填充方式,就对应了不同的 lineJoin。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了在Canvas2D和WebGL中绘制带宽度的曲线的方法。在Canvas2D中,通过设置lineWidth、lineJoin和lineCap属性,可以实现不同宽度、连线方式和线帽形状的曲线绘制。作者详细介绍了Canvas2D中绘制带宽度曲线的方法,并提供了相关的JavaScript代码示例。此外,还介绍了Canvas2D中的miterLimit属性对尖角的影响。在WebGL中,作者通过设置position顶点坐标和mode为gl.LINE_STRIP,展示了绘制宽度为1的曲线的方法。作者还提出了一个问题,即如何让线的宽度大于1个像素。文章通过对Canvas2D和WebGL绘制带宽度曲线的方法进行详细介绍,为读者提供了实用的技术指导。在WebGL中,作者通过挤压曲线的技术来实现带宽度的曲线,详细介绍了挤压曲线的具体步骤,包括确定挤压方向和长度,以及构建三角网格化的几何体顶点数据。最后,作者提出了一些小试牛刀的练习,鼓励读者进一步扩展和应用所学知识。整体来看,本文内容丰富,涵盖了Canvas2D和WebGL绘制带宽度曲线的方法,适合对前端绘图感兴趣的读者阅读学习。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《跟月影学可视化》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • l_j_dota_1111
    如果数据量很大,在js中计算线经过挤压后的三角网格顶点数据,应该会很卡吧
    2021-06-04
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部