当前位置:首页>python>基于Python的激光雷达3D点云模拟:旋转与点生成技术详解

基于Python的激光雷达3D点云模拟:旋转与点生成技术详解

  • 2026-04-18 10:06:59
基于Python的激光雷达3D点云模拟:旋转与点生成技术详解

一、前言

3D建模、机器人视觉、激光雷达仿真等领域,点云数据的生成与处理是核心任务之一。本文基于Python实现了一个点云模拟工具,通过数学公式计算旋转矩阵,实现点绕任意轴的旋转,并结合Z轴旋转生成动态点云分布。代码具备高度参数化特性,可灵活调整反射镜转速、中空电机转速、点频等参数,生成不同分布的点云数据。该工具不仅可生成点云数据,还支持可视化展示,为相关领域的研究提供了高效工具。

蓝海光电的一款非重复式多线扫描激光雷达的结构如下:(图片来源:CN202410504647.1 一种扫描范围广的雷达装置)

二、扫描原理

A坐标为(0yAzA),单位向量u=0cos αsin α)位于平面yoz上,并与y轴夹角为α。点A绕单位向量u旋转θ,然后绕z轴逆时针旋转β后得到坐标A'

即为点云的扫描轨迹。

三、整体架构流程

代码逻辑分为以下几个核心模块:

