grapic_review

final final review

  1. C0 G1 C1 C2
  2. viewpoint dependent:
    ray tracing, path tracing, direct volume rendering, proxy geometry
    viewpoint independent:
    radiosity, the rendering equation, texture baking, marching cubes
  3. Implicit surface : x^2+y^2+z^2 = n^2
    Parametric Surface : x = cos(t) y = sin(t)
    explicit surface : y = mx + b

final review

week 7

Direct Volume Rendering

Trilinear Interpolation : all you’re doing here is ‘averaging out’ the values around the data point, biased in the three different directions.

Proxy geometry : 就是给屏幕切片,但是如果你的摄像头恰好与被切平面垂直,啥都看不到。可以朝着摄像头方向切。

Marching Cubes algorithm : 一堆方块的方法。

voxel: 体素结构,也被称为体素阵列,是一种用于直接体积渲染的数据结构。它是一个由小的立方体元素组成的3维数组,称为体素,代表一个三维物体或一个三维空间数据。阵列中的每个体素都包含颜色、密度和透明度等信息,可用于生成物体的2D图像。体素结构允许对大型三维数据集进行有效操作,通常用于医学成像、计算机图形和科学可视化。

opacity : 不透明度

week 8

Gridcell : populating Space : O(n3) Finding Time : O(1)

Octree : 适合真实世界

week 7

sub-voxel sampling

week 6

Radiosity :

  • able : Colour Bleed , Diffuse interreflection , Soft shadows
  • unable : Specular reflection , Refraction , Crisp shadows , Participating media

Path tracing :

  • able : Specular highlights, Specular reflection, Refraction, Colour bleed, Soft shadows, Hard shadows, Diffuse interreflection

Rendering equation only using a BRDF :

  • able : Specular highlights, Reflection, Colour Bleed, Penumbral Shadows, Umbral shadows, Diffuse interrefection
  • unable: Refraction, Depth of field, relativistic effects

viewpoint moves of texture baking(烘焙) 储存数据的过程 :

  • able : colour bleed, soft shadows, hard shadows
  • unable : specular highlights, specular reflection, refraction, depth of field

一些名词

  • colour bleed : 渗色
  • caustics : 焦散: 玻璃杯子下面阴影的点里有一个高亮处
  • soft shadows : 软阴影
  • transparency : 透明度
  • opaque : 不透明物体
  • partially transparent : 部分透明
  • emerge : 表面
  • flux : 对到达某一表面上的某一点的热力学辐射的称呼。这个术语的意思是 粒子的流动
  • form factor : 表面发出的光能有多少可以到达另一个表面。计算方式是一个面投影到另外一个面的面积比。计算过程不考虑表面材质哦。
  • 参与媒体(participating media) : 就是cornell box中物体的意思,上面的光源不参与散射和吸收光线就是非参与媒体。
  • DOF(depth of field) : 视角范围多大
  • crisp shadow : 清晰的影子
  • DOF 不适用一个bsdf

week 10

detail culling : 无论远近,剔除太小并且消耗过多的物体。
Backface culling : 不渲染物体的背面看不见的东西。
Frustum Culling : 渲染前就移除FOV之外的东西。
Occlusion Culling : 它可以在渲染之前从场景中移除隐藏或闭塞的物体。z-buffer知道那些物体被遮挡,直接剔除。
portal culling : 确定当前视角中所有的门户,对着门户射线到其他房间。剔除看不见的区域

regular special

grid cell

就正常网格划分

OctTree

保持每一个空间里面有最多2个物体。


irregular special

HBV (Hierarchical Bounding Volumes)

use a simple shape to encapsulate a more complicated shape


BSP (Binary Space Partitioning)


Spatial coherence

空间连贯性指的是场景中物体的结构化排列。它是指物体被分组在一起的趋势,而不是随机分布的趋势。这种结构可能是由于各种因素造成的,如物体的物理属性、物理定律和环境的限制。例如,在一个房间里,像椅子、桌子和灯这样的物体很可能以一种连贯的排列方式出现在一起,而不是随机地散布在整个空间。在计算机图形和图像处理中,空间连贯性经常被用来简化算法和降低计算的复杂性。

