【Python 3D可视化开发实战】:掌握五大核心库打造震撼视觉场景

Python+Unity手势识别特效开发:MediaPipe实时驱动与Socket通信实战 计算机视觉与实时图形渲染是当前人机交互和创意媒体领域的关键技术。其核心原理在于通过算法感知物理世界信息,并驱动虚拟内容进行实时响应与呈现。在技术实现上,Python凭借其丰富的AI与计算机视觉库生态,常被用于高效处理图像识别、姿态估计等任务;而Unity作为领先的实时3D引擎,则擅长于渲染复杂的粒子系统、Shader效果和物理交互。将两者结合,能够构建出高表现力、强互动性的应用,例如手势驱动的AR/VR体验、互动艺术装置和短视频特效。本项目正是这一技术路线的典型实践,通过MediaPipe框架实现高精度、实 阅读详情

第一章:Python 3D可视化开发概述

Python 在科学计算与数据可视化领域具有广泛的应用,其强大的库生态系统使得 3D 可视化开发变得高效且直观。借助如 Matplotlib、Plotly、Mayavi 和 PyVista 等工具,开发者能够将复杂的数据结构以三维形式呈现,从而更深入地理解空间关系与动态变化。

核心可视化库简介

  • Matplotlib:通过 mplot3d 工具包支持基础 3D 绘图,适合静态图像生成。
  • Plotly:提供交互式 3D 图表支持,适用于 Web 端展示和仪表板集成。
  • PyVista:基于 VTK 构建,擅长处理网格数据和科学仿真结果。
  • Mayavi:专注于高级 3D 可视化,尤其适用于工程与科研场景。

一个简单的3D散点图示例

# 使用 Matplotlib 创建 3D 散点图
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 生成随机数据
n = 100
x = np.random.rand(n)
y = np.random.rand(n)
z = np.random.rand(n)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')  # 启用3D坐标系
ax.scatter(x, y, z, c=z, cmap='viridis')    # 按 z 值着色
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
plt.show()  # 显示图形窗口

常见应用场景对比

场景推荐工具优势
教学演示Matplotlib简单易学,无需额外依赖
交互式分析Plotly支持缩放、拖拽、Web 集成
科学计算可视化PyVista / Mayavi支持复杂网格与体渲染
graph TD A[原始数据] --> B{选择库} B --> C[Matplotlib] B --> D[Plotly] B --> E[PyVista] C --> F[静态图像] D --> G[交互图表] E --> H[高级渲染]

第二章:核心库详解与基础场景构建

2.1 Matplotlib 3D绘图:从曲面到散点的理论与实现

三维坐标系的构建
Matplotlib通过mplot3d模块支持三维绘图。首先需创建三维坐标轴:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
其中projection='3d'是启用三维渲染的关键参数,Axes3D对象支持多种三维图形绘制方法。
曲面图与散点图的实现
使用plot_surface绘制连续曲面,依赖网格数据:
import numpy as np
X, Y = np.meshgrid(np.linspace(-5, 5, 100), np.linspace(-5, 5, 100))
Z = np.sin(np.sqrt(X**2 + Y**2))
ax.plot_surface(X, Y, Z, cmap='viridis')
而scatter方法用于展示离散三维点分布,适用于高维数据可视化场景。

2.2 Plotly 3D交互可视化:动态图表的设计与实战

构建三维空间的交互基础
Plotly 提供了强大的 3D 图形支持,尤其适用于科学计算与工程仿真中的多维数据展示。通过 plotly.graph_objects 模块可灵活构建表面图、散点图和等高线图。
import plotly.graph_objects as go
import numpy as np

x, y = np.meshgrid(np.linspace(-5, 5, 50), np.linspace(-5, 5, 50))
z = np.sin(np.sqrt(x**2 + y**2))

fig = go.Figure(data=[go.Surface(z=z, x=x, y=y)])
fig.update_layout(title='3D Surface Plot', scene=dict(xaxis_title='X', yaxis_title='Y', zaxis_title='Z'))
fig.show()
上述代码生成一个基于正弦函数的三维曲面图。meshgrid 构建坐标平面,go.Surface 渲染连续表面,update_layout 配置坐标轴标签与标题,实现完整交互视图。
提升用户体验的交互设计
支持旋转、缩放与悬停提示,用户可在浏览器中自由探索数据形态。通过添加颜色映射与光照效果,进一步增强视觉层次感。

