約 4,324,078 件
https://w.atwiki.jp/sinapusu2002/pages/288.html
Computation - Simple Calculator http //judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_4_C 四則演算を処理する問題 なんかセガの人が書いた本によれば仕事場でこういうif文を書くと怒られるらしい。 ま、キャリア0で仕事場に入れてすらもらえない私には関係ないけど。 #include stdio.h #include math.h main() { int a,b,d; char c; while(1){ scanf("%d %c %d", a, c, b); if(c== ? )break; if(c== + )d=a+b; if(c== - )d=a-b; if(c== * )d=a*b; if(c== / )d=a/b; printf("%d\n",d); } }
https://w.atwiki.jp/clickeridle/pages/83.html
URL https //spotky1004.github.io/Calculator-Evolution/ 作成者 spotky プラットフォーム HTML オフライン進行 有 Numberを増やすゲーム。 Number Achievement達成のコツ Module Shop Research Quantum Singularity Grid Machine Challenge Infinity コメント Number このゲームにおいて、初期段階では 000000(2)と表示される。 カッコ内の数字がBaseと呼ばれ、このBaseを上げていくと、1桁で多くのNumberをカウントできる。先程の数字を例とすると、6桁を上限とする2進数であり、63まで数えられる。ただし、最初に有効なのは1桁のみ。 Achievement 全40種類。中には獲得すると、報酬が付く実績も存在する。 名前 条件 報酬 Memory exceed Numberが111111(2)になる - A doller moneyを1$獲得する Mine powerが1.25倍になる Upgrade! CPUを3回アップグレードする - Let's count to ten Baseを10にする - A to Z Baseを36にする shopで販売されるアップグレードのコストが0.95倍になる Tech lab? Rebootを行う - Boost! Bonus CPUのレベルを3にする - Multi Process Multi processのレベルを2にする programをさらに1つ同時に機能出来るようになる Larger Memory Extra digitのレベルを5にする - Power of Science 1000RPを獲得する 現在所持しているRPに応じて、RPの獲得量を増加 Sacrifice Overclock.exeをオンにする Researchの速度が1.15倍になる A to z Baseを62にする - Sacrifice Ⅱ overclock.exeの性能を1e10倍以上にする - Rich moneyを1e100$獲得する Mine powerが5倍になる Ultimate science 1.11e11RPを獲得する - New Age Quantumを行う Mine powerが10倍になる 2^10 qubitを10個獲得する - Skilled Quantumアップグレードを8つ獲得する - Lab Town Quantum labを7個獲得する Qubitの生産速度が3倍になる 2^50 qubitを50個獲得する Qubitの生産速度が1.5倍になる Richer moneyを1e1000$獲得する Mine powerが10倍になる A to Œ Baseを250にする shopで販売されるアップグレードのコストが0.1倍になる Infinity Research 1.7977e308RPを獲得する Quantum時、100RPを引き継ぐ Infinity boost qubitを1024個獲得する - 2 More? Quantum labを82個獲得する Qubitの生産速度について、所持しているQuantum labから2個足した分で計算される Singularity Singularityを行う CPUの速度が25倍になる Second Singularity 2回目のSingularityを行う RPの獲得量が10倍になる Challenge 何らかのChallengeをクリアする - Bulk QL Challenge 一度に20個以上のQuantum labを獲得する Quantumの要件が0.9乗される More Challenge Challengeを10回クリアする Challengeのクリアに必要なQuantum labの数が2減るChallengeをクリアしても、進行状況がリセットされなくなる Mastered (6行目までの)Quantumアップグレードを全て獲得する(2572Qubits) Quantumアップグレードの7行目、Singularityの列が解禁 Give me more QUBIT! Quantum labを600個獲得する Challengeのクリア回数に応じて、Qubitの生産速度が増加 Grid Lab Qubit Challengeをクリアする Challenge挑戦時、最初から目標の半分のQuantum labを持ってスタートする(上限はこれまでの最大値) Singularity at light speed 直近のSingularityから、0.5秒以内にSingularityを行う Merged grid machineを2つ獲得grid spaceを2つ獲得毎秒、リセットで獲得するSPの10%を獲得 Singularities 100回Singularityを行う SPの獲得量が4倍になるprogramをさらに10つ同時に機能出来るようになる Broken Machine Boost Challengeをクリアする - Tricky Boost Challengeを10回クリアする - Bugged Reality moneyをinfinity$(※1)獲得する ゲームの速度が2倍になる Inf... 直近のInfinityから、5時間以内にInfinityを行う - GG 直近のInfinityから、10秒以内にInfinityを行う - ※1.1ee16$。 達成のコツ A to Z そこまで急ぐ必要はなく、Researchを十分に行ってからの達成でいいだろう。 2 More? 80LABから少し時間をかける必要がある。所得しないとSingularity後が苦行になるので注意。 Singularity at light speed 128SPを達成した後Singularityボタンを連打。Singularitiesも同様。 Module 最初から解放されている機能。3つのexeがあり、それぞれ別の効果を発揮する。 名前 効果 Increment.exe CPUに応じて、Numberを増加 Miner.exe 現在のNumberとCPUの性能に応じて、Moneyを生産 Memoey.exe Numberが最大なら、現在のNumberをリセットして、有効なDigitを増やす Shop ここでは、Miner.exeによって獲得したmoneyを消費することで、Programや、CPUを購入したり、強化できる。 名前 v1 v2 v3 v4 v5 Base_Increaser.exe Numberが最大でGray Digitが無いなら、現在のNumberと有効なdigitの数をリセットして、Baseを上げる価格0.03$ Max digitが12以上なら、12桁でBaseを上げる価格1.004e33$ Baseを37以上に上げれるようになる価格1.1111e45$ Baseを上げる時、Numberをリセットしなくなる価格8.421e100$ Baseを上げるとき、何もリセットしなくなる価格7.7777e200$ Miner.exe 最初から所持(効果はModule参照) 桁数に応じて、Moneyの生産量増加価格1e6$ RPに応じて、Moneyの生産量増加価格2.468e55$ Overclock powerに応じて、Moneyの生産量増加価格2.2222e179$ Qubitの量に応じて、Moneyの生産量増加価格4.04e1000$ Data_holder.exe Rebootの際、Baseとprogramの購入状況を引き継ぐ価格2e15$ Rebootの際、digitとNumberを引き継ぐ価格1.9970e80$ Rebootの際、Moneyを引き継ぐ - - Auto_Upgrader.exe shopアップグレードを自動的に購入する価格3.21e30$ - - - - Memory.exe 最初から所持(効果はModule参照) 有効なDigitを増やすとき、何もリセットされなくなる価格4.4444e70$ - - - CPUは何度でも購入可能であり、購入する毎に性能が2倍になる。しかし、その度にコストも上昇する。 Research 第1のリセットレイヤー。初期段階で解放されているが、実際にそれが出来るのはNumberがJJJJJJ以上にする必要がある。Rebootを行う事で、Number、Money、Program、CPUをリセットする代わりに、その時のNumberに応じて、Research Point(以後RPと表記)を獲得する。RPと、Moneyを使うことで、Researchを購入出来る。Researchを購入すると、時間経過でそのResearchのレベルが上がっていき、そのレベルに応じて、アップグレードを得る。複数回購入可能であり、その度にコストと、速度が上昇する。 名前 効果 初期価格 Bonus CPU Level CPUアップグレードを獲得する 1RP Multi process programを同時に機能出来るようになる 1RP 9e10$ Extra digit Numberの桁数を増やす 25RP 1e16$ Overclock Boost Overclock.exeの性能を2倍にする。ただし、durabilityの減少速度も増加する 3000RP 1e32$ Durability Speed Durabilityの減少速度を緩和する 4000RP 1e30$ Max Durability Durabilityの上限を増加する 1e6RP 1e76$ RP Gain RPの獲得量を2倍にする 1e8RP 1e80$ Reboot Cool Down Programが、Rebootから再度機能できるまでの時間を短縮する 1e9RP 1e90$ Overclock boost以降の5つは、ゲームを進めていくと解禁される。また、multi processをLv1にすると、Overclock.exeを獲得可能。CPUの性能を飛躍的に増加させるが、時間経過で減少するDurabilityによって、効果が弱体化していく。 Quantum 第2のリセットレイヤー。1e80$でタブが解禁される。一定のmoneyと、RPを獲得することでリセットできる。(初回は1e100$ 1e11RP)「Make a Quantum Lab」を行うことで、Number、Money、Program、CPU、RP、Researchをリセットする代わりに,Quantum lab(以後QLと表記)を手に入れることが出来る。QLは、Qubitを生産し、Qubitを使うことで、アップグレードを購入できる。また、Qubit1つにつき、CPUの性能が2倍になる。 Singularityの列、及び各列の7段目はAchievement「Mastered」を達成後に解禁される。 Base Research Quantum QoL Automate Keep Singularity CPU購入時の倍率が2倍→2.2倍になる価格2Qubit RP獲得量10倍価格2Qubit Qubitの生産速度100倍価格2Qubit 最初から「Multi Process」がLv2の状態になる価格1Qubit Processを自動的に購入する価格1Qubit Lv1までのProcessの購入状況を引き継ぐ価格22Qubit 所持QLに応じてGrid Machineを強化価格160Qubit Baseに応じて、Digitを増加価格8Qubit RPに応じて、RP獲得量増加価格8Qubit Baseに応じて、Quantumのに必要なMoneyとRPが減少(上限200)価格8Qubit ShopアップグレードとResearchを一括購入出来るようになる価格5Qubit Rebootを自動で行う価格4Qubit 全てのResearchをLv3まで引き継ぐ価格58Qubit Singularityからの経過時間に応じて、SP獲得量増加価格4500Qubit 「Bonus CPU level」の性能を2倍にする価格18Qubit Researchの性能を強化する価格18Qubit Qubitの数に応じて、Qubit生産速度増加価格18Qubit 「Reboot Cooldown」のレベルに応じて、RPを自動的に獲得する価格11Qubit 1行目のResearchを自動的に強化する価格10Qubit RPを引き継ぐ価格138Qubit 所持QLに応じてSP獲得量増加価格24000Qubit Quantum Labの数に応じてCPUの性能が強化価格32Qubit Quantumからの経過時間と、RPに応じて、Researchの速度増加価格32Qubit Numberに応じて、Qubit生産速度増加価格32Qubit Rebootのクールダウンを10分の1にする価格20Qubit 2行目のResearchを自動的に購入する価格17Qubit Programの購入状況を全て引き継ぐ価格262Qubit Challengeのクリア記録に応じてSP獲得量増加価格90000Qubit 有効でない桁(Gray Digits)の数に応じて、CPUの性能を強化Baseが2000以上なら、Digitに応じて、CPUの性能を強化価格48Qubit Researchの強化の要件にMoneyが無くなる価格48Qubit 購入したQuantumアップグレードの数に応じて、Qubit生産速度増加価格48Qubit Base_Increaser.exeは、可能な限り最大のBaseまで一気に上げれるようになるMemory.exeを1秒間に上げるNumberの数に応じて、強化Max digitが2000以上なら、Memory.exeはさらに強化価格30Qubit 3行目のResearchを自動的に購入する価格26Qubit Data_holder.exeの稼働状態を引き継ぐ価格408Qubit SPに応じてGrid Machineを強化?価格100000Qubit RPに応じて、CPUの性能を強化Quantumする際のRPの要件を0.5乗にする価格155Qubit Researchのレベルの合計に応じて、RP獲得量増加Quantumする際のMoneyの要件を0.5乗にする価格155Qubit Quantum Labを一括に獲得出来るようになるQuantum2行目のBaseの上限を1000に上げる価格155Qubit Qubitの生産に必要な時間が7分未満の場合は、即時にQubitを獲得する価格97Qubit Quantum Labを自動的に獲得する価格86Qubit Researchと、CPUアップグレードの購入状況を全て引き継ぐ価格587Qubit Processに応じてSP獲得量増加?価格170000Qubit SPに応じて、CPUの性能を強化価格1213Qubit Researchの性能をさらに強化価格1213Qubit Quantum2行目のアップグレードの上限を2000に上げる価格1213Qubit ?価格400Qubit 自動的にSingularityする価格4000Qubit SingularityしてもQuantum Lab、Qubit、アップグレードを維持する(チャレンジ開始時は無効)128SP取得の報酬としてのみ取得可 自動で得られるSP獲得スピードがSpeed Boostの影響を受けるようになる?(Infinity Upgradeでのみ取得可) Automate列のアップグレードは有効、無効を切り替えることが可能。また、Respecすることで、アップグレードをQubitに変換するが、その際Quantumと同様のリセットが行われる。 Base IV CPUの性能が{27^(Quantum Labの個数)}倍になる Base V CPUの性能が{30^(Gray Digitの個数)}倍になる Quantum III Qubit生産速度が{1.3^(Qubitの個数)}倍になる Quantum V Qubit生産量が{10^(Quantum Upgradeの個数)}倍になる Singularity 第3のリセットレイヤー。70Quantum Labでタブが解禁される。80Quatnum Labがリセットの要件であり、「Singularity」を押すことで、Number、Money、Program、CPU、RP、Research、Quantnum Lab、Qubit、Quantumアップグレードをリセットする代わりに、Singularity Power(以後SPと表記。)を獲得する。SPはMulti Processの上限、後述するGrid Machineを強化する。また、SPを一定値まで獲得することで、Quantnumアップグレードのkeep列のアップグレードを保持する。これで、保持されたアップグレードは、Singularityをしてもリセットされない。 Grid Machine Singularity後から使用可能になる。最初はMoney, Incrementer, Outputを1台ずつ持っている。これをGrid内に置くことで効果が発生する。ただし、それぞれ1 Processとカウントされるので、Processを上限まで起動しているときはそれ以上設置できない。 設置したいマシンをクリックで選択し、マスをクリックすることで設置できる。右クリックで撤去。マシン名を再度クリックすると選択解除。 設置後、マシンをクリックすることで向きを変えられる。Incrementer→Money→Outputのように向きを合わせる。 Challenge解放後は、同種のマシンの2台目以降が入手可能。同種のマシンは同じマスに複数重ねて設置できる。 Challenge 2SPで解放。 制限された状況で指定個数のQuantum Lab(QL)を作成することが目標。達成するとそのChallengeの種類に応じたGrid Machine、及び1SPを獲得。 また、一定数達成するとGrid MachineのGridが一つ解放される。 Challengeはクリアするたびに難易度が上昇する。 名前 制限 難易度 必要QL数 Base Challenge BaseがGrid以外の方法で50以上に上げられなくなる 1 1 2 2 3 5 4 10 5 17 6 26 7 42 8 68 9 107 10 165 Digit Challenge DigitがGrid以外の方法で20以上に上げられなくなる 1 1 2 2 3 5 4 10 5 17 6 26 7 42 8 68 9 107 10 165 Money Challenge CPUアップグレードの効果が0.75乗される 1 2 2 4 3 6 4 8 5 12 6 15 7 19 8 25 9 32 RP Challenge Quantum Upgradeのコストが2倍 1 3 2 6 3 12 4 18 5 27 6 36 7 56 8 84 9 125 10 186 R.Speed Challenge Researchの効果が減少 1 10 2 11 3 14 4 19 5 26 6 35 7 53 8 81 9 124 10 187 Speed Challenge Research「Durability Speed」と「Max Durability」が使用不可 1 50 2 60 3 70 4 80 5 90 6 100 7 132 8 233 9 308 Qubit Challenge Quantumの要件が削減できなくなる 1 73 2 84 3 97 4 112 5 129 6 148 7 207 8 292 9 413 10 587 Booster Challenge 上記すべての条件が適用 1 202 Infinity 第4のリセットレイヤー。1ee16?で自動でリセットされる?Infinityまでの時間でInfinity Point(以後IPと表記。)を獲得する。所持IPの10%を消費し獲得Money、RP、Qubit、SP、IPを増加することができるほかアップグレードを購入することができる 効果 価格 Inninity回数に応じたSPを所持してスタートする 2IP Programが自動で起動するようになり、Durabilityが減少しなくなる 8IP Challengeのクリア記録を保持する 32IP Singularity VIIを無償化する 128IP Challengeのクリア状況を保持する 512IP processを250追加で得る 2048IP Grid Machineの配置を保持する 8192IP コメント Grid MachineとChallengeの記述がどこにもねぇ (2021-08-13 12 01 57) Quantamあたりは頑張ってlab7つ建てた後は放置時間中はQuantam1,3,4でQubitを稼いでいじれるときはResearch5とかを利用して速攻で研究進めるといい (2021-08-15 13 10 46) LAB6が遠い・・・ (2021-08-26 16 27 29) 連投失礼 (2021-08-26 16 27 42) これもしかしてQuantumの組合せで伸びる系か? (2021-08-26 16 28 16) QubitはRespecの繰り返しで伸ばしていく感じなのね (2021-08-27 08 49 20) Lab建てはBase1,3とかResearch2とかが強い、Qubit溜まったらResearch5を積んで加速できる 最下段はResearch6を所得するのが推奨 (2021-08-27 17 50 54) Qubit生産はQuantum1,3,4,5が生産強化、順番通りに取るといい (2021-08-27 17 51 50) https //www.reddit.com/r/incremental_games/comments/lpbaby/stuck_in_calculator_evolution_quantum_lab_7/ (2021-08-27 21 05 46) ↑labの手順 (2021-08-27 21 06 09) challengeをbooster以外コンプしたがinfinityいけねえ・・・ちなみにboosterはQL100から動かないから放置 (2021-08-31 02 02 22) とりあえずAchieve最下段5つ以外全部取る それ出来てるならしらん (2021-09-01 13 04 11) 80Labが遠いのはロングラン前提かな?放置しかすることがないから気長に待つしか無いが (2021-09-02 11 09 09) 600LabとかQubit challengeとか届く気が全くしないんだけどGridの配置のコツある?ちなみにMerger所得済 (2021-09-06 18 37 03) 可能ならばoutputとmerger横に並べてincrementer含む各種を周りに一つずつ配置+incrementerはmergerに向かって全部つなげるって感じかな。こうすると、mergerに隣接する奴は全部incrementer効果が入る (2021-09-06 21 13 12) はえー4つまで同時にブーストできるのか (2021-09-07 00 13 59) Gridが全く理解出来てないんだけど、incrementerをMoneyに向けたら増えたってことはこれでいいのかな?Outputの効果がよく分からない (2021-09-07 09 48 08) Outputにつなげないと効果でないよ (2021-09-07 12 30 47) あーなるほど。つまりMoneyの矢印をアウトプットして初めて意味があるのか。 (2021-09-07 13 28 05) incrementer多数配置でどうやったら最大になるんだろう (2021-09-07 20 38 22) lab7で詰まったQuantum1,3,4でしばらく放置しないと次のlabは取れないか (2021-09-09 18 34 41) lab33,qubit430で詰まった。助けて欲しい (2021-09-09 21 36 22) 詰まった人はredditのリンク先を参考にすれば突破できる (2021-09-09 22 15 26) おお!いけた!! (2021-09-10 18 01 25) スプレッドシートでやたらとQuantumの2が推されているけど何か特殊な効果がある?lab増やす時には必要ないはずだよね (2021-09-12 06 43 34) Quantum2はLabに必要なMoneyとRPw (2021-09-12 11 03 32) MoneyとRPを減らせるで (2021-09-12 11 03 59) http //imepic.jp/20210911/821490 某ゲーム紹介サイトに載ってたGridの配置 (2021-09-12 11 09 27) ブーストチャレンジ以外終わらせたけど、ブーストチャレンジが厳しい (2021-09-12 12 29 28) challengeの目標入れてくれたのはありがたいんだけどAchievementで減った分2つも考慮してほしかったんだ (2021-09-14 16 53 04) gridさっぱりわからん、画像見たい (2021-10-30 14 52 28) https //i.imgur.com/BMXeaLs.jpg (2021-11-30 16 52 28) 基本こんな感じで使うのはBase、Digit、Qubitをつけかえるだけ。併用はしないで1種類で使う (2021-11-30 16 54 10) Bosterすげぇ (2023-02-02 06 35 26) Infinityに全然到達でけん…助けてくれ… いま3672LabでチャレンジはBooster以外全部終わってて、Gridの配置は↑↑↑まんま(Increがもっと長く伸びてるけど) QuantumはSing6と7以外全部取ってる。これでSPが7e21くらいからびくともせん。いつになったらInfinityできるんだ… (2023-04-07 22 37 40) singの列は「SPを増やす」(2,3,4,6)と「グリッドを強化する」(1,5)に分かれてるから一回sing6取ってSP貯めてみよう (2023-05-23 22 19 28) redditのやつデータ古いのかな?5分でQuantumできる所で1時間以上かけてQubit稼げって書いてある (2023-07-10 09 36 47) next Qubitが20分あたりになった時点で一回Quantum挑戦するのが良さそう (2023-07-10 09 38 59) https //docs.google.com/spreadsheets/d/1HY9sB4Hzp4ul3yhMyc8f5gTqg6ic06D6asuQQvMgwYQ/edit#gid=1790664378 抜粋 (2023-11-08 11 37 31) コメント
https://w.atwiki.jp/yumemi_anex/pages/21.html
/きゃ オキュレイト/ [動] 計算する 思う ゅめみ「徹子、2たす3はいくつかわかるか 」 徹子「two...three...」 ゅめみ「そうか おまえは3つまでしか数が数えられなんだんぢゃったの 」 徹子「no...」 ゅめみ「気にするな 人間は計算できなくては生活が立ち行かぬが、おまえは、わらわがおるから大丈夫ぢゃ ちなみに、計算することをキャルキュレイトという」 徹子「cal...calcan...」 ゅめみ「カル缶ではない 『軽くレートを計算する』と覚えればよかろう。駄洒落ぢゃがの 」 徹子「cal...calculate...」 ゅめみ「そうぢゃ キャルキュレイトは、生活費や時間などを計算するほかに、あることを「こうじゃないか」と推測する意味に使ったり、日本語で『意図を計算する』とか言うのと同じように、比ゆの意味で使ったりする。 人間というのは、いろいろややこしい生き物ぢゃ 」 徹子「calculate...」 ゅめみ「おまえは、計算なしで生きるがよい わらわも、ほとんど計算などしておらぬわい 」 ※ ちなみに、レート rate の「レ」はRです a calculating machine(計算機) □[~を] calculate the cost (コストを計算する) calculate the total world population (世界の総人口を計算する) calculate one s body fat percentage (体脂肪率を計算する) ~how long、~how much などがよく続きます。「どれくらい~かを計算する」という意味になります。 Calculate how much money you will need. (どれくらい自分にお金が必要になるか [を] 計算しなさい) She calculated how long it would take to cook a turkey. (彼女は、七面鳥を調理するのにどれくらい時間がかかることになるかを計算した) □[~と] that 節を使って、「~と推測する」という言い方ができます。 He calculated (that) the plan wouldn t work well. (彼は、その計画はうまくいかないだろうと推測した [=思った])
https://w.atwiki.jp/yoshiumi41/pages/47.html
public class Calculator { public static int divide(int x, int y) throws IllegalInputException {try {return x / y;} catch (ArithmeticException e) {throw new IllegalInputException(e);}}}
https://w.atwiki.jp/smashsp_kensyou/pages/84.html
Smash Ultimate Calculator は、ふっとばし力、ふっとび速度、ふっとびの軌道などを計算できるWebツールである。 開発者:Ruben ( @Ruben_dal ) 計算設定Characters Character attributes Attack Target modifiers Share Parameters ResultsDamage Knockback Shield Visualizer コメント 計算設定 Characters ファイターを選ぶ。 Attacker/Target 攻撃側・防御側のファイターを選択する。 一部ファイター(シュルク、WiiFitトレーナーなど)は自身のステータス変化も設定できる。 ダメージ% 攻撃が当たる前の蓄積% を入力する。小数第6位まで入力可能。(*1) 多段ワザのふっとばし力を計算するときは、最終段ヒット直前の蓄積%を入力する。 自分の蓄積%を入力すれば、ほかほか補正を考慮したふっとばし力が計算される。 1v1 チェックを入れると、1on1補正を考慮してダメージが計算される。 ふっとばし力の計算には寄与しない。 Character attributes 攻撃側・防御側の詳細なパラメータを設定できる。 Charactersタブでファイターを選ぶと自動でパラメータが入力されるため、普通に使う分には何もいじらなくてよい。 攻撃側 Damage dealt:与ダメージ倍率 KB dealt:与ふっとばし力倍率 防御側 Damage taken:被ダメージ倍率 KB received:被ふっとばし倍率 Weight:体重 Gravity:重力値 Fall speed:最高落下速度 DamageFlyTop Gravity:ふっとび専用重力値 DamageFlyTop Fall speed:ふっとび専用落下速度 Traction:地上抵抗 重力値・落下速度などは、ふっとびの軌道の計算に影響を及ぼす(参考:ふっとび速度)。 Attack 攻撃ワザの設定。 Attack Attackerに選んだファイターのワザの攻撃判定がリスト表示される。 本当て・カス当てのあるワザや多段ワザなど、攻撃判定が複数あるワザはどれか一つの攻撃判定を選択する。 Hitbox番号は、HitboxIDの若い順である。 ワザを選択すると、ダメージ・角度・リアクション値などのパラメータが自動入力される。 ただし現状では、ワザパラメータの自動入力が正常に機能するファイターは多くない。 自動入力ができないファイターは、 Smash Ultimate Data Viewer などを参考に パラメータを手動入力 する必要がある。 例1:右に「Smash 4 move data」と表示が出るファイターは、forのワザパラメータが自動入力される。 例2:新規ファイターで「Loading...」と表示されたままのファイターは、自動入力非対応。 ワザパラメータ Damage:基礎ダメージ。1on1、小ジャンプ攻撃などの倍率は考慮しない Frames charged:スマッシュホールドフレーム。スマッシュ攻撃でのみ設定可能 Hitlag:ヒットストップ倍率 Angle:角度 BKB:リアクション付加値 FKB:リアクション固定値 KBG:リアクション影響値 Shield Damage:シールド削り値 Shield stun:ガード硬直倍率 Add. Hitstun:追加ふっとび硬直フレーム Effect:属性。電撃、氷結、眠り、埋め、ふらふら、しびれ、お花、かなしばりが設定可能 Hit frame:攻撃発生 FAF:全体フレーム+1 <空中攻撃のみの設定> 空中攻撃の有利/不利フレーム計算に、全体フレーム・着地隙のどちらを用いるかを設定できる。 Use move FAF:全体フレームを用いる Use move landing lag:ワザの着地隙を用いる Use move autocancel:通常着地隙を用いる(*2) landing lag/autocancelを選択すると、FAFの代わりにLanding frame(ファイターが着地するフレーム)を設定できるようになる。 OP相殺 Staleness Queue:OP相殺キュー Hit shield:シールドで防がれたかどうか。Staleness QueueとHit shieldの両方の該当キューにチェックを入れる Full queue:すべてのキューにチェック Empty queue:チェックをリセット 攻撃の種類・条件 Smash attack:スマッシュ攻撃。ガード硬直倍率、Frames chargedの有無に影響 Aerial move:空中攻撃。ガード硬直倍率に影響 Shorthop aerial:小ジャンプ空中攻撃補正 Projectile:飛び道具。ガード硬直倍率、有利フレームに影響 Target in air:防御側が空中にいる。361°ワザなどに影響 Windbox/Flinchless:風判定。ふっとび硬直がなくなる Ignores staleness/rage:OP相殺・ほかほか補正を無視。トレモでの計算の時はチェックを入れる Set weight:重量固定ワザ Target modifiers ベクトル変更、ふっとび率、ジャスガの設定。 ベクトル変更 Input:簡易設定。無変更(デフォルト)もしくは上下左右変更が選べる。 Stick position:詳細設定。スティックのX・Y入力値またはスティック角度を設定できる。 スティックの絵をドラッグして設定することも可能。 Launch Rate ふっとばし力倍率。ルール設定の「ふっとび率」に対応。 Shield 対シールドの有利不利計算に影響。 Normal shield:通常シールド Perfect shield:ジャストシールド KB modifiers ゲーム中でふっとび率が増減する状況の設定。 None:なし Crouch cancel:しゃがみ状態 Buried:埋め状態 Share 以上の計算設定を反映したURLを取得できる。 Parameters ふっとび計算などに関係するパラメータを手動設定できる。 普通に使う分には何もいじらなくてよい。 Results 計算結果。一部の項目は特定の計算設定・状況下でのみ出現する。 Damage Freshness bonus/Stale-move negation:OPボーナス/OP相殺倍率 1v1 Damage increase:1on1補正 Short hop aerial:小ジャンプ空中攻撃補正 Charged Smash:スマッシュホールドダメージ倍率 Damage :攻撃ダメージ。攻撃力補正を考慮 Target's %:攻撃後の相手の蓄積% Attacker Hitlag:攻撃側のヒットストップ Target Hitlag:防御側のヒットストップ Knockback KB modifier/KB received:ふっとばし力倍率 Rage:ほかほか補正 Total KB:ふっとばし力 Launch angle:実際のふっとび角度。ベクトル変更、重力補正を考慮 Freeze timeなど:氷結、眠りなどの拘束時間 Hitstun :ふっとび硬直。Hitstunが30F以上の時、実際の硬直時間はHitstun with speed upで表示 First Actionable Frame:Hitstun +1 Hitstun with speed up:ふっとび加速演出がかかったときの実際のふっとび硬直時間 FAF with speed up:Hitstun with speed up +1 Airdodge hitstun cancel:ふっとび硬直キャンセル回避をしたときのふっとび硬直 Tumble:倒れふっとびかどうか Reeling:きりもみふっとびになる確率 Can Jab lock:ダウン連対応かどうか LSI:速度変更倍率 Horizontal Launch Speed:X方向ふっとび初速 Gravity boost:重力補正 Vertical Launch Speed:Y方向ふっとび初速。重力補正込み Launch Speed:ふっとび初速 Hit Advantage:攻撃を当てた時の有利フレーム Shield Shield Damage:相手のシールドに与えるダメージ Shield Break:一発でシールドを割ることができるか Shield Hitlag:ガードストップ Shield stun multiplier:ガード硬直倍率 Shield stun:ガード硬直 Shield Advantage:ガード硬直差。正→攻撃側有利、負→攻撃側不利 Attacker shield pushback:攻撃側の押し出し初速 Target shield pushback:防御側の押し出し初速 Visualizer ベクトル変更などを考慮したふっとびの軌道 を表示する。 ふっとび始めは青、最高点到達後は赤、ふっとび硬直終了後は橙で軌跡が表示される。 2019/6現在、以下の不具合がある。 ふっとび1F目のふっとび減衰が考慮されていない。 ふっとび加速演出発生下において、ファイター座標が仮想ふっとび時間を整数値に直したときの値で表示される。 設定 Stage:ステージ選択 Set position on spawn:ふっとび始めの位置を、ステージ中央・1~8Pの初期位置から選択。 Target position when hit:ふっとび始めのX/Y座標を数値で指定 Target hit from right side:攻撃を右側から受けた場合の軌道を表示(デフォルトでは左から) Display additional actionable frames:ふっとび硬直終了の何F後まで表示するかを設定。 コメント おまんこですかね? -- 名無しさん (2020-11-03 17 45 58) 途中送信しちゃいました。それともw.atwiki.jp/smashsp_kensyou/pages/70.htmlにある合計シールド削り量の計算式のshield damageがこれに当たるんでしょうか? -- 名無しさん (2020-11-03 17 47 55) 名前 コメント
https://w.atwiki.jp/fsharpmaster/pages/15.html
もう一山登るぞcalculatorActions展開編 Add関数の正体が分かったところで、残ったcalculatorActionsの征服にかかりましょう。「Programming F#」ではもう少し式が加えられていますが、何行並んでいても本質的には同じなので、returnを入れて3行の式とします。これをVisualStudioに載せてコンパイルが通り、 let res, stat = Run calculatorActions (0, []) の実行結果を確認するところから始めましょう。 let calculatorActions = state { do! Add 2 do! Multiply 3 return "完了!" } 1.Add、Multiplyの展開 まず小手調べに、AddとMultiplyを「Add展開編」で出来上がった最後の式を使い展開します。 let calculatorActions = state { do! StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, (sprintf "%dを加算" 2) history)) do! StatefulFunc(fun (currentTotal, history) - (), (currentTotal * 3, (sprintf "%dを積算" 3) history)) return "完了!" } ついでに、行の横幅が若干短くなるので、sprintfも適用してしまいましょう。 let calculatorActions = state { do! StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history)) do! StatefulFunc(fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history)) return "完了!" } 2.ワークフロー展開 どんどん進めましょう。次は、do!やreturnをstate.Bindやstate.Returnに置き換えていく作業です。変換ルールは以下のようなものでしたね。 return exp ⇒ b.Return(exp) do! expr in expr2 ⇒ b.Bind(expr, fun() - expr2) この変換を施したものが下のソースです。次の変換が楽になるよう、Bindの二つの引数は字下げしてその下に縦に並べるようにしました。 let calculatorActions = state.Bind( StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history)), (fun () - state.Bind( StatefulFunc(fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history)), (fun () - state.Return("完了!")) ) ) ) ここまでできたら、実行して動きが変わらないことを確認してください。 3.ワークフロー定義展開 さて、後半のヤマ場です。ここで式の大きさが最大になります。 まずstate.Returnの展開から手をつけましょう。 member this.Return(x a) = StatefulFunc(fun initialState - x, initialState) ですから、xは"完了"という文字列になりますね。 let calculatorActions = state.Bind( StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history)), (fun () - state.Bind( StatefulFunc(fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history)), (fun () - StatefulFunc(fun initialState - "完了!", initialState)) ) ) ) 次に、内側のstate.Bindを展開します。Bindの定義は以下のようなものでした。 member this.Bind( result StatefulFunc state, a , restOfComputation a - StatefulFunc state, b ) = StatefulFunc(fun initialState - let result, updatedState = Run result initialState Run (restOfComputation result) updatedState ) Bindの二つの引数を、StatefulFuncの中のresult(1行目の後ろに出てくる方)とrestOfComputationの代わりに置き換える作業を注意深く行います。 let calculatorActions = state.Bind( StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history)), (fun () - StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history))) initialState Run ((fun () - StatefulFunc(fun initialState - "完了!", initialState)) result) updatedState ) ) ) 横に長くなったので、行の途中に改行を入れました。 さらに、最初のstate.Bindを置き換えます。 let calculatorActions = StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history))) initialState Run ( (fun () - StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history))) initialState Run ((fun () - StatefulFunc(fun initialState - "完了!", initialState)) result) updatedState ) ) result ) updatedState ) 横幅を詰めるため改行を入れていますが、関数の構造を見失わないように注意してください。 これで、StateBuilderとはオサラバです。 4.戻りは下り坂を駆け下りるように簡約(1段目) ここで使用できる簡約のテクニックは、Add展開編で使用したものと全く同じです。簡約も内側から、前からが基本ですので、一番内側のStatefulFuncの1行目、"3を積算"がある行のRunをはずすところから始めます。 let calculatorActions = StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history))) initialState Run ( (fun () - StatefulFunc(fun initialState - let result, updatedState = (fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history)) initialState Run ((fun () - StatefulFunc(fun initialState - "完了!", initialState)) result) updatedState ) ) result ) updatedState ) ここまで進めると、その行のinitialStateは(currentTotal, history)という何かのタプルであることがはっきりするので、仮引数のinitialStateもろとも(currentTotal, history)で置き換えられます。 let calculatorActions = StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history))) initialState Run ( (fun () - StatefulFunc(fun (currentTotal, history) - let result, updatedState = (fun (currentTotal, history) - (), (currentTotal * 3, "3を積算" history)) (currentTotal, history) Run ((fun () - StatefulFunc(fun initialState - "完了!", initialState)) result) updatedState ) ) result ) updatedState ) ちなみに、このように、仮引数もろとも束縛変数の名前を都合のいい名前に一気に置き換えてしまうことを「α-変換(アルファへんかん)」と言います。文系の大学行ってた僕は、なんかこの響きを「かっこいい・・(萌)」などと感じてしまうのですが、同時に世代的にどうしても「ドラエ問題」を思い出してしまいます。蛇足ですが。 こうして名前を変えた(currentTotal, history)(元initialState)を、その前の関数に適用します。同じ名前の変数を適用しているので、中身を変える必要はありません。 let calculatorActions = StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history))) initialState Run ( (fun () - StatefulFunc(fun (currentTotal, history) - let result, updatedState = (), (currentTotal * 3, "3を積算" history) Run ((fun () - StatefulFunc(fun initialState - "完了!", initialState)) result) updatedState ) ) result ) updatedState ) もう一つ、関数を特定の値に適用して式を整理することを「β-簡約(ベータかんやく)」と言います(萌)。こんな当たり前のことにわざわざこんな小難しい名前がついているのは、α-変換とβ-簡約の二つでほとんどの式変形ができてしまうからなのですが、その辺の理屈は「ラムダ計算」というキーワードで色々調べてみてください。 さて、今のβ-簡約でその行の右にあったresult、updateStateが何であるかが分かりましたので、それを2行目のresult、updatedStateと置き換えます。 let calculatorActions = StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history))) initialState Run ( (fun () - StatefulFunc(fun (currentTotal, history) - Run ( (fun () - StatefulFunc(fun initialState - "完了!", initialState)) () ) (currentTotal * 3, "3を積算" history) ) ) result ) updatedState ) 2行目のfun ()を()に適用したのち、RunでStatefulFuncの中身を取り出して元updatedStateだった値に適用するところまで一気にいきます。 let calculatorActions = StatefulFunc(fun initialState - let result, updatedState = Run (StatefulFunc(fun (currentTotal, history) - (), (currentTotal + 2, "2を加算" history))) initialState Run ( (fun () - StatefulFunc(fun (currentTotal, history) - "完了!", (currentTotal * 3, "3を積算" history)) ) result ) updatedState ) 5.そろそろフィニッシュ(2段目) 同じような「Run適用(実は端折ってますがこれはRunの展開+β-簡約です)⇒α-変換(currentTotal, history)⇒β-簡約」の操作は、"2を加算"の行にもできます。もうあんまり頭を使わなくなってきませんか?そもそもこれはコンピュータがやっている作業ですので、機械的な作業になるのは当たり前なのです。 let calculatorActions = StatefulFunc(fun (currentTotal, history) - let result, updatedState = (), (currentTotal + 2, "2を加算" history) Run ( (fun () - StatefulFunc(fun (currentTotal, history) - "完了!", (currentTotal * 3, "3を積算" history)) ) result ) updatedState ) これによってまたresultとupdatedStateが確定しましたので、後に出てくるresultとupdatedStateを置き換えます。 let calculatorActions = StatefulFunc(fun (currentTotal, history) - Run ( (fun () - StatefulFunc(fun (currentTotal, history) - "完了!", (currentTotal * 3, "3を積算" history)) ) () ) (currentTotal + 2, "2を加算" history) ) fun ()- の関数をβ-簡約します。2行削除するだけです。 let calculatorActions = StatefulFunc(fun (currentTotal, history) - Run ( StatefulFunc(fun (currentTotal, history) - "完了!", (currentTotal * 3, "3を積算" history)) ) (currentTotal + 2, "2を加算" history) ) Runを展開してβ-簡約します。 let calculatorActions = StatefulFunc(fun (currentTotal, history) - (fun (currentTotal, history) - "完了!", (currentTotal * 3, "3を積算" history) ) (currentTotal + 2, "2を加算" history) ) 勢いよく走っていたのにここで止めたのは、ちょっと注意が必要だからです。残った式にはcurrentTotal、historyという変数が出てきていますが、2行目のfunの束縛変数である(currentTotal, history)と、3行目のfunの束縛変数(currentTotal, history)とは別物ですのでごっちゃにしないようにしてください。必要はないのですが、違いが分かりやすいように一度α-変換(萌)をしておきましょう。 let calculatorActions = StatefulFunc(fun (currentTotal, history) - (fun (currentTotal2, history2) - "完了!", (currentTotal2 * 3, "3を積算" history2) ) (currentTotal + 2, "2を加算" history) ) 内側の束縛変数の名前を変えました。これでもう混ざりませんね。最後のβ-簡約をしましょう。 let calculatorActions = StatefulFunc(fun (currentTotal, history) - "完了!", ((currentTotal + 2) * 3, "3を積算" ("2を加算" history))) お疲れ様でした。これがcalculatorActionsの正体です。 6.実行 サンプルプログラムの実行では、以下のようなコードを実行していました。 let res, stat = Run calculatorActions (0, []) もうわかると思いますが、これは先ほどできた式を使ってこのように展開されます。 let res, stat = Run ( StatefulFunc(fun (currentTotal, history) - "完了!", ((currentTotal + 2) * 3, "3を積算" ("2を加算" history))) ) (0, []) ここからRunとStatefulFunをはずします。 let res, stat = (fun (currentTotal, history) - "完了!", ((currentTotal + 2) * 3, "3を積算" ("2を加算" history))) (0, []) β-簡約します。 let res, stat = "完了!", ((0 + 2) * 3, "3を積算" ("2を加算" [])) どのように実行結果が確定したかが、ここからそのまま読み取れると思います。 val stat int * string list = (6, ["3を積算"; "2を加算"]) val res string = "完了!" 7.結局StateBuilderとは何なのか このような面倒な式変形の結果、劇的にソースが短くなるなら、「最初からそう書けばいいじゃないか」という気持ちが沸々と湧き上がってくるかもしれません。僕は少なくとも最初そんな風に感じていました。 ワークフローのルールに従って簡単だった式を一度煩雑な式に展開したあと、それをわざわざまた簡約して、それなら最初から簡約したものを書いておけば済むことです。なぜそうしないでワークフローを使うのでしょうか。 プログラムソースの清濁分離 一つの目的は、ソースから見かけ上煩雑な処理を振るいにかけ、本質的なことだけを記述できるようにすることです。通常プログラムには、業務のために行っていることと、そのコンピュータ自身が業務を続けるために行っていることがあり、多くの場合その両方が交互に出てきます。業務処理とエラー処理などがそれにあたります。こうしたプログラムでは、大切な業務処理が、ひどいときはそれよりずっと長いエラー処理のコードの隙間に入っているような状態になり、本質的な処理を見抜きにくいプログラムになりがちです。ワークフローは、そのような本質的な処理の間に混じる瑣末な汚れ仕事をビルダークラスの中に閉じ込めてしまうことができます。こうすることで、業務を記述する人は、業務内容をすっきりとソースに記述できるようになるのです。このあたりは、オブジェクト指向のフレームワークと似たところがありますが、そのような要求に対し、ワークフローは異なるアプローチを提供していると考えていいと思います。 そもそもそれはコンピュータの仕事だ 関数型言語では、上でやっているような関数の適用と簡約こそが「演算」そのものであって、それを人間でなくコンピュータにやらせるのは自然なことです。それなのに、多少処理が早いなどといった理由で「前もって人間が展開した式を書いておけばよい」というのは、ソースの中の「PI * 2」という記述を6.28...とわざわざ人間が計算した値を書いておいたほうがいいという主張と同じです。ソースの書き方で実行速度が変わるのは事実ですが、そもそも人間にとって分かりやすく書かれたものを、翻訳の手間をかけて実行するのはコンピュータの仕事ですし、それに耐えるだけの性能を今のコンピュータは十分持っているのです。犬ぞりを人間が押してやることに意味はあるかもしれませんが、ガソリンの入ったフェラーリは乗って運転してこそ意味を発揮するのです。 実行順の保障 StatefulFuncのような関数ではあまり恩恵を感じませんが、ワークフローというのはその名前の通り、実行順を保障する重要な機能があります。展開の途中で(fun () - ~)という関数をunit値()に適用する処理がありましたが、一見意味のなさそうなこういう処理が、プログラムの実行順を保障してくれています。 ワークフロー(モナド)とどう付き合っていくか 人が書いたワークフローの動きを追っていくだけでもこれほど大変なのですから、自分でビルダークラスを書き、その上で動く関数を設計して業務を記述できるよううになるところまで行くことはなかなか並大抵ではなさそうです。 ただ一つ言える事は、これからもし関数型言語が普及していくなら、プログラマには「自分でワークフロー(モナド)が設計できる」プログラマと「人が作ったワークフローを使うだけ」のプログラマに分かれていくことになります。オブジェクト指向言語で言うなら、フレームワークを作れるプログラマと、フレームワークを使うだけのプログラマの違いです。 どうせ今関数型言語を勉強するなら、ワークフロー(モナド)が設計できるプログラマを目指すべきではないかと思うのです。 (文責:片山 功士 2011/12/29) 今日: - 人 昨日: - 人 トータル: - 人
https://w.atwiki.jp/kojiro/pages/401.html
CALCULATION
https://w.atwiki.jp/shutaro47/pages/84.html
基礎理論のための参考資料②:Calculation Gas SPectra(www.spectralcalc.com)の翻訳ノート 英語の翻訳はあまり自信がないが、専門用語の関係を明確にしておくための単なるノートである。 NASAを中心として利用されている大気関連分子の吸収・発光スペクトルを計算して表示する有料サイトの解説の一つである。基本的なことからいくらか専門的なことに踏み込んで、利用者の理解の一助となっている。HITRAN2012とGEISA2003データベースを利用することができる。 Calculation of molecular spectra with Spectral Calculator Understanding observed spectra is the foundation of remote sensing, and more often than not, gas spectra play a significant role. We describe here the methods used by the Spectral Calculator (www.spectralcalc.com) to compute the spectra of molecular gases.These are presented with some brief justification, but mostly without detailed derivations.Gordley et al. (1994) described in detail the LinePakTMalgorithms that are used for these calculations. The LinePakTMcalculations have been extensively compared to other LBL rotational-vibrational calculations (e.g. Gordley 1994, and Kratz 2005). The LinePakTMlibrary has served as the radiative transfer calculation engine in the data processing systems for the satellite sensors HALOE and CLAES (on the UARS satellite), SABER (on the TIMED satellite), and SOFIE (on the AIM satellite) The goal here is simply to give users the background needed to correctly apply and interpret the results from the Spectral Calculator. 観測されているスペクトルを理解することがリモートセンシングの出発点であり、多くの場合、ガススペクトルは重要な役割を果たす。ここでは、分子性ガスのスペクトルを計算するSpectral Calculator (www.spectralcalc.com)が使っているいくつかの方法を説明する。いくつかの簡単な正当性を示す根拠を示しながら解説を行っているが、ほとんどの場合、詳細な式の導出は行っていない。LinePakTMアルゴリズムはGordley et al. (1994) らによる詳しい解説があるが、ここでの計算に使われている。LinePakTM計算は、他のLBL(line-by-line)回転-振動計算と詳細にわたり比較調査されている (e.g. Gordley 1994, and Kratz 2005)。LinePakTMライブラリは、衛星センサHALOEやCLAES(UARS衛星)、SABER(TIMED衛星)そしてSOFIE(AIM衛星)のためのデータ処理システムにおける放射伝達計算のエンジンとして使われている。ここでの目的は、Spectral Calculatorの結果を正しく適用したり解釈したりするための基礎知識を利用者に提供することである。 Line-by-line models Molecules absorb and emit radiation only at certain discrete frequencies or wavenumbers,corresponding to allowable changes in their quantum energy levels. This produces a unique spectrum for each gas species. To begin a discussion of modeling molecular spectra, it’s useful to define several quantities 分子は、量子エネルギー準位間の許容変化に対応するある決まった周波数もしくは波数の光を吸収したり放射したりする。この過程はそれぞれのガス種に固有の異なるスペクトルを与える。分子スペクトルのモデリング(理論や計算のモデルを作ること)の議論を始める前に、いくつかの量を定義しておくことは有用である。 ν wavenumber (cm-1) 波数 number of waves per cm.ν=f/c=104/λ where f= frequency (Hz), c= speed of light (cm/s), and λ= wavelength (μm). τν transmittance 透過度 = 透過光/入射光 = It/ I0 ratio of transmitted radiance to incident radiance at wavenumber v εν emissivity 射出率 = 発光強度/黒体の発光強度 ratio of emitted radiance at v to the radiance emitted by a blackbody at the same temperature αν absorptivity 吸収率 = 1 - 透過度τν (= (I0-It) / I0) fraction of incident radiance at v that is absorbed (We adopt the convention of using a subscript ν to indicate quantities that have spectral dependence.) Kirchhoff s law equates the absorptivity to emissivity at each wavenumber. Further, in the absence of scattering or reflections, the absorptivity is the compliment of the transmittance αν= εν = 1 -τν Eq.1 (スペクトル依存性を持つ量を示すため、添え字νを使用するという慣例を採用している。)キルヒホッフの法則は、それぞれの波数において吸収率と射出率が等しいとしている。さらに、散乱や反射がないという前提で、吸収率は透過度の補完になっている。(注:complementのミススペル:補うもの、補完するもの、補数、補集合などの意) 図1.透過スペクトルの例。赤い線は0.1気圧CO2350ppmvにおける10㎝光路のシミュレートされたスペクトルである。差込み図は、一つの吸収線を拡大表示したものであり、線の形が明瞭にわかる。それぞれの線の位置、深さ、形は、分子の量子力学的性質と圧力、温度、ガスの濃度から決定される。668cm-1の強烈な吸収の描像は、実際、多くの重なりあった吸収線の重ね合わせとなっている。これは、Qブランチと言われ、量子角運動量が不変で遷移するグループである。量子角運動量が1量子数減少もしくは増加する遷移は、Qブランチの左と右に吸収線群の包絡線状的かたまり(envelope)を作り出し、それぞれPおよびRブランチと呼ばれる。 (この辺から英文は割愛しようと思う。また、図や表も原文を直接参照して欲しい。) さてここで、一つの均一ガスの透過スペクトルの計算を見てみることにする。図1はCO2の透過スペクトルの例である。吸収線は透過スペクトルの中ではくぼみとして現れる。それぞれの線はある幅と深さがあり、ある特定の波数を中心にしている。線の位置と形は、分子の量子力学的性質によって決まり、温度や圧力といったマクロ的条件の影響を受ける。スペクトルは最初の原理から計算して求めることができるが、しかし、ほとんどの応用において、この方法で達成された精度は不十分である。そのかわり、様々な実験室での多様な条件において測定されたスペクトルを再現するようにフィットする線のパラメータを導入している。それぞれの吸収線は、それゆえ、いくつかのパラメータのセットになっている(Table2参照)。これらのパラメータから、吸収線はどのような圧力、温度、ガス濃度においても形成することができる。吸収線のグループに対する線パラメータの収集はline listと呼ばれている。HITRANは、おそらく、大気応用において最も包括的な共通に利用されているline listである。(Rothman, et al., 2008) あるスペクトル領域における混合ガスの透過スペクトルをシミュレートするためには、それぞれのガスの吸収線を計算しなければならない。線の中心がスペクトル領域の外であっても、その翼が領域内にあれば内包しなければならない。完全なスペクトルは、実際、個々の吸収線スペクトルの積算した結果である。このように個々の吸収線のスペクトルを足し合わせて積み重ねることにより分子スペクトルをシミュレートするアルゴリズムのことをline-by-lineモデルと呼び、利用可能なものの中で最も正確な分子吸収の予測を与える。我がSpectral Calculator(社)が使用しているline-by-lineモデルはLinePakTMlibrary(Gordle, et al,. 1994)である。NASAや他の世界的研究機関は、衛星計画や大気リモートセンシングプロジェクトにおいて、LinePakTMソフトウェアに依存している。 分子吸収以外に、大気中の光の強度を減少させる他の相互作用があるということは認識しておかなければならない。いくつかの重要な効果は、小粒子(エアロゾル)による散乱、分子散乱(レイリー散乱)、連続吸収帯である。ここでは、しかしながら、分子の吸収線と発光線にのみ集中することにする。 Beer-Lambert Law 透過度,τν, は、入射光強度に対する受光強度の比である(Fig.2)。透過度は一様な吸収体の中を通過する距離の指数関数で減少し、ブーガーの(Bouguer s) またはBeer-Lambert の法則(Beer-Lambert law): τν= e-kνx Eq.2 で表される。ここで、kνは吸収係数であり、xは光路長である。当然のことながら、kνは光路に沿っての分子数に比例する。理想気体の圧力P、温度Tそして混合体積比qで、吸収係数は kν= (qP/kT)σν Eq.3 ここで、kはボルツマン定数である。すべてのスペクトル依存性はクロスセクション(断面積:吸収断面積?),σν(cm2/molecule),に含まれる。それゆえ、Beer-Lambert の法則は、 τν= exp{(-qPx/kT)σν} = exp(-uσν) Eq.4 ここで、u=qPx/kT はmass path(適切な訳語がわからない。そのままマスパス)であり、経路上の断面積当たりの分子数を与える(molecules/cm2)。さらに、計算のスペクトル依存性を分離するため、クロスセクションをスペクトルに依存しない線強度Sとスペクトル線の曲線gνの積で記述する。 σν = Sgν Eq.5 Sはcm-1/(molecule/cm2)、gνは1/cm-1の単位を持つ。(波数の単位と面積の単位を分離しておくことは、結果をcm/moleculeと記述するより好ましい。)最終的に、分光透過度spectral transmittanceは、 τν= exp{ (-qPx/kT) Sgν} Eq.6 Line Shape 分子スペクトルのシミュレートにおける努力のほとんどは線の形(ラインシェイプ:line shape)gνを個々の吸収線に対してコンピュータ計算することである。最初に、線の中心の位置が決定される。中心の波数νcは直線的に0圧力の位置νc0から圧力に対して増大する。 νc=νc0 + δP/P0 \Eq.7 パラメータνc0とδは、HITRANのような適切なラインリストline list の中で見つけられる。 図1に見るように、特定の分子遷移の吸収はある一つの波数に制限されておらず、ある波数範囲に広がっている。この吸収線の広がりは3つのメカニズムによって引き起こされる。第1は、すべてのスペクトル線はハイゼンベルクの不確定性原理からくる自然幅を持つ。しかし、これはほとんどいつも他の広がり効果と比較すると無視できるほど小さい。第2は、熱運動がランダムなドップラー速度を各分子に分配し、集団全体の吸収は、ある波数領域にわたってぼやける効果を引き起こす。最後は、ランダムな衝突が個々の分子のエネルギー準位に摂動を与え、それぞれ少しずつ異なり、累積した効果は圧力広がりとして知られている。 0.01atm以下の気圧(30㎞より上空)で、ドップラー広がりが支配的になる。この結果、線の形はガウシアン型(Gaussian line shape)となり、その半値幅は: Eq.8 となる。ここで、mは分子質量、cは光速である。(数式は省略したので、原文を参照。) 0.1atm以上の気圧(16㎞より低空)で、圧力広がりが支配的になり、線の形はローレンツ型(Lorents line shape)となる。広がりの量は衝突に含まれている分子のタイプにいくらか依存している。同じ種同士の2つの分子の衝突による広がりは、ある分子とN2分子との間のものと著しく異なるため、ローレンツ半値幅αLは、空気広がり半値幅(air-broadened halfwidth) αLa0と自己広がり半値幅(self-broadened halfwidth) αLs0の加重平均から、圧力と温度で調節して、 Eq.9 で計算される。ここで、T0=296K。ところで、我々は共通の仮定をしている。つまり、空気広がりと自己広がりの両方で同じ温度指数γを適用していることである。再度述べるが、パラメータαLa0、αLs0、γはHITRANのようなラインリストline listから得られる。ドップラーとローレンツ広がりの結合はより一般的なフォークトプロファイル(フォークト関数)Voigt profile: Eq.10 を得る。フォークトプロファイルは高い圧力ではローレンツ型(αL?αD)、低い圧力ではドップラーもしくはガウシアン型(αL=αD)になる。フォークトプロファイルの計算後、線の形に追加修正を加え、遠い翼効果(far-wing effects): Eq.11 を考慮する。ほとんどの応用においてフォークトプロファイルは正確であるが、他の線の形(ラインシェイプ)が望まれる場合がある。非常に低波数の場合、Van Vleck-Weisskopf ラインシェイプがより適切である(Appendix Aを参照)。本Spectral Calculatorは、νc 200cm-1のときVan Vleck-Weisskopf ラインシェイプを使用し、それ以外は、すべてフォークトプロファイルである。他の効果、たとえば、ラインカップリングline-coupling や速度に依存した広がりが、ある条件において重要になる。しかしながら、多くの場合、フォークトプロファイルは容認できる結果を与え、本Spectral Calculatorのような一般用途の目的においては当然の選択である。 Line Intensity さて、最後に残った項として、Eq.9で定義した透過度の計算における線強度Sを考えよう。HITRANや他のラインリストはS0つまり、T0=296Kにおける線強度を提供する1。任意の温度Tにおける線強度の計算のため、増感発光効果を説明するためのボルツマン因子を導入し、振動と回転運動の分配関数QVとQRを取り入れる。 Eq.12 1 ここで、ELは遷移の低準位エネルギー(HITRANでも提供されている)である。振動と回転の分配関数の複合効果は、温度の関数としてパラメータ化された、全内部分配合計(TIPS total internal partition sums)の集計から発見されている。 Transmittance spectrum これまで、我々は一つの吸収線からどのようにして透過スペクトルを計算するのかを議論してきた。混合ガスの観測されたスペクトルは、興味対象のスペクトル領域の中もしくはその周辺における、すべてのガスのすべての吸収線のスペクトルであろう。Eq.3から、混合ガスにおけるj番目のガスのi番目の吸収線のスペクトルは、 Eq.13 ここで、断面積σとマスパスuはEq.6-10から計算される。完全なスペクトルは、すべてのガスのすべての線の透過スペクトルの積算: Eq.14 である。強い線は線の中心から遠く離れたところまで大きな両翼を持ち、弱い線の翼は急速に減少する。それぞれの線の中心から十分に離れたところまで計算を続けることは重要である。たとえば、1800cm-1の強い線の遠い翼は2000から2010cm-1までの領域のスペクトルに影響する。スペクトル領域に依存しているが、数万から数百万の重要な吸収線と断面積があり、それらの各々は、線の形を完全に捕捉するための十分高いスペクトル分解能で計算されなければならない。このため、断面積の計算と積算を精度を失わずに効果的になるよう、大いなる努力を払わなければならない。 Radiance 一般的に、観測されたスペクトルは透過した光と発光した光の両方であろう。(日本語でRadianceのことを放射もしくは放射光とよく訳すが、単なる光としての意味合いが強く、ここではRadianceを光と訳した。透過光も放射光もRadianceである。)さて、温度Tsの黒体があり、あるセンサでそれを観測しているが、センサと黒体の間に温度Tgのガスがあるとしよう。ガスは黒体からの放射光のいくらかを透過し、同時に、自分自身いくらかの放射光を放出する。センサが検出した放射は、次のような和になるであろう。 Eq.15 ここで、Bν(T)はプランクの黒体関数、τνはガスの透過度であり、ενはその射出率である。散乱効果を無視すると、εν=1-τν(Eq.1)、それゆえ、 Eq.16 この式の極限の場合を検証することは重要である。完全に透明なガス(τν=1)の場合、検出された放射は単純に源の放射:Lν=Bν(Ts)である。もし、ガスが完全に不透明(τν=0)であれば、これは完全な黒体:Lν=Bν(Tg)として振る舞う。もし我々が背景の源の温度をゼロにしたら、ガスの発光スペクトル:Lν=ενBν(Tg)のみが残る。もし、そのかわり、ガスの温度がゼロであったら、透過スペクトルによって調整されて源の放射光のみ:Lν=τνBν(Tg)が観測される。(注:おそらく数式のミスであろう。Lν=τνBν(Ts)が正しい。)Fig.3はこれらの効果を示したものであり、暖かい黒体放射源を2酸化炭素の冷たいガス体を通して観測したものである。680cm-1付近、この吸収線は飽和しているが、放射スペクトルは冷たいガスの温度の黒体放射と一致する。どの強い吸収からも離れた領域では、暖かい黒体放射スペクトルは減衰していない。 図3.背景の黒体の前の2酸化炭素の放射スペクトル。背景は320K、CO210%、280Kの1mガス体を間において観測。(残りのガスは透明と仮定されている。)透過度が0のとき、観測されたスペクトルは280Kの黒体放射と同じになる。透過度が1のとき、320Kの背景と同じになる。もしも、ガスが背景より暖かった場合、吸収線は逆に発光線になる。 Atomospheric Path 例えば惑星大気の透過経路のように、より複雑な経路のスペクトルを計算するためには、経路を小さくセグメントに分割し、それぞれのセグメントでは様々な環境条件(圧力、温度、ガス濃度)が一定と見做せるようにすることである。そして上で述べた技術を応用することである。これは、Fig4に示してある。LinePakでは、セグメント中の実効圧力、温度、濃度は、環境条件のマス加重化(mass weighting)によって決定される。詳細は、Gordley,et al 1994にある。全経路の透過スペクトルはそれぞれのセグメントのスペクトルを積算したものである。長い経路はかなりの屈折の影響を受ける可能性がある。このこともまた、考慮されなければならない。当然ながら、このような計算は急速にコンピュータ集約型となり得る。本Spectral Calculatorで使用しているLinePakTMlibraryは効率を最大限にするよう注意深くデザインされている。そして、このような複雑な大気スペクトルは、精度を保ったまま、可能な限り高速に計算処理することができる。 図4.赤い線は屈折を考慮したもの 訳者コメント: 太陽光の地球の吸収は図4の逆の現象が起き、本来は大気を通過するだけの光が屈折して地球に降り注ぐことが起きる。太陽が本当は沈んでしまっているのに、屈折した光が地表に届くため、日没は予定時刻より遅くなる。また、太陽光はレイリー散乱が起き、大気中の分子によって四方八方にいくらか散乱されるため、地表に届くべき光のいくらかは散乱により宇宙へ逃げていくが、大気を通過するだけのはずの光の散乱も起きていくらか地表に届くようになる。レイリー散乱は可視光以上の短波長の光で強く起こるが、赤外線以下の長波長の光はあまり散乱は起きにくいという周波数と散乱の関係がある。それゆえ、散乱と屈折の影響を考慮する必要がある。 ここでの定式化は、吸収スペクトルを計算するための特殊なやり方で行われている。そのため、他の理論との整合性が取りにくくなっている感がある。厳密な意味で、他の理論体系と整合性を取って議論する必要があるであろう。
https://w.atwiki.jp/vipdetyuuni/pages/2947.html
「定義不足だ、出直してこい」 プロフィール 名前 安藤 恒吉 性別 男 年齢 25歳 誕生日 5/31 身長 174cm 体重 67kg前後 趣味 プログラミング/武器の整備/計算 好きな食べ物 酒とつまみ 嫌いな食べ物 特になし 得意スポーツ 射撃競技 好き 酒と煙草と女と銃と数式とゲーム 嫌い 面倒事、殺人 大切 「相棒」と呼べる人間 所属 『ランカーズ』【不殺同盟】 【計弾銃考】-Human calculator- 属性-火器 分類-遠距離系 破壊力-B スピード-C+ 射程距離-A 持続力-C 精密操作性-S 成長性-A 演算能力と銃技に於いて高い実力を持つ能力者。常人どころか機械でも計算不可とされている跳弾の角度すら操り、腰に携えた一対の銃はジャムを起こさないほど丹念に手入れされている。相手の行動を統計し、予測するなどの芸当も可能。弾丸はかなりの量を所持しているのでまず弾切れする事はない。計算をし、結果を弾丸に込めて発射することを三レスに一度可能。威力は0からの絶対値に比例する。具体的には数値が3上昇するごとに弾丸の威力にもう一発分加算される。6なら三発分の威力、9なら四発分……といった具合。が、威力が上昇すれば上昇するほど脳が疲労する。計算結果が30近くになると頭痛を引き起こし、100を超えればブラックアウト。使うのは一ロール中に十回が限界で、それ以上放つと昏倒してしまう。所持武器:好きな拳銃二挺。同時に撃つ事も出来るが、これも脳に負荷をかけるので連続して二挺構えられるのは五レス間のみ。そこからは強制的に片方のみで撃つことになる。無理をさせれば六レスまで引き伸ばすことも不可能ではないが、その際も昏倒する。身体能力:軍人程度だが、その道の者に及ぶほどではない。「精度の高い早撃ち」を得意とする。 経歴 帝國出身。両親は軍人、そして彼もまたミサイル発射シーケンスの製作に関わっていた数学者兼軍人。階級は中佐。しかしながら戦場での殺人をやがて嫌うようになり、また上層部に縛られるのを嫌って辞職する(あんまりにも堅苦しい上に面倒くさかったから、と本人は語っていた)。放浪者となってただひたすらに西へと向かった結果この街にたどり着いたのだが、到着時は相当酔っていたらしくその時の記憶はないらしい。脱退当時は階級も高かったので、帝國の人間なら彼を知るものは多いだろう。仕事は碌にやっていなかったらしく、【壊根包火】からは「ちゃらんぽらん」と評されている。その能力と異端性は幼少時から持ち合わせていたようで、実際に学校での成績も「数字に関連する教科」だけは非常に高い成績を収めている。しかし何故だろうか、他は幾ら勉強してもからっきしであり、大学まで進学できたのは推薦のおかげと言って差し支えない。現在も街を当てもなくふらつく放浪者だが、その時にも武器は忘れないらしい。減煙・減酒を目標にしているとか。殺しを含まない戦いは好きだという。 容姿・性格その他 手入れのなっていない黒いスーツに紫のネクタイ、腰に携えたホルスターにはマシンピストルM93Rと大口径のリボルバー拳銃トーラス・レイジングブル Model 500。度のきつい銀縁眼鏡を掛けているのだが、額にも遮光用のゴーグルを付けているので少々奇妙な格好に見える。ぼさぼさの髪も光の差さない瞳も黒く、彼を見た人間は十中八九が「東洋人」と答えるだろう。その他の体重も身長も平均的そのものだが、性格は一般人のそれとは大きく逸脱している。とにかく楽観的な性格で、「何があっても多分恐らくどうにかなる」と言ったような思考をTPOを問わずに発動する。例を挙げるなら、彼が小学生だった頃に夏休みの宿題を最終日の30分で済ませてしまったことなどだろうか。また怠惰と趣味に事欠かず、暇があれば手元の拳銃をいじくり数式を書き始め煙草に火を付け酒瓶を開ける始末。本質的な所では嫌われる点はないのだろうが、お世辞にも優秀な人間とは言えない……はず、だが。そんな彼にも誘蛾灯に惹かれるが如く人が集まってくるのは、些か理解し難い。今一自分の感情を理解できていない節があり、また自分の思ったことを自分だけで背負い込んでしまう癖もある。それ故に感情を上手く伝えられないこともしばしば。彼が本当に「背中を任せられる人間」と出会えた時、その悪癖は無くなるだろう。「人権を無視する人間に人権はいらない」が持論であり、それに基づいた行動も見受けられる。諍う二人を拳骨でぶん殴って止める、自分が傷付けられたらこちらもやり返す、など。怒りの沸点はかなり低く、年下の少女とも本気で言い争うほど。ゲームが好き。楽観さと相まって、例え死地に置かれている状況でもゲームの言葉を引用することすらある。 所持品 ベレッタM93R 彼の愛用するマシンピストル。装弾数20発、三点バースト機構による連射が可能。銃身長約16cm。 小型でありつつも高い制圧力を持つこの銃を使い、中距離から遠距離にて弾幕を形成することが可能。 トーラス・レイジングブル Model 500 かの44マグナム弾を超える弾丸、.500S Wマグナム弾を発射することが出来るリボルバー拳銃。装弾数は5発。 反動こそ凄まじいが威力もまた凄まじい。リボルバー拳銃の特性上弾幕を張るのは難しいので、こちらは一撃にて動きを止めるのに使われる。 王国独立戦争の際に、過度の火薬を入れたマグナム弾を使用したため銃身が著しく破損。しかし【魔本記述】~Lasciatemi morire.~に修復してもらい、現在は持ち主の体力と引換に少々の無茶では壊れない加工(ルーン、魔法陣など)が施された銃に改造されている。 雑多な物入れ 【天翼天使】からもらった袋。何の変哲もないただの袋。中には酔い止めやら胃薬やらポン菓子やらが入っていた。 手提げサイズなので、今では単純に物入れとして使っているらしい。胸元に入れて常に持ち歩いているそうだ。 マシンの残骸 【壊根包火】の乗っていたマシンから入手。メモリーボードと関節部、装甲板を含んでいる。どうも帝國軍の極秘技術を使っているようだ。 【魔本記述】~Lasciatemi morire.~に譲渡。 三角巾 自費にて購入したもの。本来ならここに書く所持品ではないが、腕を怪我した時度々使用しているので特筆させていただく。 汚れが目立つ。それこそ土汚れから血痕まで。 現在は使用中。 +手帳 +20XX年 朝起きたらいつの間にかどこかの通りに寝っ転がってた。やけに視線が冷たかった。なんでこんな所に来たのかは分からないが、まあ酒もタバコもうまいしいいか。 +2012年 +4月 4/15 『ランカーズ』に入ってきた。なんてあそこのドアは開きにくいんだ。理解できない。順位はNo.41だった、まあまあだな。 加入早々名前の難しい剣士と戦ってきた。引き分けで左手を軽く斬られたが、いい学習になった。にしても痛い。腕が腐り落ちるんじゃないか。 4/17 いつもの様に街を歩いていたら何時の間にか診療所に着いていた。そこにいた羽の生えたお嬢ちゃんに腕の傷を治してもらった。能力ってのはやっぱり不思議なもんだ。……にしても、可愛かったな。 4/18 酒屋を梯子しようと思ってたのになんか変な奴に出会ってしまった。訳の分からん理屈で銃撃を避けやがった。くそっ、あいつはナニモンなんだ。 4/19 喫茶店で俺のそっくりさんに出会った。妙なペットを二匹連れてたっけか。ここんとこ妙な奴にしか会ってない気がする。 4/22 今日は大枚はたいて高級酒を買った……は、いいんだが。双子の魔術師が魔法でふっ飛ばしちまった。だがいい情報も手に入ったし、まあどっこいどっこいかな。 4/25 どうやら独立戦争なるものが行われるらしい。殺しには興味が無いが、あの傲慢な国に一泡吹かせるのも悪くない。とりあえず雇われに行ってきた……は、いいんだが。惚れた女が出来た。益々負けるわけにはいかなそうだ。まあ同族の若い剣豪もいたし、大丈夫だろう。 4/26 高速鉄道にカンヅメにされちまった。まあ気にしたら負けだな。今日はもっととんでもないことがあったしな。そうそう、【不殺同盟】なる組織に入団することになった。 4/27 独立戦争の日。昔の糞上司に将軍様がやられそうになってたんで助けた。……んだが。無茶しすぎた。くっそ、完全にレイジングブルがぶっ壊れちまった。それはそれとして、戦争はこっちが勝ったらしい。死人も出たそうだ、分かっちゃいたが胸糞悪ぃ。 4/29 同じ銃使いと会ってきた。ご丁寧にも死者25人、全員分の墓を作ってくれた。ありがたい。まだまだ腕は甘いが、俺より成長幅はよほど高い。遠目から見守るか。 +5月 5/2 ガキと出くわした。話してるだけでイラつく野郎だったが、あんな奴でもいいところはあんだな。 5/5 心優しい魔女さんに武器を直してもらった。代償は払ったが無問題だ。病弱っぽいが、大丈夫だろうか。 5/10 新参者の女の子と出会った。メシに困っているそうなので、【不殺同盟】への地図を渡してやった。 5/18 女王様と会ってきた。バレてた。うん。でも腹は決まった。
https://w.atwiki.jp/kojiro/pages/400.html
CALCULATE.NOW