Temporal coherence

时间一致性是指一个事件或现象在一段时间内的一致性。它是一个过程或系统在一段时间内表现出相同行为或特征的属性。在计算机图形和图像处理中,时间一致性指的是图像或视频在一段时间内的一致性,即图像或视频的内容从一帧到下一帧没有明显变化。时间一致性经常被用来简化算法和降低计算复杂度,例如,通过从一帧到下一帧重复使用信息,或者假设图像或视频的内容不会随时间发生重大变化。

Back-face culling

Back-face culling is a method in computer graphics programming which determines whether a polygon of a graphical object is visible. If not visible, the polygon is “culled” from rendering process, which increases efficiency by reducing the number of polygons that the hardware has to draw.

The vertices of front-facing polygons wind in a clockwise fashion. This way, polygons that face away from the camera are in a counter-clockwise order relative to the current view. When back-faces are culled, these polygons are not drawn.

winding of a polygon

在计算机图形学中,多边形的缠绕是指多边形的顶点的排列方向。一个多边形可以有顺时针缠绕或逆时针缠绕。缠绕很重要,因为它决定了多边形的哪一面被认为是 “前面”,哪一面被认为是 “后面”。这与渲染算法有关,例如背面剔除,它可以用来优化渲染过程,只绘制正面的多边形,而忽略背面的多边形。多边形的缠绕可以通过画一条穿过多边形顶点的线并观察线的弯曲方向来确定。如果该线以顺时针方向弯曲,则该多边形具有顺时针方向的绕线,如果该线以逆时针方向弯曲,则该多边形具有逆时针方向的绕线。

week 9

Volume rendering

  1. 渲染没有explict surface的物体 。 weather system ,一些东西没有明确的surface。 或者是there is surafce ,我们更关注物体内部,比如人体。
  2. axial tomographiy

amorphous (无固体形状的)

Direct Volume rendering

  1. apply a transfer function to classify the data points, give it a color and an Alpha value.
  2. ray casting through the view plane to figure out the color of each pixel.

第一步

把values和现实世界物体联系起来叫做transfer function。

下图是cat data。我们已经知道hands field scale。



但如果我们没有这个表格呢? 我们可以给含量多少的pixel命名数字,500,250,200.在之后给每一数字命名颜色


通过画表格我们大概可以知道,我们有两个区间,也就是说有可能有两种物体。于是给他们分别给上不同种类的颜色。

第二步

ray casting, 注意在这里如果view point变换位置需要重新计算。

还有问题就是没有highlight,depth不是那么特别好区分。


我们给他变成3纬,加一个向量n,这个向量没有任何实际意义,因为我们现在在处理比如一个石头中间的部位,没有光。通过这个我们来给他加plausable surface shading

Indirect Volume rendering

contour line (轮廓线,等高线)

也叫ISO line

天气预报,地形一类的。 相同的水平面象征着相同的高度

  1. 下图描述的是用点来描述每一个位置的高度。我们就可以像图片中一样划线来描述等高线。
  2. 如图85上下颜色就可以来表示高于85是天空,低于85是石头。
  3. 通常情况下等高线是更加smooth的,我们给这个折线变成弯弯曲曲的曲线。

根据点不一样一共有14种情况,别的情况都是这些的反转变化。

然后向下图这样,遍历扫描所有的点,来确定整个形状是啥样。



提出了一个terrain editor。类似于astronomer中的填补地形工具。


整体来说这种方法如上图所示,但是问题是slices之间的gap看起来很差。

我们尝试使所有切片正对着我们的viewpoint,但这样太消耗算力了。多一些slices也会提高效果显而易见。

week 7

ray tracing

各种ray

  1. primary ray : 也被称为相机光线,是为图像中的每个像素生成的光线。主射线从摄像机或观察者的视角出发,通过图像的每个像素,追踪到三维场景中。主射线被用来确定最终图像中相应像素的颜色。

  2. shadow feeler ray : surface上一个点是不是被光线直接照射。

  3. transmission ray : 也被称为折射光线,是计算机图形学中的一种光线,用于模拟光线通过透明物体(如玻璃或液体)时的弯曲方式。