2.3 Mayavi科学计算可视化:复杂场数据的渲染技巧

体绘制与等值面提取
Mayavi 提供了面向三维标量场和矢量场的高级渲染能力,尤其适用于流体、电磁场等复杂物理场的可视化。通过 mlab.contour3d() 可快速提取等值面,揭示场分布的关键结构。

from mayavi import mlab
import numpy as np

x, y, z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]
scalar_field = np.sin(x**2 + y**2 + z**2)

# 渲染多个等值面
mlab.contour3d(scalar_field, contours=[0.5, 0, -0.5], opacity=0.7)
mlab.show()
该代码生成一个三维正弦标量场,并绘制三个关键阈值的等值面。参数 contours 指定提取的等值面数值,opacity 控制透明度以实现层次叠加效果。
矢量场可视化策略
对于速度场或电磁场,使用 mlab.quiver3d() 可直观展示矢量方向与大小,结合色彩映射增强信息密度。

2.4 Vedo与PyVista:基于VTK的高效3D场景构建

核心架构对比
Vedo和PyVista均构建于VTK(Visualization Toolkit)之上,提供Python接口以简化3D可视化流程。PyVista侧重网格数据处理与科学计算集成,而Vedo强调交互式场景构建与动画支持。
特性PyVistaVedo
主要用途科学可视化教学与动画展示
API简洁性中等高
代码实现示例

import pyvista as pv
mesh = pv.Sphere()
mesh.plot(color='red', show_edges=True)
该代码创建一个球体网格并渲染,color参数定义表面颜色,show_edges启用边线显示,适用于结构分析场景。

2.5 Three.js + Python桥接方案:Web端3D可视化的集成实践

在构建复杂的Web端3D可视化应用时,前端渲染能力与后端数据处理的高效协同至关重要。Three.js作为主流的WebGL封装库,擅长实现高质量的图形渲染;而Python凭借其强大的科学计算生态(如NumPy、Pandas),成为理想的数据处理引擎。
通信架构设计
通过WebSocket或HTTP API建立Python后端与Three.js前端的双向通信。常用框架如FastAPI可快速暴露三维模型数据接口。
数据同步机制
使用JSON格式传输几何参数与变换矩阵。例如:

{
  "position": [1.0, 2.0, 0.0],
  "rotation": [0.0, 1.57, 0.0],
  "geometry": "cube"
}
该结构描述了一个绕Y轴旋转90度的立方体,前端解析后调用Three.js创建对应Mesh对象。
典型集成流程
  1. Python预处理空间数据并生成顶点信息
  2. 通过REST API将数据发送至前端
  3. Three.js动态构建BufferGeometry并渲染

第三章:三维场景中的数据映射与视觉编码

3.1 空间数据到视觉属性的映射原理

在可视化系统中,空间数据需通过映射函数转换为视觉变量,如位置、颜色、大小等。这一过程是图形编码的核心,决定了信息传达的准确性与效率。
映射维度与视觉通道
常见的视觉属性包括:
  • 位置:用于表达坐标类数据,如经纬度映射至画布坐标
  • 颜色:通过色相或亮度表示数值高低
  • 尺寸:半径或高度反映数量级差异
代码示例:坐标映射实现

// 将地理坐标转换为画布像素
function projectCoordinate(geoPoint, bounds) {
  const { minLng, maxLat, width, height } = bounds;
  const x = (geoPoint.lng - minLng) / (maxLng - minLng) * width;
  const y = (maxLat - geoPoint.lat) / (maxLat - minLat) * height;
  return { x, y }; // 返回画布坐标
}
该函数通过线性插值将经纬度归一化到视口范围,实现空间到二维平面的投影。bounds 提供地理边界与渲染尺寸,确保比例一致。

3.2 颜色、光照与材质在数据表达中的应用

在可视化系统中,颜色、光照与材质不仅是视觉增强手段,更是数据语义的载体。合理运用这些图形学要素,可显著提升信息传达效率。
颜色映射数据维度
通过颜色编码数值范围,用户可快速识别数据热点。例如,在热力图中使用渐变色谱:

const colorScale = d3.scaleSequential(d3.interpolateReds)
  .domain([0, maxValue]);
// 将数据值映射为红白渐变色,值越高颜色越深
该代码利用 D3.js 构建连续颜色比例尺,实现数据强度到视觉明度的线性映射。
材质与光照增强层次感
在三维数据场景中,Phong 光照模型结合表面法线与镜面反射属性,强化形状感知:
  • 漫反射控制基础明暗,反映空间朝向
  • 高光区域标识曲率变化,突出关键结构
配合粗糙度贴图,可模拟不同数据类型的物理质感,如光滑表示聚合区域,粗糙表示离散点云。

3.3 动态数据驱动的3D动画场景实现

在现代Web应用中,3D动画已不再局限于静态预设效果,而是越来越多地依赖实时动态数据进行驱动。通过将外部数据源与图形渲染引擎结合,可实现数据变化即时反映在三维视觉表现中的交互体验。
数据同步机制
使用WebSocket建立与后端服务的持久连接,实时接收传感器或业务系统推送的数据流:
const socket = new WebSocket('wss://api.example.com/3d-data');
socket.onmessage = (event) => {
  const data = JSON.parse(event.data);
  update3DScene(data); // 更新3D场景状态
};
上述代码监听实时消息,解析JSON格式数据并调用场景更新函数。关键参数包括位置坐标、旋转角度及材质属性,均用于驱动Three.js中对应对象的变换。
渲染优化策略
  • 采用对象池复用网格实例,减少GC开销
  • 利用requestAnimationFrame节流渲染循环
  • 对高频数据做差值插值,平滑动画过渡

第四章:高性能渲染与交互功能开发

4.1 大规模点云与网格数据的优化渲染策略

在处理大规模点云与网格数据时,直接渲染会导致性能急剧下降。为提升效率,通常采用空间索引结构如八叉树(Octree)对数据进行分层组织。
八叉树空间划分
通过递归将三维空间划分为八个子区域,仅在必要时加载和渲染可见节点,显著降低GPU负载。

struct OctreeNode {
    BoundingBox bounds;
    std::vector points;
    std::array, 8> children;

    bool isLeaf() const { return !children[0]; }
};
上述C++结构体定义了一个基本的八叉树节点,包含包围盒、点集及子节点指针数组。该结构支持动态LOD(细节层次)控制。
GPU实例化与视锥剔除
结合OpenGL或WebGL的实例化绘制(Instanced Rendering),并配合视锥剔除算法,仅渲染相机视野内的节点。
  • 使用边界体积层次(BVH)加速可见性判断
  • 通过Uniform Buffer Object传递实例变换矩阵
  • 启用深度预测试减少片元着色器开销

4.2 用户交互设计:旋转、缩放与拾取功能实现

在三维可视化应用中,用户交互是提升体验的核心环节。旋转、缩放与拾取功能构成了基础操作体系,使用户能够直观地探索场景内容。
交互事件绑定
通过监听鼠标与触摸事件,将用户输入映射到场景变换。例如,使用指针事件统一处理不同设备的输入差异。

canvas.addEventListener('pointermove', (e) => {
  if (isDragging) {
    const deltaX = e.movementX;
    const deltaY = e.movementY;
    camera.rotate(deltaX * 0.01, deltaY * 0.01);
  }
});
上述代码监听指针移动,利用 e.movementX/Y 获取相对位移,驱动相机旋转。参数 0.01 控制灵敏度,避免过度响应。
拾取机制实现
拾取依赖射线投射(Raycasting),从相机发出射线检测与物体的交点。
  • 生成从屏幕坐标到世界坐标的射线
  • 遍历可交互对象,计算交点
  • 返回最近物体及其表面信息

4.3 实时数据更新与多视窗协同显示技术

在现代可视化系统中,实时数据更新与多视窗协同是提升用户体验的关键技术。通过WebSocket建立持久连接,前端可即时接收服务端推送的数据变更。
数据同步机制
采用发布-订阅模式实现跨窗口通信:

