def test_crash(self): # base of triangle (from orig to dest) o = KineticVertex() o.origin = (0., 0.) o.velocity = (0., 1.) d = KineticVertex() d.origin = (10., 0.) d.velocity = (0, 1.) # vertex supposed to crash into base (the apex) a = KineticVertex() a.origin = (5, 5) a.velocity = (0., -1.) times = [] # vertex crash time time = vertex_crash_time(o, d, a) times.append(time) # edge collapse times time = collapse_time_edge(o, d) times.append(time) time = collapse_time_edge(d, a) times.append(time) time = collapse_time_edge(a, o) times.append(time) # area collapse time coeff = area_collapse_time_coeff(o, d, a) time = solve_quadratic(coeff[0], coeff[1], coeff[2]) times.extend(time) times = get_unique_times(times) show_all_times(times, o, d, a)
def test_central_crash(self): # base of triangle2 (from orig to dest) o = KineticVertex() o.origin = (0., 0.) o.velocity = (sqrt(2), sqrt(2)) d = KineticVertex() d.origin = (10., 0.) d.velocity = (-sqrt(2), -sqrt(2)) # vertex supposed to crash into base (the apex) a = KineticVertex() a.origin = (5, 5) a.velocity = (0, -sqrt(2)) # edge collapse times times = [] time = collapse_time_edge(o, d) times.append(time) time = collapse_time_edge(d, a) times.append(time) time = collapse_time_edge(a, o) times.append(time) # area collapse time area = area_collapse_times(o, d, a) times.extend(area) # vertex crash time time = vertex_crash_time(o, d, a) times.append(time) # filter None out of the times and see what is there... times = get_unique_times(times) show_all_times(times, o, d, a)
def test_perpendicular2_crash(self): # base of triangle2 (from orig to dest) o = KineticVertex() o.origin = (0., 0.) o.velocity = (0., 1.) d = KineticVertex() d.origin = (10., 0.) d.velocity = (0, 1.) # vertex supposed to crash into base (the apex) a = KineticVertex() a.origin = (5, 5) a.velocity = (1, 0) # edge collapse times times = [] time = collapse_time_edge(o, d) times.append(time) time = collapse_time_edge(d, a) times.append(time) time = collapse_time_edge(a, o) times.append(time) # area collapse time area = area_collapse_times(o, d, a) times.extend(area) # vertex crash time time = vertex_crash_time(o, d, a) times.append(time) # times = get_unique_times(times) show_all_times(times, o, d, a)
def test_equilateral_outwards(self): # k = KineticTriangle() V = [] v = KineticVertex() v.origin = (0.0, 0.0) v.velocity = (-2.1889010593167346, -1.0) V.append(v) v = KineticVertex() v.origin = (3.0, 0.0) v.velocity = (2.1889010593167346, -1.0) V.append(v) v = KineticVertex() v.origin = (1.5, 1.7320508075688772) v.velocity = (0.0, 1.5275252316519463) V.append(v) o, d, a = V print o, d, a # k.vertices = V # edge collapse times times = [] time = collapse_time_edge(o, d) times.append(time) time = collapse_time_edge(d, a) times.append(time) time = collapse_time_edge(a, o) times.append(time) # area collapse times area = area_collapse_times(o, d, a) times.extend(area) # vertex crash time time = vertex_crash_time(o, d, a) times.append(time) # print times times = get_unique_times(times) show_all_times(times, o, d, a) self.assertRaises(ValueError, find_ge, times, 0)