depth of field

一些东西是focus的一些东西是bluerred的。

ray casting

radiosity

radiance : the flux leaving a surface at point x

color bleed : 旁边的墙的颜色应到了盒子上


$B(x)\delta A$ : 所有从$\delta A$中离开的能量在point x之中。

$E(x)\delta A$ : emmited area 比如他是发光源

$\rho(x)\delta A$ refelctivity of the point 通过reflected energy per unit area by mutiplying the incident energy per unit area which is the total energy which arrives from all the other patches.

S : all the surface from scene

$F(x,x’)$

ray tracing中如果移动viewpoint需要重新calculate , 但是radiosity不需要。

  1. 我们首先关注light source直接照射到的patches,再关注他们接下来影响到的patches。
  2. 关注他们反射到的地方。无限重复。
  3. 到有一个很高的percentage不变的时候停止。

week 8

path tracing

umbra and penumbra


path tracing

whitted style 就没有这种: 不是有就是无,不存在模糊

radiosity : 场景分成小块,计算每个小块洗手和反射的能量, 无法实现有光泽或透明的表面的场景。


只关注一条我们感兴趣的path。
下图完美的解释了path tracing 和ray tracing的区别。。采用了蒙特卡洛随机选择其中一条path。


SPP(sample per pixel)

screen每一个pixel发射多少条ray

Week 6

Rendering Equation


  • LO : a spectral radiance arriving along direction Wo from Point X. Wavelengths 入 and time t.
  • Le : emited from object itself (light source)
  • f欧米茄 : 积分所有角度
  • Li : 光线从别的地方打到x上,wi是incient incoming.
  • fr : BRDF. 描述物体表面的,是diffuse还是啥。
  • -w’n : 入射角和normal之间的夹角的cosine,描述的光线的强弱。与normal平行也就是所有打出去的光都会等量返还,cos0=1.

渲染公式以后的解决方法

analytical solution : rendering equation 是Fredholm equation of the second kind 中的一种。有一些的这个问题被解决了,但渲染公式因为是infinitely recursive所以没有被解决。

现代cg的解决方法是把一些项变换成近似值。

BRDF

combination of diffuse and specular reflection.

提到的BRDF种类有specular,纯粹的一条线。diffuse。结合两者。更结合两者。

polished mirror 抛光镜面

color

  • 人们更好地区分红色和绿色,而不是蓝色和绿色
  • monochromatic (单频的)。单频purple不存在,看到是因为结合了蓝色和红色。

BSSSDF

nonmetallic(非金属) 多一些,比如手电筒打皮肤透光感。

BSDF = BRDF + BTDF + BSSSDF

week 5

仍存在的问题

  • 4 种simulation的具体区别
  • 4 种包围盒的具体区别

DOF (Degree of Freedom)

  • 3 DOF : particle system (火,烟雾)
  • 6 DOF : 无论有多复杂,刚体的任何可能性运动(Rigid Body Simulation)都可以通过6自由度的组合进行表达。
    Translational motion : x,y,z。 Rotary motion: 纵摇(Pitch)、横摇(Roll)和垂摇(Yaw)

Force and torque: 力与扭力

Impulse-based collisions : 描述碰撞发生时候做的运动

Rest in contact : 一些物体静止了,我们没必要计算他们的collisions,设定他们的状态为rest in contact, 直到有物体接触这个物体位置,解除状态。

Stacking : 砖头之间怎么样互相卡住的。

articulated rigid body simulation (刚体关节的仿真)

两块骨头/中间链接的部分叫做: joint constraint

原本两块骨头分别6个DOF。但可以通过以下两种方式减少DOF。

  1. 由于链接,在一个面,所以关节处-2个rotate。
  2. 因为链接,一个物体必定在另一个末端,所以关节-3个坐标点。

总体来说12-5 = 7 个。

