boolean showVertexIds=true, showVertices=true; pt XX[] = new pt [4]; void myActions() { // actions to be executed at each frame scribe("Edge / edge intersection"); // prints the value of t on the screen if ((mousePressed)&&(!keyPressed)) dragPolygon(); // edit points fill(black); strokeWeight(3); // set fill color to black and stroke width to 3 stroke(blue); // set current color to blue pt A=P[0]; A.show(2); // Assign point A to P[0], show it as a disk of radius 4, show its label "A" pt B=P[1]; B.show(2); A.to(B); // draw a line from A to B in current color stroke(green); pt C=P[2]; C.show(2); pt D=P[3]; D.show(2); C.to(D); int r = ee(A,B,C,D,2,XX); stroke(orange); strokeWeight(4); noFill(); if (r==2) XX[0].to(XX[1]); noStroke(); fill(orange); for(int i=0; i0 != dot(U(R(V(A,B))),V(A,D))>0) && (dot(U(R(V(C,D))),V(C,A))>0 != dot(U(R(V(C,D))),V(C,B))>0) ; }