mathai 2.2.4__tar.gz → 2.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mathai-2.2.4 → mathai-2.2.5}/PKG-INFO +13 -13
- {mathai-2.2.4 → mathai-2.2.5}/README.md +12 -12
- {mathai-2.2.4 → mathai-2.2.5}/mathai/graphics.py +1 -19
- {mathai-2.2.4 → mathai-2.2.5}/mathai/inverse.py +24 -13
- {mathai-2.2.4 → mathai-2.2.5}/mathai.egg-info/PKG-INFO +13 -13
- {mathai-2.2.4 → mathai-2.2.5}/setup.py +1 -1
- {mathai-2.2.4 → mathai-2.2.5}/mathai/__init__.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/apart.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/base.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/decision.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/diff.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/electronic.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/expand.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/factor.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/differentiation.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/integration.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/integration_trig.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/is_integrate_subs.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/lambda_compress.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/lambda_expand.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/lambda_reduce.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/limit_infinity.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/matrix_vectorization_calculus.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/power_rule.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/quadratic.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/statistics_1.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/statistics_2.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/test.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula/trigonometry_misc.marshal +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula_compiler.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula_data.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/formula_interpretor.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/fraction.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/integrate.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/lambda_calculus.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/limit.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/linear.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/logic.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/matrix.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/ml.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/mlscalar.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/ode.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/parser.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/pde.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/printeq.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/qm.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/simplify.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/statistics.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/test.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/tool.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/trig.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai/univariate_inequality.py +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai.egg-info/SOURCES.txt +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai.egg-info/dependency_links.txt +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai.egg-info/requires.txt +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/mathai.egg-info/top_level.txt +0 -0
- {mathai-2.2.4 → mathai-2.2.5}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mathai
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
4
4
|
Summary: Mathematics solving Ai tailored to NCERT
|
|
5
5
|
Home-page: https://github.com/infinity390/mathai
|
|
6
6
|
Requires-Python: >=3.7
|
|
@@ -467,7 +467,7 @@ solve_graphics_string("15 25 0 None None None None None None 30*pi/180 0 50 None
|
|
|
467
467
|
print()
|
|
468
468
|
solve_graphics_string("0 -25 0 None None None None None None None 0 55 None 75") # 11.17
|
|
469
469
|
print()
|
|
470
|
-
solve_graphics_string("25 50 0 -30 None None None None None None 0
|
|
470
|
+
solve_graphics_string("25 50 0 -30 None None None None None None 0 None None 80") # 11.19
|
|
471
471
|
```
|
|
472
472
|
|
|
473
473
|
#### Output
|
|
@@ -477,14 +477,14 @@ Ay : 20
|
|
|
477
477
|
Az : 0
|
|
478
478
|
Bx : 30
|
|
479
479
|
By : 20+(60*sin(((2*pi)/9)))
|
|
480
|
-
Bz : 60*
|
|
480
|
+
Bz : 60*sqrt((1-(sin(((2*pi)/9))^2)))
|
|
481
481
|
Bx-Ax : 0
|
|
482
482
|
By-Ay : 60*sin(((2*pi)/9))
|
|
483
|
-
Bz-Az : 60*
|
|
483
|
+
Bz-Az : 60*sqrt((1-(sin(((2*pi)/9))^2)))
|
|
484
484
|
inclination_with_VP : 0
|
|
485
485
|
inclination_with_HP : (2*pi)/9
|
|
486
486
|
front_view_length : 60
|
|
487
|
-
top_view_length :
|
|
487
|
+
top_view_length : sqrt((3600-(3600*(sin(((2*pi)/9))^2))))
|
|
488
488
|
line_length : 60
|
|
489
489
|
|
|
490
490
|
Ax : 20
|
|
@@ -520,16 +520,16 @@ line_length : 100/(3^-(-1/2))
|
|
|
520
520
|
Ax : 0
|
|
521
521
|
Ay : -25
|
|
522
522
|
Az : 0
|
|
523
|
-
Bx :
|
|
523
|
+
Bx : 5*sqrt(104)
|
|
524
524
|
By : -25
|
|
525
525
|
Bz : 55
|
|
526
|
-
Bx-Ax :
|
|
526
|
+
Bx-Ax : 5*sqrt(104)
|
|
527
527
|
By-Ay : 0
|
|
528
528
|
Bz-Az : 55
|
|
529
|
-
inclination_with_VP :
|
|
529
|
+
inclination_with_VP : arcsin((sqrt(104)/15))
|
|
530
530
|
inclination_with_HP : 0
|
|
531
531
|
front_view_length : 55
|
|
532
|
-
top_view_length :
|
|
532
|
+
top_view_length : 75
|
|
533
533
|
line_length : 75
|
|
534
534
|
|
|
535
535
|
Ax : 25
|
|
@@ -537,14 +537,14 @@ Ay : 50
|
|
|
537
537
|
Az : 0
|
|
538
538
|
Bx : -30
|
|
539
539
|
By : 50
|
|
540
|
-
Bz :
|
|
540
|
+
Bz : 5*sqrt(135)
|
|
541
541
|
Bx-Ax : -55
|
|
542
542
|
By-Ay : 0
|
|
543
|
-
Bz-Az :
|
|
543
|
+
Bz-Az : 5*sqrt(135)
|
|
544
544
|
inclination_with_VP : arcsin((-11/16))
|
|
545
545
|
inclination_with_HP : 0
|
|
546
|
-
front_view_length :
|
|
547
|
-
top_view_length :
|
|
546
|
+
front_view_length : sqrt(3375)
|
|
547
|
+
top_view_length : 80
|
|
548
548
|
line_length : 80
|
|
549
549
|
```
|
|
550
550
|
|
|
@@ -451,7 +451,7 @@ solve_graphics_string("15 25 0 None None None None None None 30*pi/180 0 50 None
|
|
|
451
451
|
print()
|
|
452
452
|
solve_graphics_string("0 -25 0 None None None None None None None 0 55 None 75") # 11.17
|
|
453
453
|
print()
|
|
454
|
-
solve_graphics_string("25 50 0 -30 None None None None None None 0
|
|
454
|
+
solve_graphics_string("25 50 0 -30 None None None None None None 0 None None 80") # 11.19
|
|
455
455
|
```
|
|
456
456
|
|
|
457
457
|
#### Output
|
|
@@ -461,14 +461,14 @@ Ay : 20
|
|
|
461
461
|
Az : 0
|
|
462
462
|
Bx : 30
|
|
463
463
|
By : 20+(60*sin(((2*pi)/9)))
|
|
464
|
-
Bz : 60*
|
|
464
|
+
Bz : 60*sqrt((1-(sin(((2*pi)/9))^2)))
|
|
465
465
|
Bx-Ax : 0
|
|
466
466
|
By-Ay : 60*sin(((2*pi)/9))
|
|
467
|
-
Bz-Az : 60*
|
|
467
|
+
Bz-Az : 60*sqrt((1-(sin(((2*pi)/9))^2)))
|
|
468
468
|
inclination_with_VP : 0
|
|
469
469
|
inclination_with_HP : (2*pi)/9
|
|
470
470
|
front_view_length : 60
|
|
471
|
-
top_view_length :
|
|
471
|
+
top_view_length : sqrt((3600-(3600*(sin(((2*pi)/9))^2))))
|
|
472
472
|
line_length : 60
|
|
473
473
|
|
|
474
474
|
Ax : 20
|
|
@@ -504,16 +504,16 @@ line_length : 100/(3^-(-1/2))
|
|
|
504
504
|
Ax : 0
|
|
505
505
|
Ay : -25
|
|
506
506
|
Az : 0
|
|
507
|
-
Bx :
|
|
507
|
+
Bx : 5*sqrt(104)
|
|
508
508
|
By : -25
|
|
509
509
|
Bz : 55
|
|
510
|
-
Bx-Ax :
|
|
510
|
+
Bx-Ax : 5*sqrt(104)
|
|
511
511
|
By-Ay : 0
|
|
512
512
|
Bz-Az : 55
|
|
513
|
-
inclination_with_VP :
|
|
513
|
+
inclination_with_VP : arcsin((sqrt(104)/15))
|
|
514
514
|
inclination_with_HP : 0
|
|
515
515
|
front_view_length : 55
|
|
516
|
-
top_view_length :
|
|
516
|
+
top_view_length : 75
|
|
517
517
|
line_length : 75
|
|
518
518
|
|
|
519
519
|
Ax : 25
|
|
@@ -521,14 +521,14 @@ Ay : 50
|
|
|
521
521
|
Az : 0
|
|
522
522
|
Bx : -30
|
|
523
523
|
By : 50
|
|
524
|
-
Bz :
|
|
524
|
+
Bz : 5*sqrt(135)
|
|
525
525
|
Bx-Ax : -55
|
|
526
526
|
By-Ay : 0
|
|
527
|
-
Bz-Az :
|
|
527
|
+
Bz-Az : 5*sqrt(135)
|
|
528
528
|
inclination_with_VP : arcsin((-11/16))
|
|
529
529
|
inclination_with_HP : 0
|
|
530
|
-
front_view_length :
|
|
531
|
-
top_view_length :
|
|
530
|
+
front_view_length : sqrt(3375)
|
|
531
|
+
top_view_length : 80
|
|
532
532
|
line_length : 80
|
|
533
533
|
```
|
|
534
534
|
|
|
@@ -4,10 +4,8 @@ from .simplify import simplify
|
|
|
4
4
|
from .trig import trig0
|
|
5
5
|
import itertools
|
|
6
6
|
from .inverse import inverse
|
|
7
|
-
from .formula_data import compile_formula
|
|
8
7
|
from .expand import expand
|
|
9
8
|
from .parser import parse
|
|
10
|
-
|
|
11
9
|
def solve_graphics(Ax, Ay, Az, Bx, By, Bz, BAx, BAy, BAz, phi, theta, fvl, tvl, length):
|
|
12
10
|
eq1 = TreeNode("f_eq", [TreeNode("v_6"), TreeNode("v_3") - TreeNode("v_0")])
|
|
13
11
|
eq2 = TreeNode("f_eq", [TreeNode("v_7"), TreeNode("v_4") - TreeNode("v_1")])
|
|
@@ -17,52 +15,36 @@ def solve_graphics(Ax, Ay, Az, Bx, By, Bz, BAx, BAy, BAz, phi, theta, fvl, tvl,
|
|
|
17
15
|
eq6 = TreeNode("f_eq", [TreeNode("v_8"), (TreeNode("d_1") - TreeNode("v_9").fx("sin")**2 - TreeNode("v_10").fx("sin")**2).fx("sqrt") * TreeNode("v_13")])
|
|
18
16
|
eq7 = TreeNode("f_eq", [TreeNode("v_12")**2, (TreeNode("v_3") - TreeNode("v_0"))**2 + (TreeNode("v_5") - TreeNode("v_2"))**2])
|
|
19
17
|
eq8 = TreeNode("f_eq", [TreeNode("v_11")**2, (TreeNode("v_4") - TreeNode("v_1"))**2 + (TreeNode("v_5") - TreeNode("v_2"))**2])
|
|
20
|
-
|
|
21
18
|
q = operation("f_and", [eq1, eq2, eq3, eq4, eq5, eq6, eq7, eq8])
|
|
22
19
|
lst = [Ax, Ay, Az, Bx, By, Bz, BAx, BAy, BAz, phi, theta, fvl, tvl, length]
|
|
23
20
|
name = "Ax Ay Az Bx By Bz Bx-Ax By-Ay Bz-Az inclination_with_VP inclination_with_HP front_view_length top_view_length line_length".split(" ")
|
|
24
|
-
|
|
25
21
|
solution = {}
|
|
26
22
|
for index, item in enumerate(lst):
|
|
27
23
|
if item is not None:
|
|
28
24
|
solution[f"v_{index}"] = item
|
|
29
|
-
|
|
30
|
-
fx = compile_formula("sin(x)^2 1-cos(x)^2 _ _ _ _ _ _ _ 2")
|
|
31
25
|
q = simplify(q)
|
|
32
|
-
|
|
33
26
|
done = True
|
|
34
27
|
while done:
|
|
35
28
|
done = False
|
|
36
29
|
for i in range(len(q.children)):
|
|
37
30
|
item = q.children[i]
|
|
38
|
-
# Replace known variables
|
|
39
31
|
for key, item2 in solution.items():
|
|
40
32
|
item = replace(item, TreeNode(key), item2)
|
|
41
|
-
|
|
42
|
-
# Apply trig identities during simplification
|
|
43
|
-
item = fraction(expand(trig0(fx(simplify(item)))))
|
|
33
|
+
item = fraction(expand(trig0(simplify(item))))
|
|
44
34
|
q.children[i] = item
|
|
45
|
-
|
|
46
|
-
# Solvable equation check
|
|
47
35
|
vars_in_item = vlist(item)
|
|
48
36
|
if len(vars_in_item) == 1:
|
|
49
37
|
target_var = vars_in_item[0]
|
|
50
|
-
# Pass the full equation node (or LHS - RHS) so inverse() has both sides
|
|
51
38
|
solution[target_var] = inverse(item.children[0], target_var)
|
|
52
39
|
done = True
|
|
53
40
|
break
|
|
54
|
-
|
|
55
|
-
# Map back to readable parameter names safely
|
|
56
41
|
final_solution = {}
|
|
57
42
|
for i, param_name in enumerate(name):
|
|
58
43
|
var_key = f"v_{i}"
|
|
59
44
|
if var_key in solution:
|
|
60
45
|
final_solution[param_name] = simplify(expand(solution[var_key]))
|
|
61
|
-
|
|
62
46
|
return final_solution
|
|
63
|
-
|
|
64
47
|
def solve_graphics_string(s):
|
|
65
|
-
# Use s.split() to handle arbitrary whitespace cleanly
|
|
66
48
|
s_parsed = [None if item == "None" else parse(item) for item in s.split()]
|
|
67
49
|
for key, item in solve_graphics(*s_parsed).items():
|
|
68
50
|
print(f"{key} : {item}")
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
from .base import *
|
|
2
2
|
from .simplify import simplify
|
|
3
3
|
from .expand import expand
|
|
4
|
-
|
|
4
|
+
import copy
|
|
5
|
+
def inverse(rhs, term, sign=None):
|
|
5
6
|
term = tree_form(term)
|
|
6
7
|
lhs = tree_form("d_0")
|
|
8
|
+
rhs = copy.deepcopy(rhs)
|
|
7
9
|
count = 15
|
|
8
|
-
while not rhs==term:
|
|
10
|
+
while not rhs == term:
|
|
9
11
|
if rhs.name == "f_add":
|
|
10
|
-
if all(term in factor_generation(child) for child in rhs.children):
|
|
11
|
-
newrhs = simplify(expand(rhs*term**-1))
|
|
12
|
+
if rhs.children and all(term in factor_generation(child) for child in rhs.children):
|
|
13
|
+
newrhs = simplify(expand(rhs * term**-1))
|
|
12
14
|
if not contain(newrhs, term):
|
|
13
15
|
rhs = term * newrhs
|
|
14
16
|
else:
|
|
15
|
-
for i in range(len(rhs.children)-1
|
|
17
|
+
for i in range(len(rhs.children) - 1, -1, -1):
|
|
16
18
|
if not contain(rhs.children[i], term):
|
|
17
19
|
lhs = lhs - rhs.children[i]
|
|
18
20
|
rhs.children.pop(i)
|
|
19
21
|
elif rhs.name == "f_mul":
|
|
20
|
-
for i in range(len(rhs.children)-1
|
|
22
|
+
for i in range(len(rhs.children) - 1, -1, -1):
|
|
21
23
|
if not contain(rhs.children[i], term):
|
|
22
24
|
lhs = lhs * rhs.children[i]**-1
|
|
23
25
|
if sign is not None:
|
|
@@ -26,11 +28,17 @@ def inverse(rhs,term, sign=None):
|
|
|
26
28
|
if compute(rhs.children[i]**-1) < 0:
|
|
27
29
|
sign = not sign
|
|
28
30
|
rhs.children.pop(i)
|
|
29
|
-
elif rhs.name == "f_pow" and contain(rhs.children[0], term):
|
|
30
|
-
lhs = lhs ** (tree_form("d_1")/rhs.children[1])
|
|
31
|
+
elif rhs.name == "f_pow" and contain(rhs.children[0], term) and not contain(rhs.children[1], term):
|
|
32
|
+
lhs = lhs ** (tree_form("d_1") / rhs.children[1])
|
|
33
|
+
if sign is not None:
|
|
34
|
+
if compute(rhs.children[1]) < 0:
|
|
35
|
+
sign = not sign
|
|
31
36
|
rhs = copy.deepcopy(rhs.children[0])
|
|
37
|
+
elif rhs.name == "f_pow" and rhs.children[0].name == "s_e" and contain(rhs.children[1], term):
|
|
38
|
+
lhs = lhs.fx("log")
|
|
39
|
+
rhs = copy.deepcopy(rhs.children[1])
|
|
32
40
|
elif rhs.name == "f_pow" and contain(rhs.children[1], term) and not contain(rhs.children[0], term):
|
|
33
|
-
lhs = lhs.fx("log")/rhs.children[0].fx("log")
|
|
41
|
+
lhs = lhs.fx("log") / rhs.children[0].fx("log")
|
|
34
42
|
rhs = copy.deepcopy(rhs.children[1])
|
|
35
43
|
elif rhs.name == "f_sin" and contain(rhs.children[0], term):
|
|
36
44
|
lhs = lhs.fx("arcsin")
|
|
@@ -40,27 +48,30 @@ def inverse(rhs,term, sign=None):
|
|
|
40
48
|
rhs = copy.deepcopy(rhs.children[0])
|
|
41
49
|
elif rhs.name == "f_arccos" and contain(rhs.children[0], term):
|
|
42
50
|
lhs = lhs.fx("cos")
|
|
51
|
+
if sign is not None:
|
|
52
|
+
sign = not sign
|
|
43
53
|
rhs = copy.deepcopy(rhs.children[0])
|
|
44
54
|
elif rhs.name == "f_cos" and contain(rhs.children[0], term):
|
|
45
55
|
lhs = lhs.fx("arccos")
|
|
56
|
+
if sign is not None:
|
|
57
|
+
sign = not sign
|
|
46
58
|
rhs = copy.deepcopy(rhs.children[0])
|
|
47
59
|
elif rhs.name == "f_log" and contain(rhs.children[0], term):
|
|
48
60
|
lhs = tree_form("s_e")**lhs
|
|
49
61
|
rhs = copy.deepcopy(rhs.children[0])
|
|
50
|
-
elif rhs.name == "f_pow" and rhs.children[0].name == "s_e" and contain(rhs.children[1], term):
|
|
51
|
-
lhs = lhs.fx("log")
|
|
52
|
-
rhs = copy.deepcopy(rhs.children[1].fx("log"))
|
|
53
62
|
elif rhs.name == "f_tan" and contain(rhs.children[0], term):
|
|
54
63
|
lhs = lhs.fx("arctan")
|
|
55
64
|
rhs = copy.deepcopy(rhs.children[0])
|
|
56
65
|
elif rhs.name == "f_arctan" and contain(rhs.children[0], term):
|
|
57
66
|
lhs = lhs.fx("tan")
|
|
58
67
|
rhs = copy.deepcopy(rhs.children[0])
|
|
59
|
-
if len(rhs.children) == 1:
|
|
68
|
+
if rhs.name in ["f_add", "f_mul"] and len(rhs.children) == 1:
|
|
60
69
|
rhs = rhs.children[0]
|
|
61
70
|
count -= 1
|
|
62
71
|
if count == 0:
|
|
63
72
|
return None
|
|
73
|
+
if contain(lhs, term):
|
|
74
|
+
return None
|
|
64
75
|
if sign is None:
|
|
65
76
|
return simplify(lhs)
|
|
66
77
|
return simplify(lhs), sign
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mathai
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
4
4
|
Summary: Mathematics solving Ai tailored to NCERT
|
|
5
5
|
Home-page: https://github.com/infinity390/mathai
|
|
6
6
|
Requires-Python: >=3.7
|
|
@@ -467,7 +467,7 @@ solve_graphics_string("15 25 0 None None None None None None 30*pi/180 0 50 None
|
|
|
467
467
|
print()
|
|
468
468
|
solve_graphics_string("0 -25 0 None None None None None None None 0 55 None 75") # 11.17
|
|
469
469
|
print()
|
|
470
|
-
solve_graphics_string("25 50 0 -30 None None None None None None 0
|
|
470
|
+
solve_graphics_string("25 50 0 -30 None None None None None None 0 None None 80") # 11.19
|
|
471
471
|
```
|
|
472
472
|
|
|
473
473
|
#### Output
|
|
@@ -477,14 +477,14 @@ Ay : 20
|
|
|
477
477
|
Az : 0
|
|
478
478
|
Bx : 30
|
|
479
479
|
By : 20+(60*sin(((2*pi)/9)))
|
|
480
|
-
Bz : 60*
|
|
480
|
+
Bz : 60*sqrt((1-(sin(((2*pi)/9))^2)))
|
|
481
481
|
Bx-Ax : 0
|
|
482
482
|
By-Ay : 60*sin(((2*pi)/9))
|
|
483
|
-
Bz-Az : 60*
|
|
483
|
+
Bz-Az : 60*sqrt((1-(sin(((2*pi)/9))^2)))
|
|
484
484
|
inclination_with_VP : 0
|
|
485
485
|
inclination_with_HP : (2*pi)/9
|
|
486
486
|
front_view_length : 60
|
|
487
|
-
top_view_length :
|
|
487
|
+
top_view_length : sqrt((3600-(3600*(sin(((2*pi)/9))^2))))
|
|
488
488
|
line_length : 60
|
|
489
489
|
|
|
490
490
|
Ax : 20
|
|
@@ -520,16 +520,16 @@ line_length : 100/(3^-(-1/2))
|
|
|
520
520
|
Ax : 0
|
|
521
521
|
Ay : -25
|
|
522
522
|
Az : 0
|
|
523
|
-
Bx :
|
|
523
|
+
Bx : 5*sqrt(104)
|
|
524
524
|
By : -25
|
|
525
525
|
Bz : 55
|
|
526
|
-
Bx-Ax :
|
|
526
|
+
Bx-Ax : 5*sqrt(104)
|
|
527
527
|
By-Ay : 0
|
|
528
528
|
Bz-Az : 55
|
|
529
|
-
inclination_with_VP :
|
|
529
|
+
inclination_with_VP : arcsin((sqrt(104)/15))
|
|
530
530
|
inclination_with_HP : 0
|
|
531
531
|
front_view_length : 55
|
|
532
|
-
top_view_length :
|
|
532
|
+
top_view_length : 75
|
|
533
533
|
line_length : 75
|
|
534
534
|
|
|
535
535
|
Ax : 25
|
|
@@ -537,14 +537,14 @@ Ay : 50
|
|
|
537
537
|
Az : 0
|
|
538
538
|
Bx : -30
|
|
539
539
|
By : 50
|
|
540
|
-
Bz :
|
|
540
|
+
Bz : 5*sqrt(135)
|
|
541
541
|
Bx-Ax : -55
|
|
542
542
|
By-Ay : 0
|
|
543
|
-
Bz-Az :
|
|
543
|
+
Bz-Az : 5*sqrt(135)
|
|
544
544
|
inclination_with_VP : arcsin((-11/16))
|
|
545
545
|
inclination_with_HP : 0
|
|
546
|
-
front_view_length :
|
|
547
|
-
top_view_length :
|
|
546
|
+
front_view_length : sqrt(3375)
|
|
547
|
+
top_view_length : 80
|
|
548
548
|
line_length : 80
|
|
549
549
|
```
|
|
550
550
|
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
setup(
|
|
4
4
|
name="mathai",
|
|
5
|
-
version="2.2.
|
|
5
|
+
version="2.2.5",
|
|
6
6
|
description="Mathematics solving Ai tailored to NCERT",
|
|
7
7
|
long_description=Path("README.md").read_text(encoding="utf-8"),
|
|
8
8
|
long_description_content_type="text/markdown",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|