const channel = new BroadcastChannel('data_sync');
channel.onmessage = (event) => {
  if (event.data.type === 'UPDATE') {
    updateView(event.data.payload); // 更新本地视图
  }
};
// 其他窗口触发更新
channel.postMessage({ type: 'UPDATE', payload: newData });
该机制确保多个浏览器标签页间状态一致,避免数据滞后。
性能优化策略
  • 使用节流(throttle)控制高频更新频率
  • 对变更数据做差量传输,减少带宽消耗
  • 利用requestAnimationFrame优化渲染节奏

4.4 导出高质量图像与视频的工程化流程

在大规模视觉数据处理中,导出高质量图像与视频需建立标准化流水线。通过统一的编码规范与分辨率控制,确保输出一致性。
导出参数配置
关键参数包括分辨率、帧率与码率,直接影响输出质量:
  • 分辨率:推荐使用 1920×1080 或更高
  • 帧率:视频建议 ≥30fps
  • 码率:H.264 编码下设置为 8–12 Mbps
自动化导出脚本示例

# 使用 OpenCV 批量导出视频
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 30.0, (1920, 1080))
for frame in frames:
    out.write(frame)
out.release()
该代码初始化视频写入器,指定编码格式(XVID)、帧率(30fps)与分辨率(1920×1080),逐帧写入后释放资源,保障导出稳定性。
质量评估指标
指标标准值
PSNR>35 dB
SSIM>0.92

第五章:未来趋势与跨领域应用展望

边缘智能的崛起
随着物联网设备数量激增,边缘计算与AI模型的融合正成为现实。在智能制造场景中,产线摄像头需实时检测缺陷产品。传统方案依赖云端推理,延迟高;而部署轻量级模型至边缘网关可实现毫秒级响应。

# 使用TensorFlow Lite在边缘设备运行推理
import tflite_runtime.interpreter as tflite
interpreter = tflite.Interpreter(model_path="model_edge.tflite")
interpreter.allocate_tensors()

input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

# 假设输入为1x224x224x3的图像
interpreter.set_tensor(input_details[0]['index'], input_data)
interpreter.invoke()
detection = interpreter.get_tensor(output_details[0]['index'])
医疗影像中的联邦学习实践
多家医院在不共享原始数据的前提下联合训练癌症识别模型。通过联邦平均算法(FedAvg),各机构本地训练模型后上传参数至中心服务器聚合,保障隐私同时提升模型泛化能力。
  • 客户端周期性同步更新本地模型权重
  • 中心服务器验证并加权聚合梯度信息
  • 采用差分隐私机制防止逆向推断攻击
农业智能化系统集成案例
某智慧农场结合卫星遥感、土壤传感器与无人机巡检,构建多源数据融合平台。以下是作物健康监测的关键指标汇总:
指标传感器类型采样频率阈值告警
叶面温度红外热像仪每小时>35°C
土壤湿度电容式探头每10分钟<30%
NDVI指数多光谱相机每日下降15%触发预警
使用Python进行三维可视化 Python是一种易于学习和使用的编程语言,它拥有强大的图形处理能力。本文将介绍如何使用Python进行三维可视化,并提供相应的源代码。我们只需要安装必要的库并编写一些简单的代码即可生成各种三维图形。首先,我们需要安装必要的Python库以支持三维可视化。这段代码生成了一个类似蝴蝶翅膀的三维图形,它是一种非线性动力学系统的典型例子。以上代码创建了一个半径为1的球体,并在三维坐标系中进行可视化。安装完成后,可以使用以下代码创建一个简单的三维坐标系。接下来,我们可以用以下代码创建一些简单的三维图形。 阅读详情

相关推荐

Python使用Matplotlib可视化3D翼面图

Matplotlib是一个强大的Python绘图库,它提供了丰富的工具和功能,用于创建各种类型的图形和可视化。我们将展示如何使用Matplotlib的mplot3d模块来绘制一个具有逼真效果的翼面图,并提供相应的源代码示例。在这段代码中,我们首先定义了一些翼面的参数,然后调用之前定义的函数生成翼面的坐标。在这个函数中,我们使用NumPy的linspace函数来生成均匀分布的x坐标,然后根据NACA 4位数翼型的公式计算出对应的y坐标。通过调整翼面参数,我们可以生成不同形状的翼面,从而实现更多的可视化效果。