其实换一种说法,我们只需要判定一个物体的6DOF,再加上rotate中的任何一个,也就是一个旋转角度1DOF,就可以描述两个关节的状态。

例子: 人的骨头,车的轮子。。。etc

Deformable object simulation (可变形物体的仿真)

物体是elastic(有弹性)的。刚体的方法不可以适用。提出了FEM。

1. Finite Element Method (FEM) 有限元思想

把物体变成很多四面体(Tetrahedralization),因为四面体是3D中最简单的有volume的形状。类似于tringle在surface中。

deformed shape 可以通过 FEM 变成rest shape。具体的通过方式当前阶段不需要学习。也就是从形变之后的物体(三角形或者四面体对应2D或3D)如何转化成静止的物体(三角形或者四面体)的这个交互是通过FEM完成的。

2. mass-spring fracture simulation

用来描述压力下的物体。

3. particle-based fluid simulation (Lagrangian)

给液体堪称很多个粒子

4. grid-based fluid simulation(Eulerian)

给空间划分成很多的网格,进入每一个小网格的物体和出去的应该是一样的数量

5. Hybrid fuild simulation(Lagrangian + Eulerian)

总结

有限元法(FEM)是一种用于解决微分方程的数值技术。它是一种通用的方法,广泛用于模拟各种物理系统,包括流体力学、传热学和结构力学。FEM以其处理复杂几何形状的能力和为具有平滑解的问题提供精确解而闻名。然而,它可能是计算密集型的,而且可能不是模拟某些类型流体的最有效方法,例如那些具有高粘度的流体。

Eulerian是一种数值技术,通过监测空间中固定点的某些量(如速度、密度和压力)的值来跟踪流体的运动。这种方法通常用于模拟涉及不可压缩流体的问题,善于捕捉处于稳定状态的流体的行为。欧拉法适用于模拟像牛奶这样没有宏观变形的粘性流体。

Lagrangian是一种数值技术,它追踪单个流体粒子在空间移动时的运动。这种方法通常用于模拟涉及可压缩流体的问题,它善于捕捉正在发生大变形的流体的行为。

mass-spring是一种简单且计算效率高的方法,用于模拟涉及大量粒子或节点的系统。它可以用来模拟流体,但一般来说,由于其假设的线性和弹性行为,它对复杂的系统和流体,如牛奶,并不那么准确。

Collusion detection

1. implict equation for surface

是常用的检测intersation与否的方法。
if H(x,y,z) = 0 意味着物体在surface上, <0意味着在surface里面。

应对于其他种类mesh(网格)等比较复杂

2. backtracking

处理碰撞问题的时候,发现物体已经进入surface之中了,利用backtracking,使进入surface的物体回到intersaction这个点来计算反射光线。常用语ray object之中。

3. fixing

同上,但是处理方式变成了找到离目前点更近的surface点。是inaccurate的但是更加容易compute。

4. 多个物体同时碰撞

时间复杂度n2,每一个物体都需要与其他物体进行碰撞检测。

5. bounding volumes

经典包围盒

week 4

rigging(索具)

建造animation controls叫做rigging

Rigging is the process of setting up a character or object for animation, which involves creating a virtual skeleton for the character or object and assigning control handles or bones to the skeleton. The bones can then be used to control the movement and posing of the character or object in a 3D software package or game engine.

articulated skeleton(铰链骨架)


上图是2 dimension中有2个segment的手臂。

P 是end effector

forward kinematics

通过joint angle 寻找end effector 也就是点P


inverse kinematics

反之通过end effector P 寻找 joint angle


重要 : Inverse kinematics is to find the motion to reach a desired position 是正确的,因为joint angle从某种意义上来说算是描述motion。

data-driven approach

用高速摄像机来进行动态捕捉(Motion Capture)。

retargeting

marker position 转换成 character control的过程。

skinning

Q : You modeled an imaginary character with three hands and two legs, then you augmented the character with bones (or handles). Now you need to move the character along with assigned bones. What is this step known as?

A : skinning

skeleton subspace deformation(SSD) 比较出名的算法。


每一个颜色代表一个bone,黑色的话代表它属于多个骨头。


