pooltool.evolution.event_based.solve#

Overview#

Function#

ball_ball_collision_coeffs(rvw1, rvw2, s1, s2, mu1, mu2, m1, m2, g1, g2, R)

Get quartic coeffs required to determine the ball-ball collision time

ball_ball_collision_time(rvw1, rvw2, s1, s2, mu1, mu2, m1, m2, g1, g2, R)

Get the time until collision between 2 balls

ball_linear_cushion_collision_time(rvw, s, lx, ly, l0, p1, p2, direction, mu, m, g, R)

Get time until collision between ball and linear cushion segment

ball_circular_cushion_collision_coeffs(rvw, s, a, b, r, mu, m, g, R)

Get quartic coeffs required to determine the ball-circular-cushion collision time

ball_pocket_collision_coeffs(rvw, s, a, b, r, mu, m, g, R)

Get quartic coeffs required to determine the ball-pocket collision time

Functions#

pooltool.evolution.event_based.solve.ball_ball_collision_coeffs(rvw1, rvw2, s1, s2, mu1, mu2, m1, m2, g1, g2, R)[source]#

Get quartic coeffs required to determine the ball-ball collision time

(just-in-time compiled)

pooltool.evolution.event_based.solve.ball_ball_collision_time(rvw1, rvw2, s1, s2, mu1, mu2, m1, m2, g1, g2, R)[source]#

Get the time until collision between 2 balls

NOTE This is deprecated. Rather than solve the roots of a single polynomial equation, as is done in this function, all roots of a given collision class are solved simultaneously via ptmath.roots

pooltool.evolution.event_based.solve.ball_linear_cushion_collision_time(rvw, s, lx, ly, l0, p1, p2, direction, mu, m, g, R)[source]#

Get time until collision between ball and linear cushion segment

(just-in-time compiled)

pooltool.evolution.event_based.solve.ball_circular_cushion_collision_coeffs(rvw, s, a, b, r, mu, m, g, R)[source]#

Get quartic coeffs required to determine the ball-circular-cushion collision time

(just-in-time compiled)

pooltool.evolution.event_based.solve.ball_pocket_collision_coeffs(rvw, s, a, b, r, mu, m, g, R)[source]#

Get quartic coeffs required to determine the ball-pocket collision time

(just-in-time compiled)