uote_e的博客 347

Python 3D可视化(一)

Python 3D可视化的方法很多 ,其中PyVista是其中一种不错的模块。PyVista通过NumPy和直接数组访问与VTK进行接口。这个包提供了一个python化的良好的接口,展示了强大的可视化后端,以方便对空间引用的数据集进行快速原型化、分析和可视化集成。该模块可用于演示文稿和研究论文的科学绘图,以及其他依赖网格的Python模块的支持模块。本文介绍了12种python 3D 基础实例(附完整源代码)。36python练习题目录35语音识别实战(python代码)(一)34​。

逆境清醒的博客 6663

python三维数据可视化的多种方法

Python 中的一些库,如MatplotlibMayavi和Plotly等,可以用于创建复杂的三维数据可视化。这些库可以帮助将数据呈现为立体图像、表面图像、曲面图像等。例如,可以使用这些库来创建分子结构可视化、地理图或者医学图像等。

weixin_44853840的博客 2600

Python中的6个三维可视化工具!

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达Python拥有很多优秀的三维图像可视化工具,主要基于图形处理库WebGL、OpenGL或者VTK。这些工具主要用于大规模空间标量数据、向量场数据、张量场数据等等的可视化,实际运用场景主要在海洋大气建模、飞机模型设计、桥梁设计、电磁场分析等等。工具背后的算法逻辑非常复杂,由于小编是非专业的,不敢造次。本文简单介绍几个Pytho...

小白学视觉 3238

Python三维可视化matplotlib绘图实战

Python语言中,matplotlib库提供了丰富的三维可视化绘图功能,本文将带大家学习如何使用matplotlib库绘制三维可视化图形,并结合相应的源代码进行讲解。除了前面提到的两种三维可视化图形以外,matplotlib库还支持其他类型的三维图形,比如三维等高线图、三维立体柱状图等等。通过学习本文的内容,相信大家已经能够轻松地绘制出各种类型的三维可视化图形了。希望本文对大家有所帮助!除了散点图外,matplotlib库还提供了其他丰富的三维可视化图形,比如三维线图、三维曲面图等等。

code_welike的博客 773

Python数据可视化 Pyecharts 制作 Surface3D 3D曲面图

大家好,我是Mr数据杨,今天的话题是如何在Python中创建和理解3D曲面图。想象一下三国演义中的智囊囊们,他们常常在纷繁复杂的战场中作出精准的决策,如同处理复杂数据,找寻隐藏的模式。‘3D曲面图’,这是关键战场,就像赤壁之战。我们要的就是把数据三维化,找到隐藏在表面下的策略,像周瑜巧妙地利用东风的力量。在Python中使用’Surface3D’来生成这样的图表,这是‘破敌之法’。基本设置,就像每场战争都需要军规军纪一样,也需要基本规则来指导图表。

Mr数据杨 3万+

用Python+Matplotlib玩转NTU-RGB+D骨架数据:从文件解析到3D动画可视化实战

本文详细介绍了如何使用Python和Matplotlib解析并可视化NTU-RGB+D骨架数据,从文件结构解析到3D动态动画实现的全流程。通过实战案例,展示了如何高效处理.skeleton文件、构建数据解析引擎,并利用Matplotlib实现交互式3D骨架动画,帮助开发者深入理解人体动作识别技术。

weixin_29483277的博客 313

【Python绘图 二维、三维】——用Python实现专业的数据可视化

然后,使用np.sqrt()函数计算二维网格上点的距离,将其作为输入传入np.sin()函数中,最后使用ax.plot_surface()绘制三维表面。然后,使用plt.plot()函数将x和y坐标绘制成折线图,并使用plt.title()、plt.xlabel()、plt.ylabel()定义标题、x轴标签和y轴标签,最后使用plt.show()显示图像。通过使用Python中的matplotlib库,我们可以轻松地创建令人印象深刻、美观的数据可视化图表。一、Python二维绘图。

. 2845

【亲测免费】探索OpenVDB:3D渲染与特效制作的技术革新

