2
2
#include < graphics.h>
3
3
#define PI 3.141
4
4
5
- void drawAxes (int offset_x, int freq ) {
5
+ void drawAxes (int offset_x, int period ) {
6
6
line (0 , getmaxy () / 2 , getmaxx (), getmaxy () / 2 );
7
- for (int x = offset_x; x < getmaxx (); x += freq ){
7
+ for (int x = offset_x; x < getmaxx (); x += period ){
8
8
circle (x, getmaxy ()/2 , 3 );
9
9
}
10
10
line (offset_x, 0 , offset_x, getmaxy ());
@@ -13,8 +13,10 @@ void drawAxes(int offset_x, int freq) {
13
13
void sine_wave (double offset_x, double amplitude, double phase_shift, double time_period){
14
14
double y;
15
15
for (double angle = 0 , x = offset_x; x < getmaxx (); x += 1 , angle += 1 ) {
16
+ // angle = 0, x = offset_x for wave starting at origin,
17
+ // angle = -phase_shift, x = offset_x-phase_shift for wave starting at 0 degrees
16
18
// angle is in degrees, not radians
17
- // y = amplitude * sin((((360.0/151.0)*( angle + rads)) * PI / 180.0));(2*PI/time_period)*
19
+ // x is also basically just angle, its just easier to manage them separately cause graphics.h has a weird graph system
18
20
y = amplitude * sin ((angle + phase_shift)*(2 *PI/time_period));
19
21
y = getmaxy ()/2 - y;
20
22
@@ -29,13 +31,13 @@ int main() {
29
31
double offset_x = 100 ;
30
32
31
33
// assignment variables
32
- double rollnum = 49.0 ;
34
+ double roll_num = 49.0 ;
33
35
int amplitude = 100 ;
34
36
// double time_period = 360;
35
37
// double rads = 0;
36
- double time_period = 200 - rollnum; // 151
37
- double rads = rollnum /20.0 ; // 2.45
38
- double phase_shift = rads*(time_period/(2 *PI)); // 140.4
38
+ double time_period = 200 - roll_num; // 151
39
+ double rads = roll_num /20.0 ; // 2.45
40
+ double phase_shift = rads*(time_period/(2 *PI)); // 140.4
39
41
40
42
initgraph (&gd, &gm, nullptr );
41
43
drawAxes (offset_x, time_period);
0 commit comments