
'''simple docstring'''







from __future__ import annotations

from numpy import array, cos, cross, floataa, radians, sin
from numpy.typing import NDArray







def        SCREAMING_SNAKE_CASE__			(     __A    ,       __A    ,       __A = False			) ->			list[float]:
	if radian_mode:
		return [magnitude * cos(__A			), magnitude * sin(__A			)]
	return [magnitude * cos(radians(__A			)			), magnitude * sin(radians(__A			)			)]







def        SCREAMING_SNAKE_CASE__			(     __A    ,       __A    ,       __A = 10**-1			) ->			bool:
	_snake_case     		=	cross(__A    ,       __A			)
	_snake_case     		=	sum(__A			)
	return abs(__A			) < eps


if __name__ == "__main__":
					# Test to check if it works
					lowercase					:							Tuple   =      array(
					    [
					        polar_force(718.4, 180 - 30),
					        polar_force(879.54, 45),
					        polar_force(100, -90),
					    ]
					)

					lowercase					:							NDArray[floataa]   =      array([[0, 0], [0, 0], [0, 0]])

					assert in_static_equilibrium(forces, location)

					# Problem 1 in image_data/2D_problems.jpg
					lowercase					:							Any   =      array(
					    [
					        polar_force(30 * 9.81, 15),
					        polar_force(215, 180 - 45),
					        polar_force(264, 90 - 30),
					    ]
					)

					lowercase					:							Optional[int]   =      array([[0, 0], [0, 0], [0, 0]])

					assert in_static_equilibrium(forces, location)

					# Problem in image_data/2D_problems_1.jpg
					lowercase					:							Optional[int]   =      array([[0, -2000], [0, -1200], [0, 1_5600], [0, -1_2400]])

					lowercase					:							Optional[int]   =      array([[0, 0], [6, 0], [10, 0], [12, 0]])

					assert in_static_equilibrium(forces, location)

					import doctest

					doctest.testmod()



'''simple docstring'''







from abc import ABC, abstractmethod
from argparse import ArgumentParser


class 		__UpperCAmelCase   (      _lowerCamelCase		):


							@staticmethod
							@abstractmethod
							def 				lowerCamelCase       ( lowerCAmelCase_						):





								"""simple docstring"""






								raise NotImplementedError()




							@abstractmethod
							def 				lowerCamelCase       ( self						):





								"""simple docstring"""






								raise NotImplementedError()

