Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets

Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets:选择能支持查询、编辑与渲染的三维对象表示,并用控制点和基函数构造连续曲线与曲面,并把标量、向量和体数据映射成可解释图形,以公式、章专属交互和可重放故障证据独立重写。

学习目标

  • 能说明Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中的“选择能支持查询、编辑与渲染的三维对象表示,并用控制点和基函数构造连续曲线与曲面,并把标量、向量和体数据映射成可解释图形”,并指出公式中每个量的空间、单位或概率含义
  • 能比较正常基线与“只比较三角形数量而忽略拓扑、属性接缝和退化面;把控制多边形当成插值折线,或拼接段只对齐位置不对齐切线;传递函数掩盖关键范围,或采样步长变化后没有重新校准不透明度”反例,定位顶点/索引、邻接、法线、包围盒和退化统计、端点、切线、凸包、连续阶数和细分误差、数据范围、传递函数、采样步长和参考切片中的首个差异
  • 能操作三个章专属实验,让3d object representation、polygon mesh、spline representation、bezier、data visualization、volume rendering同时具备解释、视觉和练习证据
  • 能修改最小实现、固定输入重放,并判断“Three-Dimensional Object Representations的输入、公式中间量、输出与恢复结果可用同一基线复算,且Spline Representations的输入、公式中间量、输出与恢复结果可用同一基线复算,且Visualization of Data Sets的输入、公式中间量、输出与恢复结果可用同一基线复算”是否重新成立

从一个会失败的图像实验开始

Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets要回答的不是“这个名词是什么”,而是:在固定输入下,如何验证“选择能支持查询、编辑与渲染的三维对象表示,并用控制点和基函数构造连续曲线与曲面,并把标量、向量和体数据映射成可解释图形”,并让一个反例可重复地推翻错误实现?先写下预期像素、几何或估计量,再运行基线;只要顶点/索引、邻接、法线、包围盒和退化统计、端点、切线、凸包、连续阶数和细分误差、数据范围、传递函数、采样步长和参考切片无法指出差异来自哪一步,图像看起来正确也不能通过。

本页的不变量是:Three-Dimensional Object Representations的输入、公式中间量、输出与恢复结果可用同一基线复算,且Spline Representations的输入、公式中间量、输出与恢复结果可用同一基线复算,且Visualization of Data Sets的输入、公式中间量、输出与恢复结果可用同一基线复算。反例“只比较三角形数量而忽略拓扑、属性接缝和退化面;把控制多边形当成插值折线,或拼接段只对齐位置不对齐切线;传递函数掩盖关键范围,或采样步长变化后没有重新校准不透明度”只改变一个条件,因而正常、故障与恢复三次运行应能用同一输入直接比较。

原版、版次与事实来源

Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets只用Pearson第4版书目与22章目录确定原书单元;未取得正文,因此不宣称复现作者表述。以下机制、公式与代码按图形学定义独立编写,OpenGL 4.6 Core规范GLSL 4.60规范只核对现代API事实,不替代原书历史内容。

六个检查词

。这些词共同约束选择能支持查询、编辑与渲染的三维对象表示,并用控制点和基函数构造连续曲线与曲面,并把标量、向量和体数据映射成可解释图形,每个词都必须落到公式、交互状态或可重放输出,不能只出现在术语表。

原书单元与独立机制解释

Three-Dimensional Object Representations

3d object representation 可以是边界、体、隐式面或过程模型,polygon mesh 用顶点、边与面近似表面。表示选择决定拓扑查询、法线连续性、存储和求交成本。

本单元的正式坐标是3d object representation、polygon mesh。验证Three-Dimensional Object Representations时,先制造“只比较三角形数量而忽略拓扑、属性接缝和退化面”,再检查顶点/索引、邻接、法线、包围盒和退化统计能否把错误定位到选择能支持查询、编辑与渲染的三维对象表示的首个分叉。

p(u,v)=iwi(u,v)pi,iwi=1p(u,v)=\sum_i w_i(u,v)p_i,\qquad \sum_i w_i=1

Spline Representations

spline representation 用分段多项式控制连续性,bezier 通过Bernstein基函数形成凸包内曲线。提高控制点数量会提高次数而非自动增加局部控制,因此长曲线通常采用分段样条。

本单元的正式坐标是spline representation、bezier。验证Spline Representations时,先制造“把控制多边形当成插值折线,或拼接段只对齐位置不对齐切线”,再检查端点、切线、凸包、连续阶数和细分误差能否把错误定位到用控制点和基函数构造连续曲线与曲面的首个分叉。

B(t)=i=0n(ni)(1t)nitiPiB(t)=\sum_{i=0}^{n}\binom{n}{i}(1-t)^{n-i}t^iP_i

Visualization of Data Sets

data visualization 选择位置、颜色、形状等视觉通道表达数据,volume rendering 沿视线积分三维标量场的吸收与发射。传递函数决定哪些结构可见,也可能制造误导。

