3D Gaussian Splatting 2023年
使用 3D Gaussian 球表示三维模型,并通过 Splatting 技术渲染出来。3DGS 是在离散和连续间的一个平衡:在高斯球内部是连续的、可微的;在整个空间中,每个高斯球又是离散的。
3D Gaussian Splatting 2023年
使用 3D Gaussian 球表示三维模型,并通过 Splatting 技术渲染出来。3DGS 是在离散和连续间的一个平衡:在高斯球内部是连续的、可微的;在整个空间中,每个高斯球又是离散的。
1 | const material = new THREE.ShaderMaterial( { |
1 | let flowerImg; |
GLSL(OpenGL Shading Lauguage)是现代GPU编程标准语言 是现代图形学的基石
Pixi.js P5.js Shader都用到GLSL
VS Code扩展 提供GLSL语法高亮 函数签名提示等
Vite工程中引入GLSL 和 WGSL 着色器文件
1 | npm i vite-plugin-glsl --save-dev |
1 | import { defineConfig } from 'vite' |
exp mod clamp限定范围
cross dot mix线性内插 step步进函数 smoothstep length矢量长度 distance reflect矢量反射
refract normalize
Shaderific
Khronos Group registery
Book of Shaders glossary
1 | vec2 v2_1 = vec2(1.0, 3.0) |
分量
1 | // 可以使用xyzw,rgba,stpq分别获取各位置分量 |
1 | uniform sampler2D u_Sampler |
continue break discard(跳过当前片元)
分析式AI vs 生成式AI
链路:西门子 S7-200 + MCGS 触摸屏 + 蓝蜂物联网网关
工具:
OPC UA(OLE Process Control Unified Architecture) 用于过程控制的接口(Object link&Embeded OLE)统一架构
用于不同PLC厂商的通信协议封装集成 介于上位机/云端 与设备之间 配合网关 代理服务 避免上位机保持几十上百个tcp连接
通过协议传输语义化数据 描述 文档等
PLC实现的核心控制功能
1 | // ----------------------------------------------------------------- |
fb是功能块
串口 RS232 RS485 都是物理层标准
其中RS232使用较高差异的电平(±3-12v)区分逻辑 结构简单 用在芯片之间通讯 或在1m以内的PLC与上位机通讯
RS485使用差分信号区分逻辑(如A>B为逻辑0 反之为1) 使用缠绕双绞线以抗干扰 传输距离可以在1200m 半双工!
上位机编程一般直接根据串口逻辑进行(使用通用串口总线)

一个项目中还可能有多条 同一链路上使用相同波特率 主站->从站 以实现轮询/问答
仪表要配置 站地址(站号) 通讯参数(波特率 校验 数据位 停止位)
| 功能码 (Hex) | 操作名称 | 读写权限 | 对应地址前缀 | 典型用途与场景 |
|---|---|---|---|---|
| 01 | 读线圈 | 读 | 0x (00001-) | 查看开关输出状态 例如:检查继电器是否吸合、电机是否运行、指示灯状态。 |
| 02 | 读离散输入 | 读 | 1x (10001-) | 读取外部开关信号 例如:读取按钮按下状态、限位开关触发、传感器到位信号。 |
| 03 | 读保持寄存器 | 读/写 | 4x (40001-) | 最常用的功能 读取/设置设备参数(如目标温度、PID参数)、读取模拟量输出值。 |
| 04 | 读输入寄存器 | 只读 | 3x (30001-) | 采集实时测量值 读取传感器数据(如当前电压、电流、温度、压力),通常不可修改。 |
| 05 | 写单个线圈 | 写 | 0x (00001-) | 控制开关动作 远程启动/停止电机、强制置位继电器、开关阀门。 |
| 06 | 写单个保持寄存器 | 写 | 4x (40001-) | 修改单个参数 修改变频器的频率设定、调整温控器的设定值。 |
| 10 (16) | 写多个保持寄存器 | 写 | 4x (40001-) | 批量下发配置 一次性写入一组PID参数、设置多段速运行指令,提高效率。 |