From c471967fbe0a3aa6da2998bbc80e1617cf3111f5 Mon Sep 17 00:00:00 2001 From: Daniel <59575049+lemoentjiez@users.noreply.github.com> Date: Fri, 9 Dec 2022 12:26:40 +0200 Subject: [PATCH] Update fourth.py --- LabPSA_2/fourth.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/LabPSA_2/fourth.py b/LabPSA_2/fourth.py index 33923bf..895a84b 100644 --- a/LabPSA_2/fourth.py +++ b/LabPSA_2/fourth.py @@ -1,15 +1,30 @@ import random from numpy import pi, cos, sin, sqrt + +def distance(pointa, pointb): + return sqrt((pointa[0] - pointb[0]) ** 2 + (pointa[1] - pointb[1]) ** 2) + + +def create_point(): + angle = random.uniform(0, 2*pi) + x = cos(angle) + y = sin(angle) + return x, y + + +def check_acute(a, b, c): + if a**2 + b**2 > c ** 2: + return True + else: + return False + + counter = 0 for _ in range(100000): - (x1, y1) = (cos(random.uniform(0, 2*pi)), sin(random.uniform(0, 2*pi))) - (x2, y2) = (cos(random.uniform(0, 2 * pi)), sin(random.uniform(0, 2 * pi))) - (x3, y3) = (cos(random.uniform(0, 2 * pi)), sin(random.uniform(0, 2 * pi))) - len1 = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) - len2 = sqrt((x3 - x1) ** 2 + (y3 - y1) ** 2) - len3 = sqrt((x3 - x2) ** 2 + (y3 - y2) ** 2) - if len1 ** 2 + len2 ** 2 > len3 ** 2 and len2 ** 2 + len3 ** 2 > len1 ** 2 and len1 ** 2 + len3 ** 2 > len2 ** 2: + x1, x2, x3 = create_point(), create_point(), create_point() + l = [distance(x1, x2), distance(x1, x3), distance(x2, x3)] + l.sort() + if check_acute(l[0], l[1], l[2]): counter+=1 print(counter/100000) -