タグ付けされた質問 「physics」

15
宇宙線:プログラムに影響を与える確率はどれくらいですか?
もう一度私はデザインレビューを行っていて、特定のシナリオの確率がプログラムに影響を与える「宇宙線のリスクよりも低い」という主張に遭遇しました。確率です。 「2 -128は340282366920938463463374607431768211456のうちの1 つなので、これらの計算が数十億分の1の係数でずれていても、ここでチャンスを利用することは正当化できると思います...私たちを台無しにすると私は信じています。」 このプログラマは正しいですか?宇宙線がコンピュータに当たり、プログラムの実行に影響を与える確率はどのくらいですか?

11
ボール対ボールの衝突-検出と処理
Stack Overflowコミュニティの助けを借りて、かなり基本的だが楽しい物理シミュレーターを作成しました。 ボールを発射するには、マウスをクリックしてドラッグします。跳ね返り、最終的には「フロア」で停止します。 追加したい私の次の大きな機能は、ボール同士の衝突です。ボールの動きは、axとyの速度ベクトルに分けられます。私は重力を持っています(各ステップでyベクトルの小さな減少)、私は摩擦を持っています(壁との衝突ごとに両方のベクトルの小さな減少)。ボールは驚くほど現実的な方法で正直に動き回ります。 私の質問には2つの部分があると思います。 ボール同士の衝突を検出する最良の方法は何ですか? 各ボールを反復し、半径が重複しているかどうかを確認するために他のすべてのボールをチェックするO(n ^ 2)ループがあるだけですか? ボール同士の衝突を処理するためにどのような方程式を使用しますか?Physics 101 2つのボールの速度x / yベクトルにどのように影響しますか?2つのボールが向かう方向は何ですか?これを各ボールにどのように適用しますか? 「壁」の衝突検出とその結果のベクトルの変更の処理は簡単でしたが、ボールとボールの衝突により多くの複雑さが見られます。壁の場合は、適切なxまたはyベクトルの負の値をとるだけで、正しい方向に進みます。ボールの場合はそうは思いません。 いくつかの簡単な説明:簡単にするために、今のところ完全な弾性衝突で大丈夫です。また、すべてのボールは現在同じ質量ですが、将来的に変更する可能性があります。 編集:参考になったリソース ベクトルを使用した2Dボールの物理学:Trigonometry.pdfのない2次元の衝突 2dボールの衝突検出の例:衝突検出の追加 成功! ボールの衝突検出と応答がうまく機能しています。 関連コード: 衝突検出: for (int i = 0; i < ballCount; i++) { for (int j = i + 1; j < ballCount; j++) { if (balls[i].colliding(balls[j])) { balls[i].resolveCollision(balls[j]); } …

2
ボールが消えてしまうのはなぜですか?[閉まっている]
閉まっている。この質問は再現性がないか、タイプミスが原因です。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問を改善する 面白いタイトルを許してください。私は壁とお互いに対して200のボールが跳ねたり衝突したりする小さなグラフィックデモを作成しました。ここに私が現在持っているものを見ることができます:http : //www.exeneva.com/html5/multipleBallsBouncingAndColliding/ 問題は、それらが互いに衝突するたびに、それらが消えることです。理由はわかりません。誰かが見て、私を手伝ってくれる? 更新:明らかに、balls配列にはNaNの座標を持つボールがあります。以下は、ボールを配列にプッシュするコードです。座標がどのようにNaNを取得しているかは完全にはわかりません。 // Variables var numBalls = 200; // number of balls var maxSize = 15; var minSize = 5; var maxSpeed = maxSize + 5; var balls = new Array(); var tempBall; var tempX; var tempY; var tempSpeed; var tempAngle; var …

6
Android加速度計の精度(慣性ナビゲーション)
私は、Androidフォンの慣性ナビゲーションシステムの実装を検討していましたが、加速度計の精度と一定の読み取り値の変動を考えると難しいと思います。 まず、電話を平らな面に置き、X方向とY方向に1000個の加速度計の読み取り値をサンプリングしました(表に平行なので、これらの方向に重力は作用していません)。次に、これらの測定値を平均し、この値を使用して電話を調整しました(後続の各測定値からこの値を差し引きます)。 次に、システムを再びテーブルに置き、X方向とY方向に5000の加速度計の読み取り値をサンプリングして、システムをテストしました。キャリブレーションを考えると、これらの加速度は各方向で(ほぼ)0になるはずです。ただし、これは当てはまりません。5000回の反復の合計加速度は0に近くありません(各軸で平均約10)。 私のコードを見ないでこれに答えるのは難しいかもしれませんが、より一般的な意味で... これは、携帯電話(HTC Desire S)での加速度計の読み取り値の不正確さの単なる例ですか、それともコーディングでエラーが発生した可能性が高いですか?

20
科学的環境でのプログラミングの実践?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する バックグラウンド 昨年、私は大学の物理学研究グループでインターンシップをしました。このグループでは、ほとんどの場合、LabVIEWを使用して、セットアップの制御、データの取得、データの分析を行うプログラムを作成しました。最初の2つの目的については、これで問題なく動作しますが、データ分析については、それは本当に苦痛です。その上、誰もがほとんど独学でしたので、書かれたコードは一般にかなり混乱していました(すべての博士がすぐにすべてをゼロから書き直すことに決めたのも不思議ではありません)。バージョン管理は不明であり、IT部門からの厳格なソフトウェアおよびネットワーク規制のためにセットアップすることは不可能でした。 さて、実際には驚くほどうまくいきましたが、自然科学の人々はどのようにソフトウェア開発をしていますか? ご質問 具体的な質問: 科学的ソフトウェアの開発、特にデータ分析にどの言語/環境を使用しましたか?どんな図書館?(たとえば、プロットには何を使用しますか?) プログラミングの重要な背景のない人々のためのトレーニングはありましたか? バージョン管理やバグ追跡などはありましたか? 個々の科学者(特に物理学者は頑固な人々です!)の邪魔になりすぎずに、プログラミングのためのまともな環境を作成しようとするとどうなりますか? これまでの回答のまとめ これまでの回答(またはそれらに対する私の解釈):(2008-10-11) 最も広く使用されていると思われる言語/パッケージ: LabVIEW パイソン scipyのダウンロード、numpyの、PyLabなど、(また、ダウンロードやリンクのためのブランドンの回答を参照してください) C / C ++ MATLAB バージョン管理はほぼすべての回答者によって使用されています。バグ追跡やその他のプロセスはそれほど一般的ではありません。 Software Carpentryコースは、プログラミングと開発のテクニックを科学者に教えるための良い方法です。 物事を改善するには? 人々に厳密なプロトコルに従うことを強制しないでください。 自分で環境を設定し、他の人にメリットを示しましょう。彼らが自分でバージョン管理、バグ追跡などの作業を始めるのを助けます。 他の人のコードを確認することは役立ちますが、誰もがそれを高く評価するとは限らないことに注意してください。

4
MatterJSで他のボディを介してボディを強制的にドラッグするのを防ぎます
物理ベースのゲームにMatterJを使用していて、マウスが他のボディを介してボディを強制的にドラッグすることを防ぐ問題の解決策を見つけていません。ボディを別のボディにドラッグすると、ドラッグされているボディは、他のボディに自分自身を強制的に通すことができます。それらが交差するのを防ぐ信頼できる方法を探しています。マウスでボディを選択し、別のボディを介してそれを強制しようとすることにより、MatterJSデモでこの効果を観察できます。これが典型的な例です: https://brm.io/matter-js/demo/#staticFriction 残念ながら、これはドラッグアンドドロップに応じてゲームやシミュレーションを中断します。衝突が発生したときにマウスの制約を解除する、制約の剛性を下げるなど、多くの解決策を試しましたが、確実に機能するものはありませんでした。 どんな提案も歓迎します!

1
地球軌道シミュレーションの速度が正しくありません
私はプログラミングに非常に慣れていないので、p5.jsで太陽の周りを回る地球の軌道のシミュレーションを作成する必要がある学校の課題を受け取りました。重力を計算する簡単な方法が提供されましたが、実際の式(Fg = G M m / r ^ 2)を使用したいと思いました。私のコードでは、1ピクセルは10 ^ 9メートルまたは100万kmに相当します。太陽と地球の両方の実際の質量、およびそれらの間の実際の距離を使用する場合、地球が移動する速度を約1ピクセル/秒または100万km / sに設定する必要があります。軌道上の地球の実際の速度の30,000倍。私のコード: x = 550; y = 400; vy = -1; vx = 0; dt = 1; sunSize = 80; planetSize = 10; // 1 pixel equals 1 million km canvasSize = 800; starAmount = 600; function setup() { …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.