Files
mathgenerator/mathgenerator/funcs/angleBtwVectorsFunc.py
2020-10-19 20:33:18 -04:00

29 lines
933 B
Python

from .__init__ import *
from ..__init__ import Generator
def angleBtwVectorsFunc(maxEltAmt=20):
s = 0
v1 = [random.uniform(0, 1000) for i in range(random.randint(2, maxEltAmt))]
v2 = [random.uniform(0, 1000) for i in v1]
for i in v1:
for j in v2:
s += i * j
mags = math.sqrt(sum([i**2 for i in v1])) * math.sqrt(sum([i**2 for i in v2]))
problem = f"angle between the vectors {v1} and {v2} is:"
solution = ''
try:
solution = str(math.acos(s / mags))
except MathDomainError:
print('angleBtwVectorsFunc has some issues with math module, line 16')
solution = 'NaN'
# would return the answer in radians
return problem, solution
angleBtwVectors = Generator(
"Angle between 2 vectors", 70,
"Angle Between 2 vectors V1=[v11, v12, ..., v1n] and V2=[v21, v22, ....., v2n]",
"V1.V2 / (euclidNorm(V1)*euclidNorm(V2))", angleBtwVectorsFunc)