Advertisement
jukaukor

Kolmioidentylppakulmaisuus.jl

Jan 7th, 2023
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. # arvotaan yksikköympyrän sisään tasakautuneita
  2. # satunnaispisteitä,joista muodostetaan satunnaiskolmiota
  3. # Juhani Kaukoranta 7.1.2023
  4. using LinearAlgebra
  5. function kolmiot(n)
  6. # n kolmioiden lukumäärä
  7. # kolmio : kolme kärkipistettä
  8. tylppa = 0 # tylppäkulmasten lukumäärä
  9. for i = 1 : n
  10. r = sqrt(rand()) # neliöjuuri pisteiden tasajakaumaan
  11. alfa = 2*pi*rand()
  12. P1 =[r*cos(alfa),r*sin(alfa)] # kolmion kärki
  13. r = sqrt(rand())
  14. alfa = 2*pi*rand()
  15. P2 =[r*cos(alfa),r*sin(alfa)] # kolmion kärki
  16. r = sqrt(rand())
  17. alfa = 2*pi*rand()
  18. P3 =[r*cos(alfa),r*sin(alfa)] # kolmion kärki
  19. a = norm(P2 .- P1) # kolmiot sivut a,b,c
  20. b = norm(P3 .- P2)
  21. c = norm(P3 .- P1)
  22. angleP2 = acos((a^2+b^2-c^2)/(2*a*b)) # kolmion kärki
  23. angleP3 = acos((b^2+c^2-a^2)/(2*b*c))
  24. angleP1 = acos((a^2+c^2-b^2)/(2*a*c))
  25. # jos yksikin kolmion kulmista > 90°,kolmio on tylppäkulmainen
  26. if (angleP1>pi/2) || (angleP2 >pi/2) || (angleP3 >pi/2)
  27. tylppa += 1
  28. end
  29. end
  30. tylppienosuus = tylppa/n
  31. println("tylppäkulmaisten kolmioiden osuus = ",tylppienosuus)
  32. println("teräväkulmaisten kolmioiden osuus = ",1-tylppienosuus)
  33. end
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement