Автор: portvein777 (---.sl.ru)
Дата: 03-11-04 10:09
по первому вопросу частично ответил выше \\\\\\\\\
пересчет - этот что ли
include 'fgraph.fi'
include 'flib.fi'
include 'dxf.h'
include 'mydir.h'
include 'siren_w.for'
include 'vt125a_w.for'
include 'vt125b.for'
include 'classif.h'
subroutine tit_all()
end
program ptolem !perevod geogr koord iz ptol sys v geografich
c be-иЁа®в г Їв®« нЄ«ЁЇвЁЄЁ
c le-¤®«Ј®в г Їв®« нЄ«ЁЇвЁЄЁ
c alfa -гЈ®« Є«® нЄ«ЁЇв 23 51 20
real*8 be,le,b,l,x,y,z
real*8 aaa(2,10000)
common /aaaa/aaa
open(1,file='pto_old.dat',status='old')
open(2,file='pto_new.dat',status='unknown')
d print *,'l?'
d read(*,*)dl
i=0
do alfa=12.,24.,.1
i=i+1
aaa(1,i)=.00239*alfa**4 - .08493* alfa**3 -.71949* alfa*alfa+
* 55.81763*alfa- 468.9323
aaa(2,i)=5.58*alfa-67.
d print *,i,aaa(1,i),aaa(2,i)
enddo
d call inkey(' ')
call open_dxf(-180.,-90.,180.,90.,'p.dxf')
call begin_dxf_grafics()
do i=1,100000
read(1,*,err=13)be,le
call p(le,be,b,l)
write(2,2)be,le
a=l
c=b
call dxfpoint(a,c,0,' ',1)
enddo
13 call dxfstop()
d13 continue
stop
2 format(5f12.5:)
end
subroutine pp(be,le,x,y,z)
real*8 be,le,x,y,z
call g_r(be)
call g_r(le)
x=dcos(be)*dcos(le)
y=dcos(be)*dsin(le)
z=dsin(be)
end
subroutine p(be,le,b,l)
real*8 be,le,b,l,l2,alfa
real*8 aaa(2,10000)
common /aaaa/aaa
do i=0,10000
if(be.le.aaa(1,i))exit
d print *,i,aaa(1,i),be
enddo
d print *,'>>>>>>>',i,aaa(1,i),aaa(2,i),be
d call inkey(' ')
b=aaa(2,i)
l=le
end
subroutine g_r(arg)
parameter (pi=3.14159265)
real*8 arg
arg=arg*2.*(pi/360.)
end
subroutine r_g(arg)
parameter (pi=3.14159265)
real*8 arg
arg=arg*360./(2.*pi)
end
(на инклюды и забои внимания не обращай - я сразу в арквью оное гнал)
|
|