8 #include "complexpair.h"
9 #include "watersurfacefwd.h"
14 Sea(WaterSurfacePtr surface);
18 static const double PHILLIPS_CONSTANT;
19 static const double GRAVITATIONAL_CONSTANT;
21 WaterSurfacePtr m_surface;
22 double m_windDirection[2];
24 std::random_device m_randomDevice;
25 std::mt19937 m_randomGenerator;
26 std::normal_distribution<> m_normalDistribution;
27 std::vector<ComplexPair> m_fourierAmplitudes;
29 double phillipsSpectrum(double k_x, double k_y) const;
30 ComplexPair generateFourierAmplitude(double k_x, double k_y);
31 ComplexPair& fourierAmplitudeAt(int n, int m);
32 void generateFourierAmplitudes();
33 double spatialFrequencyForIndex(int n) const;