m0_54212618 2023-04-24 23:21 采纳率: 63.6%
浏览 48
已结题

Python 读取到dxf 的spline 后,怎么用scipy 画画出来呢?

Python 用dxfgrabber 读取到spline ,现在需要把这个样条曲线画出来。
不才,看到spline 里面又是knots weights fit control 这些,用scipy 画不来,请问应该用那个函数来画cad 的spline ?

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-04-24 23:43
    关注

    仅作参考:
    要用 Python 中的 SciPy 库绘制 DXF 文件中的样条曲线,您需要先将 DXF 文件中的样条曲线读取到 Python 中,然后使用 SciPy 库中的 interpolate.splprep 和 interpolate.splev 函数进行插值和绘制。
    假设您已经使用 ezdxf 库读取了 DXF 文件中的所有样条曲线,并将它们存储在 splines 列表中

    import numpy as np
    from scipy import interpolate
    import matplotlib.pyplot as plt
    
    # 遍历所有样条曲线
    for spline in splines:
        # 读取样条曲线的控制点
        control_points = np.array(spline.control_points)
    
        # 对控制点进行插值
        tck, u = interpolate.splprep(control_points.T, s=0)
    
        # 生成新的样条曲线上的点
        u_new = np.linspace(u.min(), u.max(), 1000)
        x_new, y_new, _ = interpolate.splev(u_new, tck)
    
        # 绘制样条曲线
        plt.plot(x_new, y_new)
    
    # 显示图像
    plt.show()
    
    

    将样条曲线的控制点作为输入进行插值,然后使用 linspace 函数生成新的样条曲线上的点,并使用 splev 函数计算新的样条曲线上的坐标。最后,我们使用 plot 函数绘制样条曲线,并使用 show 函数显示图像。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月26日
  • 已采纳回答 4月26日
  • 创建了问题 4月24日

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。