全て、
Trilinear補間の関数を探していると思います。
詳細は次のとおりです。
私は3次元データセットを持っています:
- 次元 1 は 5 刻みで 0 から 100 まで変化します
- 次元 2 は 5 刻みで 0 から 100 まで変化します
- 次元 3 は 0 から 1 まで 0.1 刻みで変化します
したがって、合計値は 4851 (21 x 21 x 11) あります。
(10, 25, 0.3) の値を見つける必要がある場合、それは簡単です。3 次元配列で検索するだけです。
しかし、たとえば、(17,48,0.73) の次元値が与えられた場合に、最適な近似を考え出すことができる必要があります。
だから、私が探しているのは三線補間だと思います(ただし、より良い方法の提案や、私が間違ったトピックにいるというヒントをいただければ幸いです...)
Google で簡単に検索すると、次の式が見つかります。
Vxyz =
V000(1-x)(1-y)(1-z) +
V100x(1-y)(1-z) +
V010(1-x)y(1-z) +
V001(1-x)(1-y)z +
V101x(1-y)z +
V011(1-x)yz +
V110xy(1-z) +
V111xyz
これは私が探しているもののように見えますが、x、y、および z が何を表しているのかわかりません。推測する必要がある場合、x は比率です。つまり、「ターゲット」の最初の次元の値と、私が持っている最も近い 2 つの値からの距離、y は 2 番目の次元の比率、z は 3 番目の次元の比率です。
もちろん、何を言っているのかよくわからないので、これが正しいか間違っているかはわかりません。
したがって、理想的には、これを実現する方法を正確に示す Javascript または擬似コードが必要です。
よろしくお願いします!