pkler 2023-06-17 10:44 采纳率: 0%
浏览 25

一个横坐标对应多个纵坐标如何进行插值

想要对四个点进行样条插值,A(0, 0), B(5, 0),C(5, 5), D(0,5)这四个点如何进行插值得到一个类似弓形的曲线呢?

  • 写回答

2条回答 默认 最新

  • 全栈若城 全栈领域优质创作者 2023-06-17 10:58
    关注

    我的实现效果

    img


    代码:如有帮祝给个采纳谢谢

    
    import numpy as np
    from scipy.interpolate import CubicSpline
    import matplotlib.pyplot as plt
    
    # 四个点的坐标
    x = np.array([0, 5, 5, 0])
    y = np.array([0, 0, 5, 0])  # 修改最后一个点的纵坐标为0
    
    # 参数t用于造出平滑曲线 ,长度和x,y相等
    t = np.arange(x.shape[0], dtype=float)
    t /= t[-1]
    
    # 样条插值
    cs = CubicSpline(t, np.vstack([x, y]).T, bc_type='periodic')
    xx, yy = cs(np.linspace(0, 1, 100)).T
    
    # 绘制图像
    plt.plot(xx, yy)
    plt.axis('equal')
    plt.show()
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 6月17日

悬赏问题

  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法