安装

python -m pip install --upgrade bezier

网址

https://pypi.org/project/bezier/

例子

For example, to create a curve:

import numpy as np
import bezier
nodes1=np.asfortranarray([[0.0,0.5,1.0],[0.0,1.0,0.0]])
curve1=bezier.Curve(nodes1,degree=2)
curve1=bezier.Curve(nodes1,degree=2)
nodes2=np.asfortranarray([[0.0,0.25,0.5,0.75,1.0],[0.0,2.0,-2.0,2.0,0.0]])
curve2=bezier.Curve(nodes2,degree=2)
intersections=curve1.intersect(curve2)
s_vals=np.asfortranarray(intersections[0,:])
points=curve1.evaluate_multi(s_vals)import matplotlib.pyplot as plt
import seaborn
seaborn.set()
ax=curve1.plot(num_pts=256)
_=curve2.plot(num_pts=256,ax=ax)
line=ax.plot(points[0,:],points[1,:],marker='o',linestyle='none',color='black')
_=ax.axis('scaled')
_=ax.set_xlim(-0.125,1.125)
_=ax.set_ylim(-0.125,1.125)
plt.show()

nodes1 = np.asfortranarray([
… [0.0, 0.5, 1.0],
… [0.0, 1.0, 0.0],
… ])

curve1 = bezier.Curve(nodes1, degree=2)

The intersection (points) between two curves can also be determined:

nodes2 = np.asfortranarray([
… [0.0, 0.25, 0.5, 0.75, 1.0],
… [0.0, 2.0 , -2.0, 2.0 , 0.0],
… ])

curve2 = bezier.Curve.from_nodes(nodes2)
intersections = curve1.intersect(curve2)
intersections
array([[0.31101776, 0.68898224, 0. , 1. ],
[0.31101776, 0.68898224, 0. , 1. ]])

s_vals = np.asfortranarray(intersections[0, :])
points = curve1.evaluate_multi(s_vals)
points
array([[0.31101776, 0.68898224, 0. , 1. ],
[0.42857143, 0.42857143, 0. , 0. ]])
and then we can plot these curves (along with their intersections):

import matplotlib.pyplot as plt
import seaborn
seaborn.set()

ax = curve1.plot(num_pts=256)
_ = curve2.plot(num_pts=256, ax=ax)
lines = ax.plot(
… points[0, :], points[1, :],
… marker=‘o’, linestyle=‘None’, color=‘black’)

_ = ax.axis(‘scaled’)
_ = ax.set_xlim(-0.125, 1.125)
_ = ax.set_ylim(-0.0625, 0.625)
plt.show()

bezier curve使用相关推荐

  1. 贝塞尔曲线(Bezier Curve)原理及公式推导

    1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...

  2. 贝塞尔曲线(Bezier Curve)原理、公式推导及matlab代码实现

    1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...

  3. Bezier(贝塞尔)曲线(五阶)的轨迹规划在自动驾驶中的应用(六)

    本文介绍贝塞尔五阶曲线最为curve smoother的使用,分析关于时间的一阶和二阶导数的连续性,以及曲率的连续性,并给出一个smoother的实例进行效果展示. clcclear allp0 = ...

  4. Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(三)

    存储函数: BezierGeneration function p= BezierGeneration (xs,ys,xe,ye,Latoff) % x_start, and x_end means ...

  5. [1106]python bezier(贝塞尔)曲线

    文章目录 三阶贝塞尔曲线 python bezier曲线 首先简单了解一下什么是贝塞尔曲线(余弦函数曲线我就不多说了哈!),贝塞尔曲线又称贝兹曲线,是法国工程师皮埃尔.贝塞尔于1962年发表.贝塞尔曲 ...

  6. Bezier曲线生成【计算机图形学】

    原理: Bezier曲线是通过一组多边形折线的顶点来定义的.如果折线的顶点固定不变,则由其定义的Bezier曲线是唯一的.在折线的各顶点中,只有第一点和最后一点在曲线上且作为曲线的起始处和终止处,其他 ...

  7. 【CAD算法】【计算机图形学】Bezier贝塞尔曲线生成程序(python/numpy实现)[1]

    整个项目,从Bezier曲线的创建,到Coons Patch曲面的实现,再到网格的实现和优化,还有最后对表面的光顺,链接如下: [CAD算法][计算机图形学]Bezier贝塞尔曲线生成程序(pytho ...

  8. C#绘制带控制点的Bezier曲线,用于点阵图像及矢量图形

    [摘要]不借助第三方, 使用c# + GDI+进行SVG等绘图,绘制带控制点的Bezier曲线.可用于点阵图像及矢量图形(如SVG)绘图.先看效果: (不知为何,已两次上传图片,无法显示,求助csdn ...

  9. Bezier曲线快速相交计算(含代码)

    Bezier曲线快速相交计算 背景介绍 算法思路 解释和分析 示例 参考资料 背景介绍 很多时候,需要计算曲线段与曲线段是否有交点.常规的思路是直接联立方程求解.不过,直接求方程的解这种思路通常在计算 ...

最新文章

  1. 正则匹配:Email 密码强度 身份证 手机号 日期 数字每4个字空一格等
  2. Linux内存管理 (2)页表的映射过程
  3. 使用UML描述需求都实现的过程
  4. SAP 中国本地化内容汇总
  5. npm package.json中的dependencies和devDependencies的区别
  6. Python程序开发——第五章 函数
  7. 第6次cplus实验
  8. 18、OpenCV Python 简单实现一个图片生成(类似抖音生成字母人像)
  9. Centos7中完美搭建ftp服务器
  10. 一文搞懂JVM架构:java数据结构和c语言数据结构区别
  11. Linux(1)之文件“776”
  12. Windows Server 2008 R2更新永恒之蓝 补丁包方法
  13. B2B2C多用户商城系统,功能+渠道+架构+商业模式整合方案
  14. JavaScript的优势和劣势
  15. 网络流量分析netflow
  16. Ubuntu包依赖损坏的解决unmet dependencies
  17. 全部驳回?元宇宙商标申请被国家知识产权局“劝退”
  18. 亚马逊刷单测评的正确方法是什么样的?
  19. Scientific Linux 6(x86_64) 之旅
  20. 在Docker中安装Home Assistant系统(以群晖系统为例)【Home Assistant入门安装篇1-2】

热门文章

  1. 监督学习VS无监督学习
  2. 求助-ENSP实验的时候交换机端口频繁出现up/down现象该怎么办?
  3. Hadoop目前的HA(High Availability)机制分析和源代码研究
  4. 关于sql语句中的count(*),count(1),count(具体字段)的介绍
  5. Palo Alto Networks® PA-220R 下一代防火墙 确保恶劣工况下的网络安全
  6. iOS开发工作干什么
  7. Java 开发的QQ聊天系统 窗体程序 功能非常齐全 完整源码
  8. VLC和WebRTC等开源库关于硬解软解的策略
  9. KBEngine奇技淫巧<五>
  10. TurtleBot机器人入门篇