OpenVDB是一款开源的体积数据结构库,专为高效存储和处理大规模3D体积数据而设计,广泛应用于电影特效、游戏开发和可视化领域。作为3D渲染与特效制作的技术革新者,它能够处理复杂的烟雾、火焰、流体等动态效果,为创作者提供强大的工具支持。 [![OpenVDB项目封面图](https://raw.gitcode.com/gh_mirrors/op/openvdb/raw/a2cb6c08b11b2

gitblog_00042的博客 1058

使用Python轻松创建令人惊叹的3D可视化 - VTK

在VTK中,我们首先需要创建一个场景(vtkRenderer)和一个渲染器(vtkRenderWindow)。使用VTK库,您可以创建各种复杂的3D可视化效果,包括体积渲染、流线、等值面等。这里只是一个简单的入门示例,您可以使用VTK的更高级功能来创建更复杂的可视化。使用VTK库,您可以创建各种复杂的3D可视化效果,包括体积渲染、流线、等值面等。这里只是一个简单的入门示例,您可以使用VTK的更高级功能来创建更复杂的可视化。VTK提供了许多不同类型的几何数据(例如点、线、多边形等),可以用来创建3D对象。

CnyhCode的博客 495

【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码

mpl_toolkits.mplot3d 是 Matplotlib 库中的一个子模块,用于绘制和可视化三维图形,包括三维散点图、曲面图、线图等。它提供了丰富的功能来创建和定制三维图形。

qq_35831906的博客 3131

Percept-WAM:自动驾驶感知-行动一体化大模型架构

自动驾驶系统长期面临感知、预测、规划、控制模块割裂导致的语义断层与响应延迟问题。其本质是传统分层架构缺乏对‘世界状态—行为意图’联合建模能力,难以处理雨雾干扰、动态障碍物判别、交通规则内化等不确定性场景。Percept-WAM 通过多模态大语言模型(MLLM)实现感知理解与行动建模的统一表征,以带置信度的行动意图向量(AIV)替代孤立检测框与轨迹点,在共享骨干、联合损失与物理约束嵌入下,支撑L3级实时决策。该范式正推动车载AI从‘被动响应’迈向‘世界觉知驱动’,为端到端自动驾驶提供可解释、可验证、可部署的新

weixin_34221773的博客 349

腾讯云服务器被攻击,带宽被占满的抗战日记

故事 时间:2021-08-23 地点:腾讯云服务器 事件:服务器内容被黑,修复后某人气不过,开始DDOS,占满服务器的带宽,导致网站访问非常缓慢。 杂记 根据腾讯云后台+宝塔后台,带宽被占满:(小垃圾水管没办法) 部分参考:记一次阿里云服务器ECS流出带宽占满的解决过程 https://blog.youkuaiyun.com/wangzhihao1994/article/details/99563456 首先是在云主机上使用远程连接访问到云主机,安装iftop工具 CentOS .

Rudon滨海渔村的博客 1303

MARIO:融合人体运动学的实时惯性里程计系统

惯性里程计(IO)是无GPS环境下实现自主定位的核心技术,其本质是通过积分加速度与角速度估计位姿,但受传感器零偏和累积误差制约,传统方案依赖外部观测源校正。人体运动学为IO提供了天然、无需基建的物理约束——关节活动范围、骨骼几何关系与步态周期规律可转化为滤波器的状态约束与观测模型。MARIO系统将下肢逆/正向运动学嵌入EKF底层,以髋膝踝角度为状态变量,结合足底ZUPT、气压计楼层跳变与多IMU时序同步,构建出符合生物力学直觉的位置推演能力。该方法显著提升动态步态下的轨迹闭合精度与系统鲁棒性,适用于康复评估

weixin_34037515的博客 417

欧姆龙PLC与fanuc发那科机器人进行Ethrenet ip通信测试

近期在做发那科FANUC的通讯,会吧CC-LINK、Profibus-DP、Profinet I/O、DeviceNet、EtherNet/IP这些常用通讯做成文档发上来,大家喜欢的话可以关注 注:做对应的通讯,在机器人控制柜都需要安装对应的板卡以及软件功能 截图中的程序设置和机器人EDS插件在下面链接 https://download.youkuaiyun.com/download/gojava/13770799 PLC为主站 机器人为从站 一、硬件部分 欧姆龙PLC ...

七兔自习室 1万+

OSGEarth 基于鼠标位置缩放

说明 osgearth 原有漫游器EarthManipulator 不支持此功能,所以需要修改此漫游器代码,其中主要原理就是在缩放的同时也要改变当前漫游器中心焦点的位置,从而保持鼠标指定点的位置缩放是不改变。 核心代码修改部分 EarthManipulator 的头文件zoom方法添加参数view /** * Zoom the camera using delt...

Rsoftwaretest的专栏 3782

python三维建模可视化与交互,python三维建模可视化

MoviePy是python的一个专业的音视频编辑库。我们可以借助于MoviePy将我们绘制的图形变为动态的动画。​ ~~~~~~~~ 当然,我们此处仅是落脚于MoviePy与绘图模块的交互的部分,但是MoviePy的功能远不止此,其他更多的功能,请移步官方文档:http://doc.moviepy.com.cn/index.html#document-3_%E4%BD%9C%E5%93%81%E5%B1%95%E7%A4%BA/index。

神经网络爱好者 3856

【数学建模】 进化计算与群体智能

遗传算法(GA)是一种用于优化和搜索问题的启发式算法。它模拟了自然选择的过程,其中个体通过遗传和变异进行繁殖,逐渐进化出更优的解。基本步骤初始化:生成初始种群。适应度评估:评估种群中每个个体的适应度。选择:根据适应度选择个体进行繁殖。交叉:选定个体对进行基因交换,生成新的后代。变异:对一些个体进行基因变异,以增加多样性。迭代:重复评估和繁殖过程,直至达到停止条件。粒子群优化算法(PSO)是一种基于群体智能的优化算法,由Kennedy和Eberhart于1995年提出。其灵感来源于鸟群觅食的行为。

weixin_42914989的博客 1113

python三维可视化

mplot3d 绘制三维图像 内置于matplotlib Figure对象、Axes3d对象 显示三维坐标空间 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax3d = Axes3d(fig) plt.show() 绘制散点图——scatter(x,y,z) import numpy as np import matplotlib.pyplot as plt f

weixin_44436319的博客 9915

MTK(基础篇)ROM烧录以及分区的作用

本文介绍了MTK芯片设备的刷机流程及关键分区功能。首先通过MTK烧录工具加载ROM文件(包括引导文件和分区表),重点解析了各分区的核心作用:preloader类似BIOS负责硬件初始化;lk作为二级引导程序加载内核;vbmeta验证系统完整性;boot包含Linux内核;dtbo调整硬件配置;modem管理通信功能;tee保护生物识别数据;system/vendor分别存放系统核心和硬件驱动。特别指出preloader、vbmeta等关键分区损坏会导致设备变砖,而recovery分区是重要的救砖入口。全文简

weixin_49303682的博客 444

(秋招复习)一些SLAM基础

秋招复习--SLAM基础知识篇

weixin_45432823的博客 768

Python的3D可视化库【vedo】模块简介和功能概览

vedo是Python实现的一个用于辅助科学研究的3D可视化库。 本文概览了vedo的各个子模块的功能。后续会基于这些模块进行内容整理。

qq_42783188的博客 3753

012、乘累加单元(MAC):NPU中最基本的计算单元

本文深入剖析了神经网络处理器(NPU)中的核心计算单元——乘累加单元(MAC)。作者通过实际调试案例揭示了MAC单元设计中的关键问题:定点数格式对齐、累加器位宽陷阱、流水线优化和多MAC同步方案。重点讨论了INT8量化中的边界条件处理、偏置项截断风险以及零值检测等实战经验,并提供了三点实用建议:建立精确的C模型、参考RISC-V P扩展指令集、仔细审查芯片规格书。文章强调硬件加速的实际瓶颈往往在于数据搬运而非计算单元本身,为NPU开发者提供了宝贵的工程实践参考。

m0_50546716的博客 298
上一篇: Clang静态分析不为人知的秘密:高效检测野指针与双重释放(专家级配置曝光)
下一篇: Asyncio在微服务中的应用难题,90%的开发者都忽略了这4个关键点
FastCompile
博客等级 码龄1年 164粉丝 2015原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值