本单元的正式坐标是data visualization、volume rendering。验证Visualization of Data Sets时,先制造“传递函数掩盖关键范围,或采样步长变化后没有重新校准不透明度”,再检查数据范围、传递函数、采样步长和参考切片能否把错误定位到把标量、向量和体数据映射成可解释图形的首个分叉。

C=0DT(t)c(t)σ(t)dt,T(t)=e0tσ(s)dsC=\int_0^D T(t)c(t)\sigma(t)dt,\quad T(t)=e^{-\int_0^t\sigma(s)ds}

先预测,再操作三个章专属实验

分步1 / 3

1. 概念与因果路径

在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中选择任一正式坐标,沿机制链查看它的输入、状态变化和可推翻探针。

图形管线坐标审计

Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets

把选择能支持查询、编辑与渲染的三维对象表示,并用控制点和基函数构造连续曲线与曲面,并把标量、向量和体数据映射成可解释图形放进输入、变换、离散、外观与显示五个责任阶段。

正式概念

Three-Dimensional Object Representations / 3d object representation

3d object representation 可以是边界、体、隐式面或过程模型,polygon mesh 用顶点、边与面近似表面。表示选择决定拓扑查询、法线连续性、存储和求交成本。

模型/输入

定义图元、属性、数据或交互事件

探针:顶点/索引、邻接、法线、包围盒和退化统计

当前公式坐标

p(u,v)=\sum_i w_i(u,v)p_i,\qquad \sum_i w_i=1 ; B(t)=\sum_{i=0}^{n}\binom{n}{i}(1-t)^{n-i}t^iP_i ; C=\int_0^D T(t)c(t)\sigma(t)dt,\quad T(t)=e^{-\int_0^t\sigma(s)ds}
原书边界:Donald Hearn、M. Pauline Baker、Warren Carithers《Computer Graphics with OpenGL》第4版。课程实验显式标注坐标和状态,不把现代API示例冒充原书正文。

最小可重现实验

for (const Face& face : mesh.faces) {
  if (face.is_degenerate()) continue;
  adjacency.add(face);
  bounds.expand(face.vertices());
}
validate_manifold_edges(adjacency);

运行Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets时固定随机种子、输入几何、坐标约定和数值精度;记录编译命令或算法版本、输出摘要与失败条件。实验输出若依赖隐藏全局状态,必须先消除该依赖再比较。

练习与答案

练习

问题 1:公式与边界。 怎样用一个数值样本证明 p(u,v)=iwi(u,v)pi,iwi=1p(u,v)=\sum_i w_i(u,v)p_i,\qquad \sum_i w_i=1 中的量没有混用空间、单位或概率密度?

问题 2:正式坐标。 3d object representation、polygon mesh、spline representation、bezier、data visualization、volume rendering如何进入可操作验证?

问题 3:故障恢复。 如何证明“只比较三角形数量而忽略拓扑、属性接缝和退化面;把控制多边形当成插值折线,或拼接段只对齐位置不对齐切线;传递函数掩盖关键范围,或采样步长变化后没有重新校准不透明度”已经真正修复?

本章回顾

掌握Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets意味着能将“选择能支持查询、编辑与渲染的三维对象表示,并用控制点和基函数构造连续曲线与曲面,并把标量、向量和体数据映射成可解释图形”写成明确公式或算法,能操作正式坐标,能制造“只比较三角形数量而忽略拓扑、属性接缝和退化面;把控制多边形当成插值折线,或拼接段只对齐位置不对齐切线;传递函数掩盖关键范围,或采样步长变化后没有重新校准不透明度”,还能凭顶点/索引、邻接、法线、包围盒和退化统计、端点、切线、凸包、连续阶数和细分误差、数据范围、传递函数、采样步长和参考切片恢复同输入结果,而不是把一段Vulkan生命周期模板换上本章标题。

名词解释

本章出现的专业名词,用大白话再讲一遍。

3d object representation

3d object representation在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中用于选择能支持查询、编辑与渲染的三维对象表示;应由顶点/索引、邻接、法线、包围盒和退化统计确认,而不是只凭术语出现。

polygon mesh

polygon mesh在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中用于选择能支持查询、编辑与渲染的三维对象表示;应由顶点/索引、邻接、法线、包围盒和退化统计确认,而不是只凭术语出现。

spline representation

spline representation在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中用于用控制点和基函数构造连续曲线与曲面;应由端点、切线、凸包、连续阶数和细分误差确认,而不是只凭术语出现。

bezier

bezier在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中用于用控制点和基函数构造连续曲线与曲面;应由端点、切线、凸包、连续阶数和细分误差确认,而不是只凭术语出现。

data visualization

data visualization在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中用于把标量、向量和体数据映射成可解释图形;应由数据范围、传递函数、采样步长和参考切片确认,而不是只凭术语出现。

volume rendering

volume rendering在Three-Dimensional Object Representations × Spline Representations × Visualization of Data Sets中用于把标量、向量和体数据映射成可解释图形;应由数据范围、传递函数、采样步长和参考切片确认,而不是只凭术语出现。

阅读导航

← Interactive Input Methods and Graphical User Interfaces × Programmable Shaders

讨论

评论区加载中…