Python/OpenCVで2次元面の重心を求める方法

3Dモデルの断面といった2次元画像の重心を求めることで、類似断面の形状ずれ等を求めることが可能です。重心は自分で計算することも可能ですが画像処理ライブラリであるOpenCVを使うと簡単に算出できます。ここではPython/OpenCVにて重心を計算する方法を紹介します。

続きを読む
Advertisements

Python/Sympyで文字式のまま連立方程式を解く方法

力学系の問題を式展開する場合は文字式のまま書き進める場合がほとんどです。連立方程式を数値的にコンピュータで解くアルゴリズムは多々ありますが、文字式の検算には使えません。ここではPython/Sympyを使って文字式をそのまま扱って連立方程式を解く方法を紹介します。

続きを読む
Advertisements

Pythonで2D移流拡散方程式を数値計算して拡散流れを表現する

これまで当ブログでは2Dの「移流方程式」と「拡散方程式」を扱いました。ここではこれら2つの流体現象を組み合わせた「移流拡散方程式」を学びます。いつも通りPythonでコーディングしながら解説を行い、流れを確認して理解を深めます。

続きを読む
Advertisements

Pythonで2次元拡散方程式を数値解析して定常解析と比較する

数値流体力学の学習は各要素毎に離散化手法と解析手法を学ぶことが重要です。ここでは2次元の拡散方程式の概要や離散化手法を説明し、Pythonで実装しながら学習します。結果は定常解析の結果と比較することでラプラス方程式にも触れてみます。

続きを読む
Advertisements

Pythonで2次元移流方程式を数値計算する方法

1次元移流方程式で基礎を学んだ後は2次元移流方程式を学びます。ここでは2次元移流方程式の差分化手法の例とPythonコードによるアニメーション作成までを行います。2次元の初期場を作る方法、漸化式の更新方法、結果のプロット方法について考えてみた結果を紹介します。

続きを読む
Advertisements

2D数値計算の境界条件を画像から作るPythonコード例

2Dの流体解析をする時、計算領域内部に置いた構造物の影響を考慮したくなります。ここでは画像の輪郭から流体解析に使用できる境界条件を作る1つの例を、Pythonの流体解析コードと画像処理コードをコラボしながら考察してみたいと思います。

続きを読む
Advertisements

Pythonで2次元ラプラス方程式を数値計算する方法

時間によって変化しない定常状態を示すラプラス方程式は様々な物理現象の基礎となっています。ここではラプラス方程式の差分化から説明します。また、学習の理解を深めるために簡単な2次元のラプラス方程式をPythonを使って数値計算する方法を紹介します。

続きを読む
Advertisements

連立方程式をSOR法で解くPythonコードと緩和係数のパラスタ

連立方程式を反復法で解くSOR法はガウス・ザイデル法よりも高速になる可能性を持ちますが、緩和係数(加速パラメータ)の調整が必要です。ここではPythonを使ってSOR法を実装し、緩和係数のパラメータスタディと最適な緩和係数との比較を行います。

続きを読む
Advertisements

Pythonで連立方程式をヤコビ法(反復法)で解く方法

連立方程式の解法は直接法がわかりやすいですが、巨大な方程式の場合は計算時間が問題となります。ここでは直接法に比べ高速に連立方程式を解くことができる反復法の中で、比較的ポピュラーなヤコビ法を注意点と共に説明しPythonで実装してみます。

続きを読む
Advertisements