public void draw() { background(0); /* pushMatrix(); translate(width/2,height/2); // nav.doTransforms(); translate(-vl.bb().centroid().x,-vl.bb().centroid().y); scale(5); strokeWeight(0.2f); noFill(); UVertex last=null; for(UVertex v:vl) { stroke(0); v.pellipse(v,0.1f, 0.1f); if(last!=null) { if(v.dist(last)>15) stroke(200); v.pline(v,last); } last=v; } popMatrix(); */ // noLights(); noTint(); stroke(255, 0, 0); // strokeWeight(2); noFill(); // translate(100,100); translate(width / 2, height / 2); nav.doTransforms(); translate(-img.width / 2, -img.height / 2, -5); fill(img.get(300, 300)); rect(-img.width, -img.height, img.width * 3, img.height * 3); translate(0, 0, 5); image(img, 0, 0); UVertex last = null; for (UVertex v : vl) { UVertex res = UMapping.mercatorMapping(v, geobb, img.width, img.height); fill(255, 100, 0); noStroke(); UMB.pellipse(res, 4); stroke(255, 100, 0); noFill(); res.z = 20; UMB.pellipse(res, 12); // strokeWeight(0.6f); point(res.x, res.y); if (last != null) v.pline(res, new UVertex(res.x, res.y, 0)); last = res; } }
public void setup() { size(1000, 1000, OPENGL); smooth(); UMB.setPApplet(this); nav = new UNav3D(); mapNames = new ArrayList<String>(); String[] s = new File(path).list(); for (String ss : s) if (ss.endsWith(".png")) { ss = ss.substring(0, ss.indexOf('.')); if (new File(path + ss + ".dat").exists()) { mapNames.add(ss); } } img = loadImage(path + "europe.png"); geobb = new UVertex[] { new UVertex(56.54f, -12.56f), new UVertex(39.88f, 32.34f), new UVertex(52.5f, 13.34f), new UVertex(51.5f, -0.1f), new UVertex(45.44f, 12.34f), new UVertex(41.01f, 28.98f) // berlin = mercatorMap.getScreenLocation(new PVector(52.5, 13.34)); // london = mercatorMap.getScreenLocation(new PVector(51.5f, -0.1f)); // venice = mercatorMap.getScreenLocation(new PVector(45.44, 12.34)); // istanbul = mercatorMap.getScreenLocation(new PVector(41.01, 28.98)); }; newMap(); // geodata=UGeoData.parseOpenPathsCSV(path+"20140123-openpaths-mariuswatz.csv"); geodata = UMapping.parseFoursquare(path + "20140122 foursquare_historyMW.xml"); vl = geodata.getPointList(); smooth(); }