####################################### ## GDF Frecce. # Freccia con uncini finali tra i punti z1 e z2. # punta e' la lunghezza degli uncini della # punta in cm. Con punta=0 si ottiene un # segmento di retta. # d1 e d2 sono le distanze libere da z1 e z2. Gdf = function (z1,z2,punta=0.32, d1=0,d2=0) {r=abs(z2-z1); if (d1+d2>=r) return() if ((d1==0)&(d2==0)) {arrows(Re(z1),Im(z1),Re(z2),Im(z2), length=punta/2.54,angle=20)} else {p1=z1+(d1/r)*(z2-z1) p2=z1+((r-d2)/r)*(z2-z1) Gdf(p1,p2,punta=punta)}} # Freccia con uncini nel mezzo. Gdf.mezzo = function (z1,z2,punta=0.32, d1=0,d2=0) {p=z1+0.55*(z2-z1) Gdf(p,z2,punta=0,d1=0,d2=d2) Gdf(z1,p,punta=punta,d1=d1,d2=0)} # Linea con un cerchietto colorato nel mezzo. Gdf.cerchio = function (z1,z2,r=0.08, d1=0,d2=0,col=1) {p=z1+0.5*(z2-z1) Gdf(z1,z2,punta=0,d1=d1,d2=d2) t=seq(0,2*pi,by=0.01) cerchio=p+Gf.cerchio(t,r) polygon(cerchio,col=col)}