ImageD  v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
d_physics.h
Go to the documentation of this file.
1 /************************************
2  * added: 18.06.2020 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_PHYSICS_H
10 #define D_PHYSICS_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_math.h>
15 
16 //general
17 #include <iostream>
18 #include <vector>
19 #include <algorithm>
20 #include <cmath>
21 #include <random>
22 #include <complex>
23 
24 //Qt
25 #include <QString>
26 #include <QDebug>
27 #include <QStringList>
28 
29 //openCV
30 #include <opencv2/core/core.hpp>
31 #include <opencv2/highgui/highgui.hpp>
32 #include <opencv2/imgproc/imgproc.hpp>
33 
34 //namespaces
35 using namespace std;
36 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
37 #include <d_opencv_typedefs.h>
38 
42 class D_Physics
43 {
44 public:
45  D_Physics();
46 
47  //interference
48  static double FieldStrength (Mat Position, Mat Source, double fieldstrength, double phaseoffset_rad, double wavelength_m);
49  static double FieldStrength (Point3d Position, Point3d Source, double fieldstrength, double phaseoffset_rad, double wavelength_m);
50  static double Interference (Mat Position, vector<Mat> v_Source, vector<double> v_fieldstrength, vector<double> v_phaseoffset_rad, double wavelength_m);
51  static double Interference (Point3d Position, vector<Point3d> v_Source, vector<double> v_fieldstrength, vector<double> v_phaseoffset_rad, double wavelength_m);
52 
53  //scalar forces
54  static function<double (double v)> Force_Drag (double rho, double A, double cw);
55  static double Force_Gravity (double m);
56  static double Force_Upthrust (double V, double rho);
57 };
58 
59 #endif // D_PHYSICS_H
Mat
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
PH_g_earth
const double PH_g_earth
Definition: d_enum.h:2557
D_Physics::D_Physics
D_Physics()
Definition: d_physics.cpp:3
d_math.h
PI_2_0
const double PI_2_0
Definition: d_enum.h:2537
D_Physics::Force_Drag
static function< double(double v)> Force_Drag(double rho, double A, double cw)
Definition: d_physics.cpp:113
D_Physics::Interference
static double Interference(Mat Position, vector< Mat > v_Source, vector< double > v_fieldstrength, vector< double > v_phaseoffset_rad, double wavelength_m)
Definition: d_physics.cpp:48
d_physics.h
D_Physics::Force_Upthrust
static double Force_Upthrust(double V, double rho)
Definition: d_physics.cpp:127
Point3d
cv::Point3d Point3d
Definition: d_opencv_typedefs.h:41
D_Physics
The D_Physics class Basic physics formulas.
Definition: d_physics.h:43
D_Physics::Force_Gravity
static double Force_Gravity(double m)
Definition: d_physics.cpp:122
D_Physics::FieldStrength
static double FieldStrength(Mat Position, Mat Source, double fieldstrength, double phaseoffset_rad, double wavelength_m)
Definition: d_physics.cpp:8
d_opencv_typedefs.h
d_enum.h