private int calculaYparaPuntoCiclista(Ciclista cic,
	    TreeMap<Integer, Integer> ar) {
	int yresu = 0;
	int dify = 0;
	int yacum = Constantes.ALTO_VENTANA / 4;
	boolean encontrado = false;
	Iterator<Entry<Integer, Integer>> it = ar.entrySet().iterator();
	Iterator<Entry<Integer, Integer>> itaux = ar.entrySet().iterator();
	if (it.hasNext()) {
	    itaux.next();
	}
	while (itaux.hasNext() && !encontrado) {

	    Entry<Integer, Integer> tramoini = it.next();

	    if (it.hasNext()) {

		Entry<Integer, Integer> tramofin = itaux.next();

		if (cic.getBici().getEspacioRecorrido() >= tramoini.getKey()
			&& cic.getBici().getEspacioRecorrido() < tramofin
				.getKey()) {
		    encontrado = true;

		    int metro_en_el_tramo_del_ciclista = (int) (cic.getBici()
			    .getEspacioRecorrido() - tramoini.getKey());
		    int diftramos = tramofin.getKey() - tramoini.getKey();

		    dify = tramoini.getValue();

		    int yfintramo = yacum + dify;
		    yresu = metro_en_el_tramo_del_ciclista * dify / diftramos;
		    yresu = yacum
			    - (metro_en_el_tramo_del_ciclista * dify / diftramos)
			    - Constantes.ANCHO_PUNTO_CICLISTA / 2;

		}

	    }
	    yacum = yacum - tramoini.getValue();

	}

	return yresu;
    }