【发布时间】:2013-08-18 16:45:48
【问题描述】:
我遇到了这个: t = 钳位 (t/d, 0, 1) 但我不确定如何对向量执行此操作。如果一个人正在编写自己的向量实现,那么钳位向量的步骤是什么?
谢谢
clamp 将向量钳制到最小值和最大值
例如:
pc = # the point you are coloring now
p0 = # start point
p1 = # end point
v = p1 - p0
d = Length(v)
v = Normalize(v) # or Scale(v, 1/d)
v0 = pc - p0
t = Dot(v0, v)
t = Clamp(t/d, 0, 1)
color = (start_color * t) + (end_color * (1 - t))
【问题讨论】:
-
进一步解释该函数应该做什么。
-
钳位向量是什么意思?钳制向量的每个条目?将向量本身夹在 R^n 中的球体上?
-
将向量限制为最小和最大
-
@user146780:最大和最小什么?元素数量?所有元素的值包含在哪里?已分配内存?
-
t 和 d 在这里都是标量。为什么需要钳位向量?只需使用 Chris 在下面发布的代码,在 lb = 0 和 ub = 1 的标量 t/d 上。