x
y
z
座標をランダム化した3種類の異なるポリゴンを生成するスクリプトを作成しました。現在のコードはそれらを必要に応じて生成しますが、それは常にそれぞれ40個です。forループを使ってポリゴンの乱数とXYZ値を生成する
次のステップは、random number generator
として整数を使用して、各ポリゴンタイプの乱数を生成することです。これには、if
ステートメント、else-if
ステートメント、およびelse
ステートメントを含むfor
ループが必要です。コードは前述の引数で実行されます(私はそれらをキャンセルしたので)。ただし、1種類のポリゴン(トーラスはトリガーできません)を行うだけです。
私は2つのことについて懐疑的だ:
1:int $rng=rand(1,4);
が正しくrandom numbers
ように動作するように1-4の範囲を作成するために指定している場合。
2:for
のループがif-else
のループの場合は、最初のすべての図形の乱数を取得する必要があります。
This is a desired result I'm trying to get. This is the most recently-executed result of the code.
int $num = 40 ;
int $rng = rand(1, 4) ;
for ($i = 1; $i <= $num; $i++) {
if ($rng == 1) {
polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1 ;
int $xpos = rand(-20, 100) ;
int $ypos = rand(20, 80) ;
int $zpos = rand(20, 50) ;
move -r $xpos $ypos $zpos ;
print ($i + "sphere \n") ;
}
else if ($rng == 4) {
polyTorus -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1 ;
int $xpos = rand(-20, 100) ;
int $ypos = rand(20, 80) ;
int $zpos = rand(20, 50) ;
move -r $xpos $ypos $zpos ;
print ($i + "torus \n");
}
else {
polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1 ;
int $xpos = rand(-20, 100) ;
int $ypos = rand(20, 80) ;
int $zpos = rand(20, 50) ;
move -r $xpos $ypos $zpos ;
print ($i + "cube \n") ;
}
}