これで補間を最近調べています。残念ながら私が読んだほとんどすべての記事では、正確には小数点以下の0.0〜1.0の補間しか説明していません。私は、どれくらいの大きさであるかに関係なく、整数の整数を補間したいと思います。私は線形補間でこれを達成しました:しかし、私は余弦補間に固執しています。 This偉大な記事はコサイン補間について述べていますが、上記のように0.0から1.0までの数値のシステム上にあります。ここで私はこれまで持っているものです。整数による余弦補間
public int interpolate(int y1, int y2, int length, int x){
int v = (int)(y2 - Mathf.Cos(x * 3.1415f))/2;
return (y1 + x * (y2 - y1)/(length-1)) * v;
}
、それがすべてで滑らかでない作っていない本当の方向とほぼ乱数を返してもそれは動作しません。これが私の助けが必要なところです。 Long story short:整数を扱うコサイン補間関数を作るにはどうすればよいですか?
リンク先の記事を誤解しているようです。その数字のシステムが0.0から1.0までであるということではありません。むしろ、最初のエンドポイントにいるときはmu = 0、エンドポイントにいるときはmu = 1に設定する必要があります。したがって、エンドポイントが(x1、y1)と(x2、y2)であり、xで補間したい場合は、mu = x1 +(x-x1)/(x2-x1)です。 – ruakh
@ruakhはmu =(x-x1)/(x2-x1)ではないはずですか? – pkExec
@pkExec:おっと、はい、ありがとう。 – ruakh