0

私は最低12のポジションを持っています。最小値と最大値は 0 と 1 です。したがって、12 の位置 (つまり、各位置に 1 つの値) にわたって正弦波を描きたい場合、次のような値のリストを作成します: 0.5、0.66、0.83、1、0.83、 0.66、0.5、0.33。0.16、0、0.16、0.33、0.5

しかし、ポイジトンの数を 24、48、96 などに拡張したい場合はどうすればよいでしょうか。値を計算するにはどうすればよいでしょうか (つまり、手動で行うのではなく、何らかのアルゴリズムを使用します)。

私の正弦波は反復する正弦波ではなく、上記のリストによって構築された単一の図であることに注意してください。

4

1 に答える 1

1

正弦波の方程式は y = sin x (「単位」正弦波) です。

あなたがする必要があるのは、x 軸を表示したい位置の数に分割し、それらの x 値を表示することです。

x max は 1 であるため、以下を使用 します。 1.0 = 2*Pi となるように

double xStep = 1.0/NumberOfPositions;

次に、次のようにします。

for(double x = 0.0; x < 1.0; x += xStep)
{
    double yValue = Math.Sin(x*2*Math.PI); // Since you want 2*PI to be at 1
}

また:

double xStep = 1.0/NumberOfPositions;
double[] yValues = new double[NumberOfPositions+1];
double[] xValues = new double[NumberOfPositions+1];
for (int i = 0; i < NumberOfPositions+1; i++)
{
    xValues[i] = i * xStep;
    yValues[i] = Math.Sin(xValues[i]*2*Math.PI); // Since you want 2*PI to be @ 1
}
于 2012-06-18T18:56:00.100 に答える