1. 旋转函数实现

    代码逻辑可分为三个核心模块。旋转函数通过rotate_point_around_axis实现点绕单位向量旋转后的坐标计算,基于罗德里格斯旋转公式构造旋转矩阵,并与绕Z轴的旋转矩阵结合完成复合旋转变换。

    2. 点云生成逻辑(main函数)

      点云生成由主函数负责,根据反射镜转速、中空电机转速、点频及圈数等输入参数计算转速比与点切分数量,分别生成控制绕轴旋转的theta角度与Z轴旋转的beta角度。通过循环逐点计算旋转后坐标,将结果存储为列表并写入JSON文件。

      3. 可视化展示

      可视化展示依托Matplotlib的三维绘图功能,对点云分布进行呈现。起点标记为黑色,终点标记为红色,其余点统一标记为蓝色,便于识别扫描轨迹的起止特征。

      四、技术细节

      1. 旋转矩阵计算

        R = np.array([    [cos_theta + ux**2 * (1 - cos_theta), ux*uy*(1 - cos_theta) - uz*sin_theta, ux*uz*(1 - cos_theta) + uy*sin_theta],    [uy*ux*(1 - cos_theta) + uz*sin_theta, cos_theta + uy**2 * (1 - cos_theta), uy*uz*(1 - cos_theta) - ux*sin_theta],    [uz*ux*(1 - cos_theta) - uy*sin_theta, uz*uy*(1 - cos_theta) + ux*sin_theta, cos_theta + uz**2 * (1 - cos_theta)]])

        旋转矩阵R基于罗德里格斯公式计算,用于实现点绕任意单位向量的旋转变换,其元素由旋转角度的三角函数与方向向量分量共同确定。

        R_z = np.array([[cos_gamma, -sin_gamma, 0], [sin_gamma, cos_gamma, 0], [001]])

        Z轴的旋转矩阵R_z由旋转角gamma的正余弦值构成,仅作用于xy平面。

        复合旋转通过矩阵乘法np.dot(np.dot(R, point), R_z)完成,先将点绕给定轴旋转,再绕Z轴进行二次旋转。

        2. 参数化输入
        转速比Rotational_speed_ratio决定thetabeta的分布范围。
        if Rotational_speed_ratio >= 1:    theta = np.linspace(02 * np.pi * Rotational_speed_ratio * turnsNum, int(equal_division))    beta = np.linspace(02 * np.pi * turnsNum, int(equal_division))else:    theta = np.linspace(02 * np.pi * turnsNum, int(equal_division))    beta = np.linspace(02 * np.pi / Rotational_speed_ratio * turnsNum, int(equal_division))
        3. 点云生成与存储
        将所有存储为列表,并转换为JSON格式。
        with open(f'D:/python_demo/35、3D点云模拟/statics/pacecat_point_cloud_data_{int(Mirror_rotation_speed)}.json''w', encoding='utf-8'as json_file:    json.dump(all_points, json_file, ensure_ascii=False, indent=4)
        4. 可视化
        使用Matplotlib绘制3D散点图,起点和终点分别用不同颜色标记。
        ax.scatter(points_array[:, 0], points_array[:, 1], points_array[:, 2], c='b', marker='o', s=5)ax.scatter(all_points[0][0], all_points[0][1], all_points[0][2], color='black', s=50)ax.scatter(all_points[-1][0], all_points[-1][1], all_points[-1][2], color='red', s=50)

        五、运行

        六、结论

        本文通过Python实现了一个灵活的3D点云模拟工具,支持参数化输入和动态点云生成。核心亮点包括:
        1、使用Rodrigues公式和Z轴旋转矩阵实现复合旋转,计算精确。
        2、参数化设计支持不同转速比、点频和圈数的组合,生成多样化的点云分布。
        3、数据存储与可视化功能完善,便于后续分析和应用。
        该工具可广泛应用于3D建模、机器人视觉、激光雷达仿真等领域,为相关研究提供了高效的技术支持。未来可扩展至半球面点云生成、动态点云渲染等方向,进一步提升工具的实用性和通用性。
        附:完整代码
        # -*- coding: utf-8 -*-# @Time : 2025/4/13 8:44import numpy as npimport jsonimport matplotlib.pyplot as plt# 将点绕单位向量旋转,然后绕z轴旋转def rotate_point_around_axis(point, axis, theta, z_beta):    """    将点 point 绕单位向量 axis 旋转角度 theta。    参数:    point (numpy.ndarray): 形状为 (3,) 的数组,表示点的坐标。    axis (numpy.ndarray): 形状为 (3,) 的数组,表示旋转轴的单位向量。    theta_degrees (float): 绕单位向量旋转角度(弧度)。    z_beta: 绕z轴旋转角度(弧度)。    返回:    numpy.ndarray: 旋转后的点的坐标。    """    # 向量归一化    axis = axis / np.linalg.norm(axis)    # 计算旋转矩阵的各个部分    cos_theta = np.cos(theta)    sin_theta = np.sin(theta)    ux, uy, uz = axis    # 或者使用更直接的分量形式计算    R = np.array([        [cos_theta + ux**2 * (1 - cos_theta), ux*uy*(1 - cos_theta) - uz*sin_theta, ux*uz*(1 - cos_theta) + uy*sin_theta],        [uy*ux*(1 - cos_theta) + uz*sin_theta, cos_theta + uy**2 * (1 - cos_theta), uy*uz*(1 - cos_theta) - ux*sin_theta],        [uz*ux*(1 - cos_theta) - uy*sin_theta, uz*uy*(1 - cos_theta) + ux*sin_theta, cos_theta + uz**2 * (1 - cos_theta)]    ])    # 绕z轴旋转    cos_beta = np.cos(z_beta)    sin_beta = np.sin(z_beta)    R_z = np.array([[cos_beta, -sin_beta, 0], [sin_beta, cos_beta, 0], [001]])    # 将点表示为列向量并应用旋转矩阵,并保留 8 位小数    point_rotated = np.round(np.dot(np.dot(R, point),R_z), 8)    return point_rotateddef main(Mirror_rotation_speed, Hollow_motor_speed, point_frequency, times):    '''    :Parameter Mirror_rotation_speed:反射镜转速,Hz    :Parameter Hollow_motor_speed:中空电机转速,Hz    :Parameter point_frequency:点频    :Parameter times:时间,s    '''    equal_division = point_frequency * times  # 总点数    # 生成theta和gamma的值    theta = np.linspace(02 * np.pi * Mirror_rotation_speed * times,                        int(equal_division * 1.8))  # 根据设计的垂直视场角为200°,垂直方向的点数按比例增加    gamma = np.linspace(02 * np.pi * Hollow_motor_speed * times, int(equal_division))    # 设点A(0,cosβ,sinβ)位于YOZ平面且与y轴夹角为β    point = np.array([00100])  # 起始坐标    alpha = 30  # 单位向量的倾斜角度,即收发对所在电机轴线与水平面夹角    axis = np.array([0, np.cos(np.radians(alpha)), np.sin(np.radians(alpha))])  # 单位向量u,旋转轴    # 用于存储所有点坐标    all_points = []    for i in range(int(equal_division)):        rotating_point = rotate_point_around_axis(point, axis, theta[i], gamma[i])   # 旋转后的点        all_points.append(list(rotating_point))   # 将 NumPy 数组转换为列表    # print(all_points[-1])    # 将数据写入 JSON 文件    with open(f'D:/python_demo/35、3D点云模拟/statics/pacecat_point_cloud_data_{int(Mirror_rotation_speed)}.json''w', encoding='utf-8'as json_file:        json.dump(all_points, json_file, ensure_ascii=False, indent=4)    print(f"saving pacecat_point_cloud_data_{int(Mirror_rotation_speed)}.json")    # 转换为NumPy数组    points_array = np.array(all_points)    # 创建3D图形    fig = plt.figure()    ax = fig.add_subplot(111, projection='3d')    ax.scatter(points_array[:, 0], points_array[:, 1], points_array[:, 2], c='b', marker='o', s=5)     # 绘制点    ax.scatter(all_points[0][0], all_points[0][1], all_points[0][2], color='black', s=50)    ax.scatter(all_points[-1][0], all_points[-1][1], all_points[-1][2], color='red', s=50)    # 设置标签    ax.set_xlabel('X')    ax.set_ylabel('Y')    ax.set_zlabel('Z')    # 显示图形    plt.show()if __name__ == '__main__':    main(Mirror_rotation_speed=101, Hollow_motor_speed=16.7, point_frequency=60000, times=1)

        最新文章

        随机文章

        基本 文件 流程 错误 SQL 调试
        1. 请求信息 : 2026-04-20 06:03:34 HTTP/2.0 GET : https://f.mffb.com.cn/a/484943.html
        2. 运行时间 : 0.174301s [ 吞吐率:5.74req/s ] 内存消耗:4,684.81kb 文件加载:140
        3. 缓存信息 : 0 reads,0 writes
        4. 会话信息 : SESSION_ID=f8680ff63585071125a1432d8c37fb3a
        1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
        2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
        3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
        4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
        5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
        6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
        7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
        8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
        9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
        10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
        11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
        12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
        13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
        14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
        15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
        16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
        17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
        18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
        19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
        20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
        21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
        22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
        23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
        24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
        25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
        26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
        27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
        28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
        29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
        30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
        31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
        32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
        33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
        34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
        35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
        36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
        37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
        38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
        39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
        40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
        41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
        42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
        43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
        44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
        45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
        46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
        47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
        48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
        49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
        50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
        51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
        52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
        53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
        54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
        55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
        56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
        57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
        58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
        59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
        60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
        61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
        62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
        63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
        64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
        65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
        66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
        67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
        68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
        69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
        70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
        71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
        72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
        73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
        74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
        75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
        76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
        77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
        78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
        79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
        80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
        81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
        82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
        83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
        84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
        85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
        86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
        87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
        88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
        89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
        90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
        91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
        92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
        93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
        94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
        95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
        96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
        97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
        98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
        99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
        100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
        101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
        102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
        103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
        104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
        105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
        106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
        107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
        108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
        109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
        110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
        111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
        112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
        113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
        114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
        115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
        116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
        117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
        118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
        119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
        120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
        121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
        122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
        123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
        124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
        125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
        126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
        127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
        128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
        129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
        130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
        131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
        132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
        133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
        134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
        135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
        136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
        137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
        138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
        139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
        140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
        1. CONNECT:[ UseTime:0.000936s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
        2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000772s ]
        3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000272s ]
        4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000271s ]
        5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000560s ]
        6. SELECT * FROM `set` [ RunTime:0.000194s ]
        7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000586s ]
        8. SELECT * FROM `article` WHERE `id` = 484943 LIMIT 1 [ RunTime:0.001091s ]
        9. UPDATE `article` SET `lasttime` = 1776636214 WHERE `id` = 484943 [ RunTime:0.005428s ]
        10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000279s ]
        11. SELECT * FROM `article` WHERE `id` < 484943 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002026s ]
        12. SELECT * FROM `article` WHERE `id` > 484943 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.006345s ]
        13. SELECT * FROM `article` WHERE `id` < 484943 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.009688s ]
        14. SELECT * FROM `article` WHERE `id` < 484943 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002815s ]
        15. SELECT * FROM `article` WHERE `id` < 484943 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002368s ]
        0.175736s