每一个vertex改属于哪一个骨头。我们用wij表示,weight=1的话意味着vertex I 严格属于骨头j。并且每一个vertex的所有骨头之和的weight应该是1。weight 应该是非负数。

转移坐标系的公式:


公式的意思:rest position的pi,转换到骨头坐标系通过Bj-1,在转换到world坐标系Tj。

bind pose : 指的是两个bone同时处于rest position

SSD 例子:

  1. 两个bone处于bind pose,他们经过transformation T1 和 T2 变换成了T‘1 和 T’2。
  2. 原本的P0也就是两块骨头中间的位置分别变成了P1和P2。我们想要算原本P0处的皮肤需要移动与否。
  3. P0 = 0.5p1 + 0.5p2
  4. 结果不是好的。

physics based animation

animation of partical system

particle 和 fluid 不一样的是,他们每一个都是分开的。

ODE (ordinary differential equation)

  • 一般都用一些pure heuristic (启发式)来模拟还不错的效果。
  • 基于物理的模拟其实就是integrate bunch of(一群)ODE

如何解ODE呢?我们举个例子如下, Newtonian method

Newtonian method

是 second order ODE。 用来模拟point mass。

F = ma


积分ODE是在做什么?用图像来表示是在做这个事情:

  1. 寻找切线(tangent)
  2. 切线的点就是next guess,也就是next state在哪里

Euler method

简单容易实现不精确的方法。

h 是a step size age。

x0 time为0的时候位置。



Eluer method drawback

f(X,t) = (-y
…………..x)

Euler method 是inaccurate的在某些情况,因为一直沿着切线走会走出范围。去对比于newtonian method方法,我们永远无法得到一个perfect circule

Forces

buoyancy(浮力)

Point mess : 是一个vector,多个。
处理smoke的时候我们有一个小tip : 让smoke的gravity 向上来进行模拟。 也可以叫buoyancy(浮力)。

viscous damping(粘性阻尼)

比如 honey 或者 wind resistance(风阻)

设定damping越多物体越stabilized

spatial field (空间场)

或者叫velocity field。空间中每一个向量描述将物体推向哪一个方向。

hair

一堆particle组成的,每一个之间距离我们保持一致。

hooks law

里面的系数K : 描述物体的stiffness

不要忘了相互作用力,两个点受到的力是相同的。


总结:

  1. structrual forces: enforce invariant properties of the system like force in the distance between 2 particles and to be constant same as in cloth or hair.
  2. internal deformation forces: string board tried to remain flat.
  3. external forces : wind coming, friction , wind coming.

week 3

Color

cone

cone cell(色锥细胞)一共有三种。

  • short-wave cone
  • middle-wave cone
  • lone-wave cone

在不同波长三种cone的工作状态不一样


定义

色彩饱和度(Saturation): 饱和度高颜色鲜艳,饱和度低的颜色柔和或沉闷。

gamma encoding:图像的伽马编码是利用人类对光线和颜色的非线性感知方式,来优化编码图像时的比特使用,或用于传输图像的带宽。在普通照明条件下(既不是漆黑一片,也不是亮得刺眼),人类对亮度(亮度)的感知遵循一个近似的幂函数(与伽马函数没有关系),对深色调之间的相对差异比浅色调之间更敏感,这与亮度感知的史蒂芬幂律一致。 如果图像没有进行伽马编码,就会把太多的比特或太多的带宽分配给人类无法区分的高光部分,而把太少的比特或太少的带宽分配给人类敏感的阴影值,需要更多的比特/带宽来维持同样的视觉质量。对浮点图像进行伽马编码是不需要的(而且可能会起到反作用),因为浮点格式已经提供了对数曲线的片状线性近似。
metamer:在测色学中,metamerism是指具有不同(不匹配)光谱功率分布的颜色的感知匹配。以这种方式匹配的颜色被称为元体。光谱功率分布描述了一个颜色样本在每个可见波长下发出(发射、透射或反射)的总光的比例;它定义了关于来自样本的光的完整信息。然而,人的眼睛只包含三个颜色受体(三种类型的锥体细胞),这意味着所有的颜色都被简化为三个感觉量,称为tristimulus值。之所以会出现同构现象,是因为每一种锥体细胞都对来自广泛的波长的累积能量作出反应,因此,所有波长的光的不同组合可以产生相等的受体反应和相同的三刺激值或颜色感觉。 在色彩科学中,感觉光谱敏感度曲线的集合是由色彩匹配函数来表示的。

