0

これは、単に私を避けている簡単な解決策である可能性があります。具体的には、sin() 関数を使用して円上の等距離点に動的に位置を作成しています。これらのポイントが作成されたら、ポイント間の勾配を計算し、各勾配ステップで形状を再描画することにより、あるポイントから次のポイントに移動する形状をアニメーション化します。

問題は、座標値によっては、勾配のステップが点 a から点 b までの 1 つのステップにすぎない場合があることです。ポイントからポイントへジャンプするだけでなく、パスに沿って移動するシェイプが必要です。

私がやりたいことは、位置座標 (x, y) を強制的に偶数にして、勾配値を常に還元できるようにすることです。だから、質問の簡単な部分は...

int 値が偶数かどうかを確認するにはどうすればよいですか? そうでない場合は、単に座標値に 1 を追加します。

4

5 に答える 5

1

整数が偶数かどうかを確認するには:

  1. その値が 2 を法とする 0 に一致するかどうかを確認します。つまり、 ですvalue MOD 2 == 0。C スタイルの言語では、これは通常 として表現されvalue % 2 == 0ます。
  2. または、ビット 0 の値を確認しますvalue BITWISE-AND 0x01 == 0。C スタイルの言語では、これは通常 として表現され(value & 0x01) == 0ます。

丸める方向を気にしない場合は、その値をビット単位で取り、1 つの操作で整数を偶数化できます0xFFFE(もちろん、整数の幅にパディングされます)。これにより、強制的に 0 ビットが設定されます。ゼロに。つまりvalue := value BITWISE-AND 0xFFFE、または C スタイル言語ではvalue &= 0xFFFE.

于 2013-09-06T17:57:13.353 に答える
1
int newNumber = someInt % 2 == 0 ? someInt : someInt + 1;
于 2013-09-06T17:55:17.457 に答える
0

多くを与えていないので詳細を与えるのは難しいですが、 Modulo operationを調べる必要があります。

于 2013-09-06T17:56:48.257 に答える
0

その上でmod 2を実行します。余りが0なら偶数です。

VB:

薄暗い偶数 = (3 mod 2 = 0 )

于 2013-09-06T17:55:40.003 に答える