|
|
|
Sin Curve | Ramdom | Bahnwelt Vibration |
Die Bahnwelt では、なにかと振動するシーンが出てきます。ゲーム中も地震や爆発でマップがぐらぐら揺れたりいたします。
こういう時は、乱数で揺らすというのが最も一般的なやり方ですが、やはり自然な揺れを表現するには、いわゆる「1/f ゆらぎ」を与えなければ!! というわけで、専用の振動周期テーブルというのを作り、これをいわゆるSIN関数の代わりのように使ってみたわけです。
うーん、ひょっとして乱数を補間すりゃ、済んだのだろうか・・
だいたい、この振動テーブル、どうやって作ったんだろう。本当に 1/f 揺らぎになっとるんだろうか!??
Chaos Cyclic Data | Sin Cyclic Data |
---|---|
short chaos[256] = { 0,-54,-108,-163,-217,-272,-326,-380, -435,-342,-250,-157,-65,27,119,212, 304,257,210,163,115,68,21,-25, -72,-115,-158,-200,-243,-286,-329,-371, -414,-333,-251,-170,-89,-7,73,154, 236,179,122,66,9,-47,-103,-160, -217,-221,-225,-229,-234,-238,-242,-246, -250,-243,-235,-227,-220,-212,-205,-197, -189,-202,-215,-229,-242,-255,-268,-281, -294,-269,-244,-220,-195,-170,-145,-121, -96,-134,-172,-209,-247,-285,-323,-361, -398,-325,-252,-179,-106,-33,39,113, 186,125,64,4,-56,-117,-178,-238, -299,-272,-245,-218,-192,-165,-138,-111, -84,-124,-165,-205,-245,-286,-326,-367, -407,-329,-252,-174,-97,-19,58,135, 213,154,95,36,-22,-81,-140,-198, -257,-247,-237,-226,-216,-206,-196,-185, -175,-193,-210,-227,-245,-262,-279,-297, -314,-281,-248,-214,-181,-148,-115,-81, -48,-95,-143,-190,-237,-284,-331,-378, -425,-338,-251,-163,-76,11,98,186, 273,221,169,117,65,13,-38,-90, -143,-169,-196,-222,-249,-275,-302,-328, -355,-303,-251,-200,-148,-97,-45,6, 57,-2,-62,-122,-182,-242,-302,-362, -422,-336,-251,-166,-80,4,90,175, 260,207,153,99,45,-8,-61,-115, -169,-188,-207,-227,-246,-265,-284,-303, -322,-286,-249,-212,-175,-138,-101,-64, -27,-78,-128,-179,-229,-280,-331,-381, -432,-378,-324,-270,-216,-162,-108,-54 }; |
short sinroll[256] = { 0,6,12,18,25,31,37,43, 49,56,62,68,74,80,86,92, 97,103,109,115,120,126,131,136, 142,147,152,157,162,167,171,176, 181,185,189,193,197,201,205,209, 212,216,219,222,225,228,231,234, 236,238,241,243,244,246,248,249, 251,252,253,254,254,255,255,255, 255,255,255,255,254,254,253,252, 251,249,248,246,244,243,241,238, 236,234,231,228,225,222,219,216, 212,209,205,201,197,193,189,185, 181,176,171,167,162,157,152,147, 142,136,131,126,120,115,109,103, 97,92,86,80,74,68,62,56, 49,43,37,31,25,18,12,6, 0,-6,-12,-18,-25,-31,-37,-43, -49,-56,-62,-68,-74,-80,-86,-92, -97,-103,-109,-115,-120,-126,-131,-136, -142,-147,-152,-157,-162,-167,-171,-176, -181,-185,-189,-193,-197,-201,-205,-209, -212,-216,-219,-222,-225,-228,-231,-234, -236,-238,-241,-243,-244,-246,-248,-249, -251,-252,-253,-254,-254,-255,-255,-255, -255,-255,-255,-255,-254,-254,-253,-252, -251,-249,-248,-246,-244,-243,-241,-238, -236,-234,-231,-228,-225,-222,-219,-216, -212,-209,-205,-201,-197,-193,-189,-185, -181,-176,-171,-167,-162,-157,-152,-147, -142,-136,-131,-126,-120,-115,-109,-103, -97,-92,-86,-80,-74,-68,-62,-56, -49,-43,-37,-31,-25,-18,-12,-6 }; |