HSI

HSI颜色空间是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation)和亮度(Intensity)来描述色彩。HSI颜色空间可以用一个圆锥空间模型来描述。用这种描述HSI色彩空间的圆锥模型相当复杂,但确能把色调、亮度和色饱和度的变化情形表现得很清楚。


混合颜色

  • 左边是additive color。像是光。
  • 右边是subtractive color。 像是paint。

RGB

左边的是人眼看到的

右边是rgb正常工作的。有负数就给B和G增加,给R变成0。


chromaticity diagram

https://www.zhihu.com/question/441617032/answer/1707671686

XYZ中抛开亮度(luminance),剩下的二维切片(profile)xy可以表示颜色的色度(chromaticity),二维的也比较容易画出来。但一个色度会对应亮度不同的多个颜色。具体画图时会选取一个合适的亮度xyz颜色空间中的颜色可以对应到RGB颜色空间中,但不是一一对应,有效的颜色在xy切片上是个舌头的形状,这与人眼本身的特性和xyz空间的定义有关。


3D -> 2D
x = X/ (X+Y+Z)
y = Y/(X+Y+Z)

Concept of animation

Principles of animation

  • Squash and stretch
  • Anticipation
  • Staging
  • Straight-ahead action and pose-to-pose
  • Follow through and overlapping action
  • Slow in and slow out
  • Arc
  • Secondary action
  • Timing
  • Exaggeration
  • Solid drawing
  • Appeal

squash and stretch:

Squash and Stretch挤压与伸展
动画对象会通过变长或变平,来突出其速度、动量、重量及质量
小球落地


timing:

Timing节奏
动画的生动、有趣和自然感,受介于主动作之间的插入帧数量的影响,相同时间内,帧越多,物体运动速度越慢
两帧一画(两帧共用一张图片)
使用量大

  1. 可以减轻一半的工作量
  2. 两帧一画在快动作上效果更加出色,赋予画面生气与灵动

animate motion of object in the scene

  1. production:

制作场景中物体的动画运动是指通过快速连续显示一系列静态图像或帧来创造运动的错觉的过程。

  1. interactive:

是指通过用户输入来操纵或控制场景中物体运动的能力。这可以通过各种方式实现,如使用鼠标或键盘来控制物体的运动

  1. keyframe

只记录关键帧。 用twinning来填充各个步骤之前的流动性

  1. procedural

motion algorithmically。 比如钟表,我们可以使时间变成参数。

  1. Tweening and Twining

Tweening是一种用于在关键帧之间创建平滑过渡的技术,而Tinning是一种用于创建一个物体的多个副本并使其独立运动的技术。

前者一个物体的流畅运动,后者物体变成多个。

week 2

surface


给一个线拉成平面

displacement

paint displacement on a smooth surface.

we tessellate somooth patch into fine grid, then add displacement at a particular point like UV. 经常在游戏和电影中用,让东西变bumping。


Chaikin’s algorithm (subdivision surface)

corner cutting.

让一个平面无限细分,把每一条变分成更多份。让一个多边形变成不规则的图形。

sculpturing

声称球的过程,从一个正方形开始无限分割。

但注意不能有hole在里面。需要torus。之后做的事情和subdivision一样。

另一种

另外一种生成平面的方式,把2D curve 旋转一周变成3D


R : rotate matrix

q : vertor of points

总而言之就是有一个2D profile 和一个3D的曲线。sweep the profile along the 3D curve


那我们的curve该如何定义呢? frame of curve (frenet frame):

