深色模式
中英文术语与符号
不需要先修完整的线性代数或 GIS 课程。遇到一个新词,先看它描述的是“数值、位置、变化,还是绘制过程”,再看例子与单位。完整推导可从数学基础开始;表格中的课程链接通向它的实际用途。
数值、方向与变换
| 中文(English) | 直观含义与例子 | 继续阅读 |
|---|---|---|
| 标量(scalar) | 一个数及其单位,例如温度 20°C。标量不等于“没有空间位置” | 标量场 |
| 向量 / 矢量(vector) | 一组有共同含义的分量;速度 (10,2,0) m/s 描述方向与大小 | 向量 |
| 分量(component) | 相对于指定坐标轴的一个数;换参考系后分量会变 | 局部坐标 |
| 模 / 长度(magnitude / norm) | 向量的大小;三维欧氏长度为 sqrt(x²+y²+z²) | 向量 |
| 单位向量(unit vector) | 长度为 1 的方向,不含米或速度的尺度 | 向量 |
| 点积(dot product) | a·b 是一个标量,反映两方向的同向程度,也用于投影 | 向量 |
| 叉积(cross product) | a×b 是垂直于 a、b 的向量,常用于求三角面法线 | 向量 |
| 矩阵(matrix) | 组织线性变换的数表;矩阵乘向量得到新的分量 | 矩阵与参考系 |
| 基 / 基向量(basis / basis vector) | 描述空间所用的独立方向;ENU 使用东、北、天三轴 | 矩阵与参考系 |
| 旋转 / 平移 / 缩放(rotation / translation / scale) | 分别改变朝向、原点位置和尺度;执行顺序一般不能互换 | 局部坐标 |
| 正交(orthogonal) | 方向互相垂直;正交单位轴还能保持旋转前后的长度 | 矩阵与参考系 |
| 逆变换(inverse transformation) | 把转换后的表示变回原表示;不可逆变换不能这样恢复 | 矩阵与参考系 |
| 齐次坐标(homogeneous coordinates) | 给三维坐标增加 w 分量,用 4×4 矩阵组织平移和投影 | 齐次坐标与投影 |
| 函数 / 映射(function / mapping) | 为输入指定输出,例如经纬度 → ECEF、温度 → 颜色 | 场与导数 |
| 无量纲(dimensionless) | 没有长度、时间等单位;alpha=0.3 是比例,不是 0.3 秒 | 角度与单位 |
| 弧度(radian,rad) | 圆弧长度与半径之比;180°=π rad | 角度与单位 |
| 正弦 / 余弦(sine / cosine) | 将角度对应到单位圆的方向分量;GLSL 输入采用弧度 | 角度与单位 |
| 自然对数 / 指数(natural logarithm / exponential) | log(x) 与 exp(x) 互为反函数;用于压力比例与透射衰减 | 剖面与体 |
地球、坐标与高度
| 中文(English) | 在本书中的含义 | 继续阅读 |
|---|---|---|
| 笛卡尔坐标(Cartesian coordinates) | 按互相垂直的 X/Y/Z 轴记录位置;Cesium 世界位置常以米表示 | 地球坐标 |
| 地心地固坐标(Earth-Centered, Earth-Fixed,ECEF) | 原点在地心、轴随地球旋转的三维参考系 | 地球坐标 |
| 局部东—北—天(East-North-Up,ENU) | 在指定原点建立局部坐标,天方向沿椭球法线 | 局部坐标 |
| 参考椭球(reference ellipsoid) | 平滑的数学地球近似,不含具体山谷 | 地球与高度 |
| WGS84(World Geodetic System 1984) | 世界大地参考系统;不只是某个投影或一张底图 | 地球与高度 |
| 经度 / 地理纬度(longitude / geodetic latitude) | 经度绕地轴,地理纬度取椭球法线与赤道面的夹角 | 地球坐标 |
| 法线(normal) | 垂直于局部表面的方向;椭球法线通常不穿过地心 | 地球与高度 |
| 切平面(tangent plane) | 在一点贴合曲面的平面,远离该点后会偏离曲面 | 局部坐标 |
| 椭球高(ellipsoidal height) | 相对参考椭球的高度;常见 Cesium 经纬高接口使用它 | 地球与高度 |
| 大地水准面(geoid) | 与重力有关的参考等位面,不能与数学椭球等同 | 地球与高度 |
| 正高(orthometric height) | 相对大地水准面的高度;日常海拔必须结合高程系统解释 | 地球与高度 |
| 离地高度(height above ground,AGL) | 相对当前位置地形的距离,需要地形信息才能确定 | 影像与地形 |
| 位势高度(geopotential height) | 由重力位势换算的高度量,常以米表达,不能直接当椭球高 | 剖面与体 |
| 测地线(geodesic) | 沿指定曲面的局部最短路径;不是经纬数值的任意直线连接 | 投影 |
| 地图投影(map projection) | 地理位置到平面地图的映射,须接受面积、形状或距离的取舍 | 投影 |
| 透视投影(perspective projection) | 三维场景到二维画面的变换,呈现近大远小 | 相机 |
| 视锥 / 裁剪(frustum / clipping) | 相机可能看到的空间范围,以及对范围外几何的裁除 | 相机 |
| 方位角 / 俯仰角(heading / pitch) | 朝向和仰俯,必须同时说明参考系与角度单位 | 相机 |
| 射线 / 交点(ray / intersection) | 从原点沿方向延伸;与目标表面相遇处用于拾取 | 拾取 |
| 日期线接缝(antimeridian seam) | 经度表示在 ±180° 处跳变,地表并没有裂口 | 投影 |
数据、采样与科学含义
| 中文(English) | 在本书中的含义 | 继续阅读 |
|---|---|---|
| 栅格 / 矢量要素(raster / vector feature) | 网格样本与点线面对象两种数据表达;矢量要素不等于速度矢量场 | 数据形状 |
| 拓扑(topology) | 哪些节点相邻、哪些点连成单元;与节点具体位置分开描述 | 曲线网格 |
| 规则网格 / 曲线网格(regular / curvilinear grid) | 前者可由规则坐标轴定义,后者每节点有独立地理坐标 | 曲线网格 |
| 雅可比矩阵(Jacobian matrix) | 描述坐标映射的局部变化率,可检查网格伸缩、翻折与退化 | 曲线网格数学 |
| 采样 / 重建(sampling / reconstruction) | 取得离散样本,以及根据样本估计中间位置 | 采样与插值 |
| 插值(interpolation) | 在已知样本之间估计值;不增加独立观测 | 空间采样 |
| 最近邻 / 双线性(nearest neighbor / bilinear) | 选择最近样本,或按四角权重求单元内数值 | 空间采样 |
| 三次重建(cubic reconstruction) | 使用三次核的重建类别;核不同,过冲和平滑性质也不同 | 空间采样 |
| 权重(weight) | 每个样本占多少比例;双线性有效角点权重和为 1 | 采样与插值 |
| 缺测 / 哨兵值(missing value / sentinel) | 无有效数据的状态及其编码;零值不自动表示缺测 | 纹理数据 |
| 重网格(regridding) | 把源网格值估计到另一网格,需要声明方法与误差 | 曲线网格 |
| 色带 / 查找表(color map / lookup table,LUT) | 从数值到颜色的规则;颜色不替代原始科学值 | 标量场 |
| 归一化(normalization) | 转换到约定尺度,例如温度范围映射到 0–1;要说明公式 | 标量场 |
| 导数 / 梯度(derivative / gradient) | 一维变化率,以及多维空间中变化最快的方向与大小 | 场与导数 |
| 积分 / 时间步长(integration / time step) | 累积小变化;数值积分以有限 dt 近似连续推进 | 数值积分 |
| 平流(advection) | 随速度场输送位置或某种量;粒子动画通常推进采样点位置 | 风粒子 |
| 欧拉法 / RK2(Euler / second-order Runge–Kutta) | 用起点速度推进,或用中间速度改善单步估计 | 数值积分 |
| 等值线 / 等值面(contour / isosurface) | 二维域内的同值曲线,或三维域内的同值表面 | 等值线 |
| 行进方格法(Marching Squares) | 从每个二维网格单元的阈值关系提取线段 | 等值线 |
| 鞍点(saddle point) | 沿不同方向可能分别上升、下降的局部结构,关系到等值线连通 | 等值线 |
| 剖面 / 体渲染(cross-section / volume rendering) | 前者读取切面;后者沿射线综合一段体空间 | 剖面与体 |
| 射线步进(ray marching) | 沿射线每隔 Δs 采样一次,再累计颜色和透射 | 剖面与体 |
| 消光系数 / 透射率(extinction coefficient / transmittance) | 前者描述单位距离的衰减,后者表示剩余通过比例 | 剖面与体 |
| 量化 / 残差 / 误差(quantization / residual / error) | 有限编码、对目标关系的偏离、与参考值的差别,含义需具体说明 | 精度与误差 |
GPU 与 Cesium 渲染
| 中文(English) | 在这里的职责 | 继续阅读 |
|---|---|---|
| Viewer / CesiumWidget | 应用级组合组件与承载场景的组件 | 场景层级 |
| Scene / Globe | 场景渲染协调者与地球表面子系统 | 引擎全貌 |
| 实体 / 图元(Entity / Primitive) | 对业务对象的高层描述与更接近几何绘制的抽象 | 接口选择 |
| 几何 / 几何实例(Geometry / GeometryInstance) | 顶点与拓扑数据,以及携带变换和实例属性的一次使用 | 几何 |
| 顶点 / 索引 / 绕序(vertex / index / winding) | 顶点数据、连接编号,以及访问顶点的方向顺序 | 几何 |
| 材质 / 外观(Material / Appearance) | 材质计算,以及连接几何输入、着色程序和渲染状态的组织 | 材质 |
| 着色器(shader) | GPU 执行的程序;不只用来计算颜色 | GPU 管线 |
| attribute / uniform / varying | 顶点输入、一次绘制的参数、顶点到片元的传递量 | GPU 管线 |
| 光栅化(rasterization) | 将几何覆盖转换为需要处理的屏幕样本 | GPU 管线 |
| 片元 / 像素(fragment / pixel) | 候选绘制样本与最终图像元素;并非一一对应 | GPU 管线 |
| 纹理 / 纹理元素(texture / texel) | GPU 可采样的数据载体与其中一个存储元素 | 纹理 |
| 采样器(sampler) | 规定纹理过滤与边界访问方式;不自动理解地理含义 | 空间采样 |
| 帧缓冲对象(Framebuffer Object,FBO) | 配置绘制结果写向的附件,附件本身存储像素或数值 | Framebuffer |
| 渲染到纹理(render-to-texture) | 把一次绘制结果当作后续阶段的数据输入 | Framebuffer |
| 乒乓缓冲(ping-pong buffering) | A 读 B 写,下一步交换,避免同一步读写反馈 | Framebuffer |
| DrawCommand / ComputeCommand | Cesium 内部绘制及纹理计算命令;不属于稳定公共承诺 | 命令调度 |
| 深度测试 / 深度写入(depth test / depth write) | 判断片元能否通过已有深度,以及是否更新深度记录 | 深度透明 |
| 不透明度 / 混合(opacity / blending) | alpha 比例及前后颜色的合成计算 | 深度透明 |
| 深度冲突(z-fighting) | 接近同一深度的面不能稳定区分,出现闪烁 | 深度透明 |
| 剔除 / 包围体(culling / bounding volume) | 提前跳过无关对象,及支持判断的简化空间范围 | 绘制命令 |
| 细节层级(level of detail,LOD) | 随观察尺度选择精细或粗略表示 | 3D Tiles |
| 拾取(picking) | 从屏幕确定对象或空间位置;不同方法返回的含义不同 | 交互 |
工程与测量
| 中文(English) | 要区分的概念 | 继续阅读 |
|---|---|---|
| 帧率 / 刷新率(frame rate / refresh rate) | 画面产生速率与屏幕刷新速率,不等于 JavaScript 回调计数 | 更新与渲染 |
| 延迟 / 吞吐(latency / throughput) | 完成一件事需多久,以及单位时间完成多少事 | 性能 |
| 主线程 / 工作线程(main thread / Web Worker) | 页面主执行线程与浏览器后台计算线程;都在读者设备上 | 性能 |
| 资源生命周期(resource lifecycle) | 创建、更新、隐藏、销毁的完整过程 | 生命周期 |
| 所有权 / 借用(ownership / borrowing) | 谁负责销毁资源,以及谁只在约定期限内使用资源 | 生命周期 |
| 幂等(idempotent) | 重复调用不再引入额外状态改变,例如重复清理安全返回 | 生命周期 |
| 适配器(adapter) | 将输入差异或版本敏感接口集中隔离的小型接口层 | 渲染库 |
| 合成数据 / 固定种子(synthetic data / fixed seed) | 由规则生成的数据与可复现的伪随机起点;逼真不等于观测 | 数据资料 |
常见符号:先看上下文,再看字母
| 符号 | 本书常见意义 | 单位提醒 |
|---|---|---|
| λ、φ(lambda、phi) | 经度、纬度 | 公式多用 rad;界面经常用 ° |
| h、a、b、R | 高度、椭球半轴或球半径 | 常用 m;R 也可能是旋转矩阵,以当前公式为准 |
| p、x、y、z | 位置向量或分量;剖面章节 p 也用于压力 | 位置常用 m;压力用 Pa/hPa |
| U、V | 向东、向北的水平速度分量 | m/s;与纹理坐标 u/v 不同 |
| u、v 或 s、t | 纹理/网格的局部坐标 | 通常无量纲;剖面的 s 可另表示距离 |
| i、j、k | 数组索引、节点编号 | 无单位整数;从零开始与否要明确 |
| t、dt、Δt | 数据时刻、积分步长或时间差 | 用同一时间尺度;相对步长常用 s |
| alpha、α、w | 插值权重或不透明度 | 通常无量纲;齐次坐标中的 w 是另一含义 |
| f、c | 标量函数及阈值;合成公式中的 c 也可表示颜色 | 同值比较必须同单位;RGB 分量通常在 0–1 |
| σ、Δs、T | 消光系数、射线步长、透射率 | Δs 用 m 时 σ 用 1/m,T 无量纲 |
| ε(epsilon) | 容差或误差阈值 | 必须与被比较的量相同单位 |
= 在数学式中表示相等;程序里的 = 通常表示赋值。× 是普通乘法或特定上下文中的叉积,* 在代码中常是标量乘法。不要仅凭符号长得一样就认为它们执行同一种运算。