Strona startowa Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.W sobotnie popołudnia następuje sąsiedzkie zbliżenie, kiedy pierzaste rzutki przelatują ponad żywopłotami, kiedy uciekają kotki lub szczeniaki...Co wieczór podczas wyznaczania zadań na następny dzień Hiroko dzięki swoim magicznym sztuczkom zbierała liczną ekipę, więc farma szybko się rozrastała:...— Dobrze, następnym razem, jak gdzieś znikniesz, zrobię ci tę przyjemność — obiecała Marianna trochę niecierpliwie...producenci światowi) następujące rodzaje wyrobów: • blachy standardowe, • blachy specjalnego przeznaczenia, 34 Zob...interwencji zbrojnej po stronie Sajgonu wojsk ldowych USA 1961-68, a nastpnie do ludobjczej eskalacji wojny siami powietrznymi i mor...ROZDZIAŁ OSIEMNASTY Następne dwanaście lat - mówiła dalej pani Dean - po tym smutnym okresie były to najszczęśliwsze lata mojego życia...Następnego dnia wjechał na solidny stok północnej drogi Ophir, której budowę szwajcarska załoga ukończyła w ubiegłym roku...jeszcze przez nastpne trzy lata przed przy-puszczeniem obrazoburczego ataku na psy-chologi...Następnego dnia ustawiam na podwórzu stare kozły do cięcia drewna i czterocalową żerdź: na tym będę ćwiczył...Podteka nr 1259-1260 (kart M>) posiada obwolut rwnie dawn jak poprzednia, z nastpujc uwag I...
 

Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.


Wyznaczona odległość między tymi miastami to 7706 mil morskich.
Listing 10.8: Obliczanie odległości geograficznej.
1
# include < iostream >
2
# include < cmath >
142
10. Metody geometrii obliczeniowej
3
4
inline double rad_to_deg( double rad ) { return ( rad * 360.0) / (2.0 *
3.1415926);}
5
inline double deg_to_rad( double deg ) { return deg * 2.0 * 3.1415926 /
360.0;}
6
const double EARTH_RADIUS = 3440.065;
7
8
int main ()
9
{
10
double lat1 , lon1 , lat2 , lon2 ;
11
double droga , alpha , ile;
12
double p1_x , p1_y , p1_z , p2_x , p2_y , p2_z ;
13
/
/
p
(
r
,
v
a
r
p
h
i
,
p
h
i
)
14
/
/
P
a
r
y
z
15
lat1 = 49.010;
16
lon1 = -2.548;
17
/
/
P
e
r
t
h
18
lat2 = -32.940;
19
lon2 = -115.967;
20
21
if ( lat1 < -90.0 || lat1 > 90.0 || lat2 < -90.0 || lat2 > 90.0)
22
std :: cout << " blad danych " << std :: endl ;
23
if ( lon1 < -180.0 || lon1 > 180.0 || lon2 < -180.0 || lon2 > 180.0)
24
std :: cout << " blad danych " << std :: endl ;
25
26
double p1_r = EARTH_RADIUS;
27
double p1_phi = -1.0 * deg_to_rad( lon1 );
28
double p1_varphi = ( deg_to_rad( -1.0 * lat1 )) + deg_to_rad(90.0) ;
29
30
std :: cout << " koordynaty 1 punktu , sferyczne :" << std :: endl ;
31
std :: cout << p1_r << std :: endl ;
32
std :: cout << rad_to_deg( p1_phi ) << std :: endl ;
33
std :: cout << rad_to_deg( p1_varphi ) << std :: endl;
34
35
double p2_r = EARTH_RADIUS;
36
double p2_phi = -1.0 * deg_to_rad( lon2 );;
37
double p2_varphi = ( deg_to_rad( -1.0 * lat2 )) + deg_to_rad(90.0) ;
38
39
std :: cout << " koordynaty 2 punktu , sferyczne :" << std :: endl ;
40
std :: cout << p2_r << std :: endl ;
41
std :: cout << rad_to_deg( p2_phi ) << std :: endl ;
42
std :: cout << rad_to_deg( p2_varphi ) << std :: endl;
43
44
p1_x = p1_r * std :: sin( p1_varphi ) * std :: cos( p1_phi );
45
p1_y = p1_r * std :: sin( p1_varphi ) * std :: sin( p1_phi );
46
p1_z = p1_r * std :: cos( p1_varphi );
47
48
p2_x = p2_r * std :: sin( p2_varphi ) * std :: cos( p2_phi );
49
p2_y = p2_r * std :: sin( p2_varphi ) * std :: sin( p2_phi );
50
p2_z = p2_r * std :: cos( p2_varphi );
51
52
alpha = std :: acos ((( p1_x * p2_x ) + ( p1_y * p2_y) + ( p1_z * p2_z )) /
std :: pow( p1_r , 2.0) );
53
std :: cout << "\ nodleglosc Paryz - Pert = " << alpha * p1_r <<" mil
morskich " << std :: endl ;
54
return 0;
55
}
10.7. Długość łuku na kuli
143
Po uruchomieniu tego program mamy następujący wynik:
1
koordynaty 1 punktu , sferyczne :
2
3440.07
3
2.548
4
40.99
5
koordynaty 2 punktu , sferyczne :
6
3440.07
7
115.967
8
122.94
9
10
odleglosc Paryz - Pert = 7744.83 mil morskich
Bibliografia
[1] L. Banachowski, K. Diks, W. Rytter. Algorytmy i struktury danych. Wydaw-
nictwo Naukowo-Techniczne, Warszawa, 1996.
[2] B. Baron, Ł. Piątek. Metody numeryczne w C++ Builder. Helion, Gliwice,
2004.
[3] A. Bjorck, G. Dahlquist. Metody numeryczne. Państwowe Wydawnictwo Na-
ukowe, Warszawa, 1987.
[4] K. Borsuk. Geometria analityczna w n wymiarach. Wydawnictwo Czytelnik,
1950.
[5] I. Parberry F. Dunn. 3D Math primer for graphics and game development.
Jones & Bartlett Publishers, 2002.
[6] G. Forsythe, M. Malcom, C. Moler. Computer methods for mathematical com-
putations. Prentice-Hall, Inc., New York, 1977.
[7] R. Graham, D. Knuth, O. Patashnik. Matematyka konkretna. Wydawnictwo
Naukowe PWN, Warszawa, 1996.
[8] R. Hornbeck. Numerical Methods. Quantum Publishers, Inc., New York, 1975.
[9] S. Jermakow. Metoda Monte Carlo i zagadnienia pokrewne. Państwowe Wy-
dawnictwo Naukowe, Warszawa, 1976.
[10] R. Johnston. Numerical methods. John Wiley & Sons, New York, 1982.