gpt4 book ai didi

math - 如何重新创建Photoshop曲线背后的数学

转载 作者:行者123 更新时间:2023-12-04 00:57:33 25 4
gpt4 key购买 nike

基本上,我想要做的是了解如何计算沿“曲线”的值,如 Photoshop 曲线框中所示:

Photoshop Curves

因此,给定 N 个点,其中 x 介于 0 和 1 之间,y 介于 0 和 1 之间 - 我们将创建一条穿过所有这些点的曲线。给定这条曲线,我希望能够计算任何给定 X 曲线的所有值。

换句话说,我想像曲线框一样修改颜色值,但是以编程方式。

我读过这些是“catmull-rom 样条”——但我所看到的只是一个依赖于参数 T 的函数——我希望能够查找 x 的值。如果可能,我想在 C 中执行此操作

最佳答案

A Catmull-Rom 样条 使用它是因为它是一种表示曲线的样条,您可以在其中添加控制点并细化曲线本身(这是您在 Photoshop 上单击添加新点时所做的),具有使曲线通过的特殊性通过您指定的每个控制点。

在任何情况下,您只需要一个函数,该函数采用一个值(0..1 中的浮点数或 0..255 中的整数或您拥有的任何颜色空间)将产生另一个值。

float fun(float x) {
y = /* something */
return y;
}

这当然可以通过任何类型的函数来完成。最基本的一个是默认的,它是一个恒等函数
float fun(float x) {
y = x;
return y;
}

任何其他函数都可以用曲线计算,它可以但是开发起来更复杂,我建议你从简单的例子开始,比如贝塞尔曲线。无论如何 t使用参数是因为这些是参数曲线,在深入开发之前需要了解一些曲线的数学背景,看看 here .

关于math - 如何重新创建Photoshop曲线背后的数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com