Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1.  
  2. function draaien(eerste,tweede,derde) {
  3. let xa = eerste["x"];
  4. let ya = eerste["y"];
  5.  
  6. let xb = tweede["x"];
  7. let yb = tweede["y"];
  8.  
  9. let xc = derde["x"];
  10. let yc = derde["y"];
  11. if (checkgelijk(eerste,tweede) || checkgelijk(tweede,derde) || checkgelijk(eerste,derde)){
  12. throw "AssertionError: drie punten moeten verschillend zijn";
  13. }
  14. let som = (xb - xa)*(yc - ya) - (yb - ya)*(xc-xa);
  15.  
  16. if (som === 0){
  17. return 0
  18. }
  19. if (som >0){
  20. return 1
  21. }
  22. if (som< 0 ){
  23. return -1
  24. }
  25.  
  26.  
  27. }
  28.  
  29. function checkgelijk(een,twee) {
  30. let xa = een["x"];
  31. let ya = een["y"];
  32.  
  33. let xb = twee["x"];
  34. let yb = twee["y"];
  35.  
  36. return xa === xb && ya === yb;
  37.  
  38.  
  39. }
  40.  
  41. function volgende(object,verzameling,waar) {
  42.  
  43. if (waar){
  44.  
  45. var index = verzameling.indexOf(object);
  46. var i = 0;
  47. for (dingen of verzameling){
  48. if (checkgelijk(object,dingen)){
  49. break;
  50. }
  51. i+=1
  52. }
  53. verzameling.splice(i,1);
  54.  
  55.  
  56.  
  57. var potentieel = [];
  58. var arra = [];
  59. for (punta of verzameling){
  60. for (puntb of verzameling){
  61. if (!checkgelijk(punta,puntb)){
  62. if(draaien(object,punta,puntb) === 1){
  63. arra.push("verkeerd")
  64. }
  65. }
  66. }
  67. if (arra.length === 0){
  68. potentieel.push(punta)
  69.  
  70. }
  71. arra = []
  72.  
  73. }
  74.  
  75.  
  76.  
  77. return verste(potentieel,object); }
  78.  
  79. if (!waar) {
  80. var index = verzameling.indexOf(object);
  81. var i = 0;
  82. for (dingen of verzameling){
  83. if (checkgelijk(object,dingen)){
  84. break;
  85. }
  86. i+=1
  87. }
  88. verzameling.splice(i,1);
  89.  
  90.  
  91.  
  92. var potentieel = [];
  93. var arra = [];
  94. for (punta of verzameling){
  95. for (puntb of verzameling){
  96. if (!checkgelijk(punta,puntb)){
  97. if(draaien(object,punta,puntb) === -1){
  98. arra.push("verkeerd")
  99. }
  100. }
  101. }
  102. if (arra.length === 0){
  103. potentieel.push(punta)
  104.  
  105. }
  106. arra = []
  107.  
  108. }
  109.  
  110.  
  111.  
  112. return verste(potentieel,object);
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119. }
  120.  
  121.  
  122. }
  123.  
  124. function verste(array, object) {
  125. var vestepunt ;
  126. var groot = 0;
  127. let xa = object["x"];
  128. let ya = object["y"];
  129. for (dingen of array) {
  130. let xb = dingen["x"];
  131. let yb = dingen["y"];
  132.  
  133. var grootste = ((xa - xb) ** 2 + (ya - yb) ** 2) ** 0.5;
  134. if (grootste > groot) {
  135. groot = grootste;
  136. vestepunt = dingen;
  137. }
  138. }
  139.  
  140. return vestepunt;
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement