Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # arvotaan yksikköympyrän sisään tasakautuneita
- # satunnaispisteitä,joista muodostetaan satunnaiskolmiota
- # Juhani Kaukoranta 7.1.2023
- using LinearAlgebra
- function kolmiot(n)
- # n kolmioiden lukumäärä
- # kolmio : kolme kärkipistettä
- tylppa = 0 # tylppäkulmasten lukumäärä
- for i = 1 : n
- r = sqrt(rand()) # neliöjuuri pisteiden tasajakaumaan
- alfa = 2*pi*rand()
- P1 =[r*cos(alfa),r*sin(alfa)] # kolmion kärki
- r = sqrt(rand())
- alfa = 2*pi*rand()
- P2 =[r*cos(alfa),r*sin(alfa)] # kolmion kärki
- r = sqrt(rand())
- alfa = 2*pi*rand()
- P3 =[r*cos(alfa),r*sin(alfa)] # kolmion kärki
- a = norm(P2 .- P1) # kolmiot sivut a,b,c
- b = norm(P3 .- P2)
- c = norm(P3 .- P1)
- angleP2 = acos((a^2+b^2-c^2)/(2*a*b)) # kolmion kärki
- angleP3 = acos((b^2+c^2-a^2)/(2*b*c))
- angleP1 = acos((a^2+c^2-b^2)/(2*a*c))
- # jos yksikin kolmion kulmista > 90°,kolmio on tylppäkulmainen
- if (angleP1>pi/2) || (angleP2 >pi/2) || (angleP3 >pi/2)
- tylppa += 1
- end
- end
- tylppienosuus = tylppa/n
- println("tylppäkulmaisten kolmioiden osuus = ",tylppienosuus)
- println("teräväkulmaisten kolmioiden osuus = ",1-tylppienosuus)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement