c main program lasl=12 lasl=3000 C lasl=300 r=1.0 g=1.0 b=1.0 c call initvrml c call linebe(r,g,b) c do 40 ii=1,lasl lin=ii li1=3*(lin-1)+1 li2=3*(lin-1)+2 li3=3*lin c x=po(li1) c y=po(li2) c z=po(li3) x=0.1*float(ii-1) y=0.1*float(ii-1) z=0.1*float(ii-1) c call linep(x,y,z,ii,lasl) c 40 continue c call lineen(lasl) c stop end c subroutine initvrml subroutine initvrml write(10,10) 10 format("#VRML V2.0 utf8") return end subroutine linep(x,y,z,ii,lasl) c if(ii.lt.lasl) then write(10,10) x,z,y 10 format(f5.1,1x,f5.1,1x,f5.1,1h,) else write(10,20) x,z,y 20 format(f5.1,1x,f5.1,1x,f5.1) end if return end subroutine linebe(r,g,b) c write(10,21) 21 format("Shape {") write(10,22) 22 format("geometry IndexedLineSet {") write(10,23) 23 format("color Color {") write(10,20) r,g,b 20 format("color [ ",f3.1,1x,f3.1,1x,f3.1," ]") write(10,25) 25 format("}") write(10,26) 26 format("coord Coordinate {") write(10,27) 27 format("point [") return end subroutine lineen(lasl) integer ic(3000) c do 10 i=1,3000 ic(i)=i-1 10 continue write(10,21) 21 format("]") write(10,22) 22 format("}") write(10,23) 23 format("colorIndex [ 0 ]") write(10,24) 24 format("coordIndex [") c write(10,20) (ic(i),i=1,lasl) 20 format(10i2,90i3,900i4/(500i5)) c write(10,25) 25 format("]") write(10,26) 26 format("colorPerVertex FALSE") write(10,27) 27 format("}") write(10,28) 28 format("}") return end