def update_parameter_data(cx_str, cy_str, t): # string parsing cx_fun, cx_sym = my_bokeh_utils.string_to_function_parser(cx_str, ['t']) cy_fun, cy_sym = my_bokeh_utils.string_to_function_parser(cy_str, ['t']) from sympy import diff dcx_sym = diff(cx_sym, 't') dcy_sym = diff(cy_sym, 't') dcx_fun = my_bokeh_utils.sym_to_function_parser(dcx_sym, 't') dcy_fun = my_bokeh_utils.sym_to_function_parser(dcy_sym, 't') # crating sample x_val = cx_fun(t) y_val = cy_fun(t) dx_val = dcx_fun(t) dy_val = dcy_fun(t) xx, hx = np.linspace(source_view.data['x_start'][0], source_view.data['x_end'][0], curveintegral_settings.n_sample, retstep=True) ssdict, spdict, _ = my_bokeh_utils.quiver_to_data(x=np.array(x_val), y=np.array(y_val), u=np.array(dx_val), v=np.array(dy_val), h=2*hx, do_normalization=True, fix_at_middle=False) # save data source_param.data = dict(x=[x_val], y=[y_val], t=[t], x0=ssdict['x0'], y0=ssdict['y0'], x1=ssdict['x1'], y1=ssdict['y1'], xs=spdict['xs'], ys=spdict['ys']) print "curve point was updated with t=%f" % (t)
def update_parameter_data(cx_str, cy_str, t): # string parsing cx_fun, cx_sym = my_bokeh_utils.string_to_function_parser(cx_str, ['t']) cy_fun, cy_sym = my_bokeh_utils.string_to_function_parser(cy_str, ['t']) from sympy import diff dcx_sym = diff(cx_sym, 't') dcy_sym = diff(cy_sym, 't') dcx_fun = my_bokeh_utils.sym_to_function_parser(dcx_sym, 't') dcy_fun = my_bokeh_utils.sym_to_function_parser(dcy_sym, 't') # crating sample x_val = cx_fun(t) y_val = cy_fun(t) dx_val = dcx_fun(t) dy_val = dcy_fun(t) xx, hx = np.linspace(source_view.data['x_start'][0], source_view.data['x_end'][0], curveintegral_settings.n_sample, retstep=True) ssdict, spdict, _ = my_bokeh_utils.quiver_to_data(x=np.array(x_val), y=np.array(y_val), u=np.array(dx_val), v=np.array(dy_val), h=2 * hx, do_normalization=True, fix_at_middle=False) # save data source_param.data = dict(x=[x_val], y=[y_val], t=[t], x0=ssdict['x0'], y0=ssdict['y0'], x1=ssdict['x1'], y1=ssdict['y1'], xs=spdict['xs'], ys=spdict['ys']) print "curve point was updated with t=%f" % (t)
def update_quiver_data(u_str, v_str): """ updates the bokeh.models.ColumnDataSource_s holding the quiver data :param u_str: string, first component of the vector values function :param v_str: string, second component of the vector values function :return: """ # string parsing u_fun, _ = my_bokeh_utils.string_to_function_parser(u_str, ['x', 'y']) v_fun, _ = my_bokeh_utils.string_to_function_parser(v_str, ['x', 'y']) # crating samples x_val, y_val, u_val, v_val, h = get_samples(u_fun, v_fun) # generating quiver data and updating sources ssdict, spdict, sbdict = my_bokeh_utils.quiver_to_data(x=x_val, y=y_val, u=u_val, v=v_val, h=h, do_normalization=False) # save quiver data to respective ColumnDataSource_s source_segments.data = ssdict source_patches.data = spdict source_basept.data = sbdict print "quiver data was updated for u(x,y) = %s, v(x,y) = %s" % (u_str, v_str)
def update_quiver_data(u_str, v_str): """ updates the bokeh.models.ColumnDataSource_s holding the quiver data :param u_str: string, first component of the vector values function :param v_str: string, second component of the vector values function :return: """ # string parsing u_fun, _ = my_bokeh_utils.string_to_function_parser(u_str, ['x', 'y']) v_fun, _ = my_bokeh_utils.string_to_function_parser(v_str, ['x', 'y']) # crating samples x_val, y_val, u_val, v_val, h = get_samples(u_fun, v_fun) # generating quiver data and updating sources ssdict, spdict, sbdict = my_bokeh_utils.quiver_to_data( x=x_val, y=y_val, u=u_val, v=v_val, h=h, do_normalization=False) # save quiver data to respective ColumnDataSource_s source_segments.data = ssdict source_patches.data = spdict source_basept.data = sbdict print "quiver data was updated for u(x,y) = %s, v(x,y) = %s" % (u_str, v_str)