Check if a system is in equilibrium. It takes two numpy.array objects. forces ==> [ [force1_x, force1_y], [force2_x, force2_y], ....] location ==> [ [x1, y1], [x
(
forces: NDArray[float64], location: NDArray[float64], eps: float = 10**-1
)
| 32 | |
| 33 | |
| 34 | def in_static_equilibrium( |
| 35 | forces: NDArray[float64], location: NDArray[float64], eps: float = 10**-1 |
| 36 | ) -> bool: |
| 37 | """ |
| 38 | Check if a system is in equilibrium. |
| 39 | It takes two numpy.array objects. |
| 40 | forces ==> [ |
| 41 | [force1_x, force1_y], |
| 42 | [force2_x, force2_y], |
| 43 | ....] |
| 44 | location ==> [ |
| 45 | [x1, y1], |
| 46 | [x2, y2], |
| 47 | ....] |
| 48 | >>> force = array([[1, 1], [-1, 2]]) |
| 49 | >>> location = array([[1, 0], [10, 0]]) |
| 50 | >>> in_static_equilibrium(force, location) |
| 51 | False |
| 52 | """ |
| 53 | # summation of moments is zero |
| 54 | moments: NDArray[float64] = cross(location, forces) |
| 55 | sum_moments: float = sum(moments) |
| 56 | return bool(abs(sum_moments) < eps) |
| 57 | |
| 58 | |
| 59 | if __name__ == "__main__": |
no test coverage detected