Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Project P9 Graphs Jarek Rossignac CS1050: Understanding and Constructing.

Similar presentations


Presentation on theme: "1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Project P9 Graphs Jarek Rossignac CS1050: Understanding and Constructing."— Presentation transcript:

1 1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Project P9 Graphs Jarek Rossignac CS1050: Understanding and Constructing Proofs Spring 2006

2 2 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Objectives Learn how to represent, display, and traverse graphs. Learn how to compute a vertex spanniging tree Learn how to compute the topological distance between two nodes

3 3 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Graph editor To Load a graph: click in the graphic window and press "l". To add an edge: click the start point and drag to the end point These will be snapped to existing points if close enough. To move a point, click and drag it while pressing the space bar To toggle the display of point numbers: press "n" To resize and recenter: press "f" When run locally in Processing To save the graph: press "s" To make a picture: press "i"

4 4 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Assignment P9, individual Modify the code as indicated to compute the Vertex Spanning Tree with vertex 0 as root and set the color of its edges and vertices to not 0. Post on your PPP: –the image showing the result of your algorithm on the graph provided –the piece of the code that computes the coloring of the VST edges and vertices (with comments) –a discussion of its time complexity –a link to your source code –the applet to run your source codeyour source code

5 5 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Compute spanning tree by growing Start from seed and grow by layers

6 6 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Colors of points and edges 18 points col[0]=1 (141,518) col[1]=2 (43,216) col[2]=3 (300,30) col[3]=3 (556,216) col[4]=2 (458,518) col[5]=2 (298,443) col[6]=2 (169.0,381.0) col[7]=3 (150.0,280.0) col[8]=3 (409.0,398.0) col[9]=3 (292.0,317.0) col[10]=4 (278.0,203.0) col[11]=4 (401.0,259.0) col[12]=4 (404.0,183.0) col[13]=4 (315.0,130.0) col[14]=4 (182.0,185.0) col[15]=5 (457.0,321.0) col[16]=6 (481.0,257.0) col[17]=5 (217.0,126.0) 30 edges col[0]=1 (0,1) col[1]=1 (1,2) col[2]=0 (2,3) col[3]=1 (3,4) col[4]=1 (4,0) col[5]=1 (0,5) col[6]=1 (6,0) col[7]=0 (6,5) col[8]=1 (7,6) col[9]=1 (8,5) col[10]=1 (6,9) col[11]=0 (5,9) col[12]=0 (8,4) col[13]=0 (7,9) col[14]=0 (8,9) col[15]=1 (9,10) col[16]=0 (10,7) col[17]=1 (9,11) col[18]=0 (10,11) col[19]=0 (11,8) col[20]=0 (11,12) col[21]=1 (12,3) col[22]=1 (2,13) col[23]=0 (13,12) col[24]=0 (13,10) col[25]=0 (10,14) col[26]=1 (11,15) col[27]=1 (15,16) col[28]=1 (14,17) col[29]=1 (14,7)

7 7 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Declarations int vn =5; // initial number of vertices int en =5; // initial number of edges int cap=128; // max nuber of edges and vertices pt[] P = new pt [cap]; // points edge[] E = new edge[cap]; // edges int [] colEdge = new int[cap]; // colors of edges int [] colVert = new int[cap]; // colors of points int mj=10; // user-controlled limit on depth of vertex spanning tree

8 8 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Set up void setup() { size(600, 600); // window size PFont font = loadFont("Courier-14.vlw"); textFont(font, 12); for (int i=0; i<cap; i++) { // clear vertices, edges, colors P[i]=new pt(0,0); E[i]=new edge(0,0); colEdge[i]=0; colVert[i]=0;}; for (int i=0; i<vn; i++) { P[i].setFromValues(-sin((i+0.5)*TWO_PI/vn)* (width*0.45)+width/2.0,cos((i+0.5)*TWO_PI/vn)* (height*0.45)+height/2.0);}; for (int i=0; i<vn; i++) {E[i].setFromValues(i,in(i)); }; VST(); // vertex-spanning-tree }

9 9 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac VST void VST() { // colors of edges and points in VSY // insert your code here // my placeholder code just to have something (please delete) for (int i=0; i<vn; i++) {colVert[i]=0;}; // resets vertex colors for (int i=0; i<en; i++) {colEdge[i]=0;}; // resets edge colors colVert[0]=1; // seeds the VST root at vertex for (int i=0; i<en; i++) { if(i%2==1) { colEdge[i]=1; colVert[E[i].s]=1; colVert[E[i].e]=1;};}; // changes colors of odd edges and their vertices }

10 10 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Edge class class edge{ int s,e; edge (int ps, int pe) {s = ps; e = pe;}; edge makeCopy() {return(new edge(s,e));}; void setFromValues(int ps, int pe) {s = ps; e = pe;}; void show() { line(P[s].x,P[s].y,P[e].x,P[e].y);}; void write() {println("("+s+","+e+")");}; }

11 11 Georgia Tech, IIC, GVU, 2006 MAGIC Lab http://www.gvu.gatech.edu/~jarekJarek Rossignac Results


Download ppt "1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Project P9 Graphs Jarek Rossignac CS1050: Understanding and Constructing."

Similar presentations


Ads by Google