0

I'm modifying an application that does PDF manipulation. The function written to interpret functiontype 2s seems to produce a negative value far too frequently. The equation found in the PDF spec is:

yj = C0j + x^N × (C1j − C0j), for 0 ≤ j < n.

Now, I'm getting negative values when I process a function with C0=1 and C1=0. I'm wondering if this is because I'm setting my own x value. What is the x value supposed to be?

4

1 回答 1

0

该函数的计算如下:
1. 输入值被切割到函数域:
input = input > domainMax ? domainMax : (input < domainMin ? domainMin : input)
2. 计算 inputN = input^N
3. 使用公式计算输出值的每个分量(在您的情况下为 1 个分量):
output[j] = C0[j] + inputN * (C1[j] − C0[j]), for 0 ≤ j < n.
4. 切割每个输出组件到功能范围:
output = output > rangeMax ? rangeMax : (output < rangeMin ? rangeMin : output)

你的函数是一个线性函数(确实可以用来定义梯度),当输入为 1 时返回 0,当输入为 0 时返回 1。大于 1 的输入值是无效的,在计算中使用它们之前将它们切为 1,因为域是 [0, 1]。
解析专色百分比的应用程序可能必须将该百分比除以 100,然后才能将其提供给函数。

于 2013-06-26T09:09:40.250 回答