Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function draaien(eerste,tweede,derde) {
- let xa = eerste["x"];
- let ya = eerste["y"];
- let xb = tweede["x"];
- let yb = tweede["y"];
- let xc = derde["x"];
- let yc = derde["y"];
- if (checkgelijk(eerste,tweede) || checkgelijk(tweede,derde) || checkgelijk(eerste,derde)){
- throw "AssertionError: drie punten moeten verschillend zijn";
- }
- let som = (xb - xa)*(yc - ya) - (yb - ya)*(xc-xa);
- if (som === 0){
- return 0
- }
- if (som >0){
- return 1
- }
- if (som< 0 ){
- return -1
- }
- }
- function checkgelijk(een,twee) {
- let xa = een["x"];
- let ya = een["y"];
- let xb = twee["x"];
- let yb = twee["y"];
- return xa === xb && ya === yb;
- }
- function volgende(object,verzameling,waar) {
- if (waar){
- var index = verzameling.indexOf(object);
- var i = 0;
- for (dingen of verzameling){
- if (checkgelijk(object,dingen)){
- break;
- }
- i+=1
- }
- verzameling.splice(i,1);
- var potentieel = [];
- var arra = [];
- for (punta of verzameling){
- for (puntb of verzameling){
- if (!checkgelijk(punta,puntb)){
- if(draaien(object,punta,puntb) === 1){
- arra.push("verkeerd")
- }
- }
- }
- if (arra.length === 0){
- potentieel.push(punta)
- }
- arra = []
- }
- return verste(potentieel,object); }
- if (!waar) {
- var index = verzameling.indexOf(object);
- var i = 0;
- for (dingen of verzameling){
- if (checkgelijk(object,dingen)){
- break;
- }
- i+=1
- }
- verzameling.splice(i,1);
- var potentieel = [];
- var arra = [];
- for (punta of verzameling){
- for (puntb of verzameling){
- if (!checkgelijk(punta,puntb)){
- if(draaien(object,punta,puntb) === -1){
- arra.push("verkeerd")
- }
- }
- }
- if (arra.length === 0){
- potentieel.push(punta)
- }
- arra = []
- }
- return verste(potentieel,object);
- }
- }
- function verste(array, object) {
- var vestepunt ;
- var groot = 0;
- let xa = object["x"];
- let ya = object["y"];
- for (dingen of array) {
- let xb = dingen["x"];
- let yb = dingen["y"];
- var grootste = ((xa - xb) ** 2 + (ya - yb) ** 2) ** 0.5;
- if (grootste > groot) {
- groot = grootste;
- vestepunt = dingen;
- }
- }
- return vestepunt;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement