27
27
28
28
29
29
class WavesChangingMedium (WaveGraphBase ):
30
- def __init__ (self , name = 'Waves medium boundary' , granularity = 512 , x_range = 4 * PI , x_offset = 0 , y_range = 6 , y_offset = 0 , time_factor = 0.1 , line_thickness = 5 , waves = [], slider_data = [], checkbox_data = [], tension = 2 , mass_density = 0.5 ):
30
+ def __init__ (self , name = 'Waves medium boundary' , granularity = 2048 , x_range = 4 * PI , x_offset = 0 , y_range = 6 , y_offset = 0 , time_factor = 0.1 , line_thickness = 5 , waves = [], slider_data = [], checkbox_data = [], tension = 2 , mass_density = 0.5 ):
31
31
super ().__init__ (name , granularity , x_range , x_offset , y_range , y_offset , time_factor , line_thickness , waves , slider_data , checkbox_data )
32
32
self .tension = tension
33
33
self .mass_density = mass_density
34
- self .checkboxes_ticked = self .checkbox .get_status ()
35
34
36
35
def update (self , event = None ):
37
36
self .waves [0 ].amplitude = self .sliders [0 ].val
@@ -48,22 +47,9 @@ def animate(self, i):
48
47
self .waves [1 ] = self .waves [0 ].get_reflected_wave (self .tension , self .mass_density )
49
48
self .waves [2 ] = self .waves [0 ].get_transmitted_wave (self .tension , self .mass_density )
50
49
51
- self .y_data [0 ] = self .waves [0 ].get_y_array (i * self .time_factor , self .x_data ,
52
- static_show = [- self .x_range , 0 ],
53
- dynamic_show = [0 , self .waves [0 ].get_length () / 2 ],
54
- dynamic_offset = - (int (self .x_range / self .waves [0 ].get_length ())+ 1 )*
55
- self .waves [0 ].get_length ())
56
- self .y_data [1 ] = self .waves [1 ].get_y_array (i * self .time_factor , self .x_data ,
57
- static_show = [- self .x_range , 0 ],
58
- dynamic_show = [- self .waves [1 ].get_length () / 2 , 0 ],
59
- dynamic_offset = (int (self .x_range / self .waves [1 ].get_length ())+ 1 )*
60
- self .waves [1 ].get_length ())
61
- self .y_data [2 ] = self .waves [2 ].get_y_array (i * self .time_factor , self .x_data ,
62
- static_show = [0 , self .x_range ],
63
- dynamic_show = [0 , self .waves [2 ].get_length () / 2 ],
64
- dynamic_offset = - (int (self .x_range / self .waves [0 ].get_length ())+ 1 )*
65
- self .waves [0 ].get_length ()*
66
- self .waves [0 ].get_velocity ()/ self .waves [2 ].get_velocity ())
50
+ self .y_data [0 ] = self .waves [0 ].get_y_array (i * self .time_factor , self .x_data , static_show = [- self .x_range , 0 ])
51
+ self .y_data [1 ] = self .waves [1 ].get_y_array (i * self .time_factor , self .x_data , static_show = [- self .x_range , 0 ])
52
+ self .y_data [2 ] = self .waves [2 ].get_y_array (i * self .time_factor , self .x_data , static_show = [(- 3 * self .x_range - 1 )/ self .granularity , self .x_range ])
67
53
self .y_data [3 ] = [x + y for x , y in zip (self .y_data [0 ], self .y_data [1 ])]
68
54
69
55
for j in range (len (self .y_data )):
0 commit comments