Wyszukiwanie punktów kluczowych

0

hej!

Implementuje RANSACA i mam problem z wyszukiwaniem punktów kluczowych. Muszę znaleźć najbliższego sąsiada punktu z listy A w liście B, potem na odwrót. Punkty kluczowe to te, które po tym zabiegu będą wskazywać na siebie nawzajem. Robię to w ten sposób:

 void KeyPointC(ArrayList<point> ListA,ArrayList<point> ListB,ArrayList<point> ListC){
	
		FriendCalculator(ListA,ListB);
		FriendCalculator(ListB,ListA);
		
		point tempA;
		point tempB;
		
		for(int i=0;ListA.size()>i;i++){
			tempA=ListA.get(i);
			tempB=tempA.n;
			if(tempA==tempB.n){
				System.out.printf("%d Jestesmy najlepszymi kolegami A:x:%f y:%f B:x:%f y:%f\n",i, tempA.x,tempA.y,tempA.n.x,tempA.n.y);
			}
		}
		
	}
	
	void FriendCalculator(ArrayList<point> ListA, ArrayList<point> ListB){
		point tempA;
		point tempB;
		
		for(int i=0;ListA.size()>i;i++){
			tempA=ListA.get(i);
			
			
			for(int j=0;ListB.size()>j;j++){
				tempB=ListB.get(j);
				float dist=0 ;
				float sum=0;
				
				for(int k=0; tempA.values.size()>k;k++){
					sum=(tempA.values.get(k)-tempB.values.get(k))*(tempA.values.get(k)-tempB.values.get(k));
					dist=sum+dist;					
				}
				dist=(float) Math.sqrt(dist);
				
				if(tempA.distance>dist || tempA.distance==0){	
					tempA.distance=dist;
					tempA.n=tempB;
				}
				else{}
				//System.out.printf("%d. Distance: %f \n",i, tempA.distance);
			}
			//System.out.printf("..\n");
			//System.out.printf("Distance: %d \n", tempA.distance);
		}
	}

Coś jest nie tak, gdyż okazuje się że każdy punkt z listy A jest kluczowy.
Tutaj dokładniejszy opis problemu.
Dzięki za wyrozumiałość, jestem początkująca.

0

Problem nieaktualny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1