問題タブ [physics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
764 参照

c# - 物理学のデータ型

私は現在、いくつかの物理学を含むプログラムを設計しています(あまりにも空想的ではなく、いくつかのボールが互いに衝突します)

c# で位置を表すために使用できる最も正確なデータ型は何ですか (離散ジャンプの感覚なし)?

また、t から t+1 までの間に得られる最小時間はどれくらいですか? 1ティック?

編集: 明確化: C# の時間の最小単位は何ですか? [TimeSpan].Tick?

0 投票する
20 に答える
7729 参照

physics - 科学的な環境でのプログラミングの実践?

バックグラウンド

昨年、大学の物理研究グループでインターンシップをしました。このグループでは、主にLabVIEWを使用して、セットアップの制御、データの取得、およびデータの分析を行うためのプログラムを作成しました。最初の 2 つの目的については、これで問題ありませんが、データ分析の場合は非常に面倒です。その上、誰もがほとんど独学だったので、書かれたコードは一般的にかなり混乱していました (すべての博士号がすぐにすべてをゼロから書き直すことにしたのも不思議ではありません)。バージョン管理は不明であり、IT 部門からの厳しいソフトウェアおよびネットワーク規制のために設定することは不可能でした。

さて、実際には驚くほどうまくいきましたが、自然科学に携わる人々はどのようにソフトウェア開発を行っているのでしょうか?

質問

いくつかの具体的な質問:

  • 科学ソフトウェア、特にデータ分析の開発に使用した言語/環境は何ですか? どのライブラリ?(たとえば、プロットには何を使用しますか?)
  • プログラミングのバックグラウンドがあまりない人向けのトレーニングはありましたか?
  • バージョン管理やバグ追跡などはありましたか?
  • 個々の科学者 (特に物理学者は頑固な人々です!) の邪魔をせずに、プログラミングのための適切な環境を作ろうとするのはどうですか?

これまでの回答のまとめ

これまでの回答 (または私の解釈): (2008-10-11)

  • 最も広く使用されていると思われる言語/パッケージ:
    • LabVIEW
    • パイソン
      • SciPyNumPyPyLabなどを使用 (ダウンロードとリンクについては Brandon の返信も参照してください)
    • C/C++
    • MATLAB
  • ほぼすべての回答者がバージョン管理を使用しています。バグ追跡やその他のプロセスはあまり一般的ではありません。
  • ソフトウェア大工コースは、科学者にプログラミングと開発のテクニックを教える良い方法です。
  • 物事を改善するには?
    • 厳格なプロトコルに従うことを強制しないでください。
    • 自分で環境を設定し、そのメリットを他の人に示します。バージョン管理やバグ追跡などの作業を自分で開始できるように支援します。
    • 他の人のコードをレビューすることは役に立ちますが、誰もがそれを評価するわけではないことに注意してください。
0 投票する
5 に答える
1870 参照

math - リジッド ボディ ダイナミクスの優れたリファレンスは何ですか?

私は数学の専門家ではありませんが、剛体物理について学ぶことに興味があります (基本的な 3D 物理エンジンを実装するため)。学校では、数学は代数 II しか取りませんでしたが、何年も 3D 開発を行ってきたので、ベクトル、四元数、行列などをかなりよく理解しています。私の本当の問題は、複雑な数式などを読むことです。いくつかの理にかなっているいくつかのまともな剛体ダイナミクスの参照。

誰か良い参考書はありますか?

0 投票する
2 に答える
4811 参照

physics - スヌーカーゲームの物理学

誰かが私にスヌーカーゲームの物理学に関する情報を教えてくれますか?可能であればボールの衝突についてもっと教えてください。ゲームを作りたいのですが、物理について助けが必要です。

0 投票する
11 に答える
16058 参照

c++ - 2D ゲーム物理学?

2Dプラットフォーム/横スクロールゲームの重力、ジャンプアクションなどをプログラミングするための2Dゲーム物理学などのライブラリを教えてもらえますか? または、マリオやソニックなどのサイド スクローラーのアルゴリズムをいくつか提案していただけますか?

0 投票する
7 に答える
998 参照

open-source - 多目的 3D 人工生命エンジン?

創発を研究すると、新しいアイデアをすばやくテストするために構築するための開発フレームワークを持つことは非常に役立ちます。物理的な衝突を伴う 3D は素晴らしいものであり、オープンソースは大きなプラスになるでしょう。この目的のために「breve」は非常に有望に見えますが、誰かがそれを使用したり、他の適切なエンジンを知っているかどうか疑問に思っていましたか?

0 投票する
4 に答える
8523 参照

c# - XNA ベースの 3D 地形および物理ライブラリにはどのようなものがありますか?

オブジェクトのある風景を含むゲームを作成する予定です。地形は高さフィールドを使用して定義され、オブジェクトは地形の上を動き回り、地形の上を飛行します。古いゲームのMarble MadnessVirus/Zarchをプレイしたことがあるなら、それは私が作成しようとしている複雑さとスタイルのようなものです。

インターネットでさまざまな物理エンジンと、高さフィールドを地形としてレンダリングする方法に関するいくつかのチュートリアルを見てきましたが、ドキュメントが不足しているか、必要なものに対して非常に複雑に思えます。

必要なのは、ハイト フィールドを描画し、その上に 3D オブジェクトを配置して、丘を転がり落ちたり、空を飛び回ったりする方法だけです。これを行うために独自のコードを作成しても構わないので、関連するチュートリアルもあればよいでしょう。

0 投票する
6 に答える
8348 参照

python - decimal モジュールの有効数字

そこで、問題を解決するための Python スクリプトをいくつか作成して、物理学の宿題を解決しようと決心しました。私が直面している問題の 1 つは、有効数字が常に適切に表示されるとは限らないことです。たとえば、これは有効数字を適切に処理します。

しかし、これはしません:

だから2つの質問:

  1. これは有効数字の予想される量ではないというのは正しいですか、それとも有効数字の計算をブラッシュアップする必要がありますか?
  2. 小数の精度を手動で設定せずにこれを行う方法はありますか? 確かに、numpy を使用してこれを行うことができると確信していますが、好奇心から decimal モジュールでこれを行う方法があるかどうかを知りたいだけです。
0 投票する
5 に答える
52818 参照

math - 一定時間後の加速体の位置を計算する

特定の時間 (例: 1 秒) 後の加速体 (例: 車) の位置を計算するにはどうすればよいですか?

加速していない運動体の場合は線形の関係なので、加速している物体の場合はどこかに正方形が含まれていると思います。

何か案は?

0 投票する
8 に答える
13455 参照

c# - 2D ゲーム物理学のリソース

ゲームで 2D 物理をモデル化する方法を学習するための参考資料を探しています。私は自分のためにそれをやってくれる図書館を探しているわけではありません - 私は考えて学びたいのです。

私はグーグルでかなりのことをしました.GameDevなどに関するいくつかのチュートリアルを見つけましたが、それらのチュートリアルは不十分に書かれているか、数学的な理解のレベルを想定していないため、理解するのが難しいと思います.まだ所有していません。

詳細については、タンク戦闘ゲームのようなトップダウンの 2D ゲームをモデル化する方法を探しています。(とりわけ) 加速と速度、「コンポーネント」の熱蓄積、モデルとレベルの境界、およびミサイル型の武器。

Web サイト、推奨書籍、ブログ、コード例 - 理解に役立つものであれば、すべて歓迎します。私は C# と F# を使用してゲームを構築することを検討しているので、これらの言語のいずれかでコード例を作成することをお勧めします。=)

編集:私は数学を理解していないという意味ではありません - 関連するシステムを理解するために何を知る必要があるのか​​ わからないということであり、そのリソースを見つける方法を本当に知らないということです。分かりやすく教えてくれます。