import matplotlib.pyplot as plt
import numpy as np
from mpmath import diff
# 计算基函数,i为控制顶点序号,k为次数,u为代入的值,NodeVector为节点向量
# 该函数返回第i+1个k次基函数在u处的值
def b_spline_basis(i, k, u, nodeVector):
# nodeVector = np.mat(nodeVector) # 将输入的节点转化成能够计算的数组
# k=0时,定义一次基函数
if k == 0:
if (nodeVector[i] < u) & (u <= nodeVector[i + 1]): # 若u在两个节点之间,函数之为1,否则为0
result = 1
else:
result = 0
else:
# 计算支撑区间长度
length1 = nodeVector[i + k] - nodeVector[i]
length2
Python绘制B样条曲线(De Boor Cox)
最新推荐文章于 2024-08-14 23:23:12 发布
本文详细介绍了如何使用Python的numpy和matplotlib库来绘制B样条曲线,通过De Boor Cox算法进行插值计算,展示了从控制点到平滑曲线的转换过程。
摘要由CSDN通过智能技术生成