In a Frenet frame, the tangent vector (T) is a unit vector that points in the direction of the curve at a given point. The normal vector (N) is a unit vector that is orthogonal to the tangent vector and points in the direction of the curvature at a given point. The binormal vector (B) is a unit vector that is orthogonal to both the tangent and normal vectors and points in the direction of the rate of change of the direction of the curve.

drawback 就是 inflection:

inflection 指的是右图的那个我们想改变位置的点,因为normal描述运动趋势。所以我们要是改变曲线的话那个点也会变化。为啥这是不好的,他也没说

In a Frenet frame, the tangent vector (T) points in the direction of the curve at a given point, and it does not change direction when the curvature changes sign. An inflection point on a curve is a point where the curve changes concavity, but the tangent vector does not change direction at an inflection point.

Implicit surface

在数学中,隐式曲面是欧几里得空间中由方程定义 的曲面。
F(x,y,z)=0
隐式曲面是三个变量的函数的零点集合。隐式意味着方程没有求解x或y或z。

ep: 球体 x^2+y^2+z^2 = n^2

Parametric Surface

输出的成分是基于一些参数或参数的。

如二次贝塞尔曲线(其中A、B、C和CurvePoint是N个维度的点)。
CurvePoint = f(t) = A*(1-t)^2 + B2t(1-t) + Ct^2

或单位圆。
x = cos(t)
y = sin(t)

或者像这样的曲面。
SurfacePoint3D = f(u,v)

explicit surface

比较常见的函数类型,你在左边有一个变量(因变量),右边有另一个变量(自变量)。

比如说线。
y = mx + b

或高度场。
高度 = f(x,y)Ackermann Ackermann

区别

An implicit equation of a surface is a mathematical equation that defines the points on the surface as the points that satisfy the equation. An explicit equation of a surface, on the other hand, is a mathematical description of the surface that defines the coordinates of the points on the surface as a function of one or more parameters.

The relationship between implicit and explicit equations of a surface is that any surface that can be described by an implicit equation can also be represented by an explicit equation, and vice versa. In other words, any surface that can be defined by an equation of the form f(x, y, z) = 0 can also be represented by a parametric equation of the form (x, y, z) = (x(u, v), y(u, v), z(u, v)), and any surface that can be represented by a parametric equation can also be described by an implicit equation.

The choice between using an implicit or explicit equation to represent a surface depends on the specific needs and context of the problem at hand. Implicit equations are generally easier to work with mathematically, while explicit equations are more convenient for visualizing and manipulating surfaces in computer graphics applications.

week 1

line

polyline: 连续的折线

line: 不管啥样的线都是1D的。line 包含curve。


左边的公式适用于在曲线上生成点(为了pipeline)

右边的公式适用于描述trajectories(轨道)。可以用来延续一条curve。


define 1D curve in 3D space.

Speedline

curve上取两个及以上个数的点。

tessellation : describe p(t) at discrete validity value(分离的一些点)。加更多的点让他更加接近smooth的目标曲线。

interpolation : curve经过了所有的specify points

approxmiation : curve没有必要经过所有的点

接下来提供两种speedline

cubic bezier curves


这种曲线总是被control points 组成的convex包裹着

注: 曲线在endpoint 正切


p(t)如图所示,描述了每一个基于T的点的权重值

性质(partition of unity): 所有点相加得1 , T [0,1] . 所以被convew包裹着


matrix1: Geometry matrix , 一组xy对应一个control point,里面包含所有的control points。

matrix2: coefficient

matrix3: Bernstein polynomials


使曲线变得更复杂。如图采取中点。给曲线由3个control points 变成7 个。

注: 也可以不是中点 而是任意的radio。

continuity


C0 : 两条curve相交点是sharp kink。

G1 : 两条curve相交点tan是同一个direction。

C1 : 两条curve相交点tan完全相同。

C2 : 两条curve相交点tan完全相同,导数也完全相同。

cubic BSP line


BSP vs Bezier

BSP 不经过endpoints

Bezier 经过

两者转换

B1 是 bezier

B2 是 BSP



grapic_review
http://example.com/2022/12/19/grapic-review/
Author
Chenxi Qu
Licensed under