Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1953d4a

Browse files
committed
Fixed float division by Zero bug
1 parent f4c8588 commit 1953d4a

File tree

1 file changed

+53
-25
lines changed

1 file changed

+53
-25
lines changed

‎Vector_Calc/script.py

Lines changed: 53 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,17 @@ def comp_v_on_v(Vals):
7373
abs_v1 = abs_val(Vals[:3])
7474
abs_v2 = abs_val(Vals[3:])
7575

76-
res_a_on_b = round(dot_prod / abs_v2, 5)
77-
a_on_b_val.set(res_a_on_b)
78-
res_b_on_a = round(dot_prod / abs_v1, 5)
79-
b_on_a_val.set(res_b_on_a)
76+
try:
77+
res_a_on_b = round(dot_prod / abs_v2, 5)
78+
a_on_b_val.set(res_a_on_b)
79+
except:
80+
a_on_b_val.set("Invalid")
81+
82+
try:
83+
res_b_on_a = round(dot_prod / abs_v1, 5)
84+
b_on_a_val.set(res_b_on_a)
85+
except:
86+
b_on_a_val.set("Invalid")
8087

8188

8289
def proj_v_on_v(Vals):
@@ -85,21 +92,31 @@ def proj_v_on_v(Vals):
8592
abs_v1 = abs_val(Vals[:3])
8693
abs_v2 = abs_val(Vals[3:])
8794

88-
res_a_on_b = round(dot_prod / abs_v2**2, 5)
89-
x_1 = res_a_on_b * Vals[3]
90-
y_1 = res_a_on_b * Vals[4]
91-
z_1 = res_a_on_b * Vals[5]
92-
a_on_b_proj_x_val.set(x_1)
93-
a_on_b_proj_y_val.set(y_1)
94-
a_on_b_proj_z_val.set(z_1)
95-
96-
res_b_on_a = round(dot_prod / abs_v1**2, 5)
97-
x_2 = res_b_on_a * Vals[0]
98-
y_2 = res_b_on_a * Vals[1]
99-
z_2 = res_b_on_a * Vals[2]
100-
b_on_a_proj_x_val.set(x_2)
101-
b_on_a_proj_y_val.set(y_2)
102-
b_on_a_proj_z_val.set(z_2)
95+
try:
96+
res_a_on_b = round(dot_prod / abs_v2**2, 5)
97+
x_1 = res_a_on_b * Vals[3]
98+
y_1 = res_a_on_b * Vals[4]
99+
z_1 = res_a_on_b * Vals[5]
100+
a_on_b_proj_x_val.set(x_1)
101+
a_on_b_proj_y_val.set(y_1)
102+
a_on_b_proj_z_val.set(z_1)
103+
except:
104+
a_on_b_proj_x_val.set("Invalid")
105+
a_on_b_proj_y_val.set("Invalid")
106+
a_on_b_proj_z_val.set("Invalid")
107+
108+
try:
109+
res_b_on_a = round(dot_prod / abs_v1**2, 5)
110+
x_2 = res_b_on_a * Vals[0]
111+
y_2 = res_b_on_a * Vals[1]
112+
z_2 = res_b_on_a * Vals[2]
113+
b_on_a_proj_x_val.set(x_2)
114+
b_on_a_proj_y_val.set(y_2)
115+
b_on_a_proj_z_val.set(z_2)
116+
except:
117+
b_on_a_proj_x_val.set("Invalid")
118+
b_on_a_proj_y_val.set("Invalid")
119+
b_on_a_proj_z_val.set("Invalid")
103120

104121
Status["text"] = "Calculations Completed! :D "
105122
Status["fg"] = "green"
@@ -150,9 +167,15 @@ def Show_Vec_Frame(vec_num, values):
150167
Modulus_val.place(x=70, y=11, width=80)
151168

152169
# Unit Vectors
153-
uv_x = round(values[0]/Modulus, 5)
154-
uv_y = round(values[1]/Modulus, 5)
155-
uv_z = round(values[2]/Modulus, 5)
170+
try:
171+
uv_x = round(values[0]/Modulus, 5)
172+
uv_y = round(values[1]/Modulus, 5)
173+
uv_z = round(values[2]/Modulus, 5)
174+
except:
175+
uv_x = "Invalid"
176+
uv_y = "Invalid"
177+
uv_z = "Invalid"
178+
156179
Unit_Vector_lbl = Label(vec_window, text="Unit Vector: ", anchor=E, font=("Calibri", 8))
157180
uv_x_lbl = Label(vec_window, text="X > ", anchor=E, font=("Calibri", 8))
158181
uv_x_val = Text(vec_window, height=1, borderwidth=0)
@@ -171,9 +194,14 @@ def Show_Vec_Frame(vec_num, values):
171194
uv_z_lbl.place(x=25, y=90)
172195
uv_z_val.place(x=50, y=91, width=80)
173196

174-
alpha = round(math.acos(uv_x) * 180 / math.pi, 5)
175-
beta = round(math.acos(uv_y) * 180 / math.pi, 5)
176-
gamma = round(math.acos(uv_z) * 180 / math.pi, 5)
197+
if uv_x != "Invalid":
198+
alpha = round(math.acos(uv_x) * 180 / math.pi, 5)
199+
beta = round(math.acos(uv_y) * 180 / math.pi, 5)
200+
gamma = round(math.acos(uv_z) * 180 / math.pi, 5)
201+
else:
202+
alpha = "Invalid"
203+
beta = "Invalid"
204+
gamma = "Invalid"
177205
Cosine_lbl = Label(vec_window, text="Cosine Angles: ", anchor=E, font=("Calibri", 8))
178206
alpha_lbl = Label(vec_window, text="X > ", anchor=E, font=("Calibri", 8))
179207
alpha_val = Text(vec_window, height=1, borderwidth=0)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /