% вычисление даты гороскопа Апокалипсиса Нового Завета см. http://www.chronologia.org/bible/bible3_3.htm % calculating of date of ... % разбивка, принятая ФиН, с 17.11.2007 г. см. http://www.chronologia.org/egruit_zodiaki/pril.html % Fomenko and Nosovsky's separation since 11/17/2007 % РАЗБИВКА ЗОДИАКА% In ecliptics % In constellations % СОЗВЕЗДИЕ/Const Zodiac В СОЗВЕЗДИЯХ % 1 Овен 0-30 31-56 % 2 Телец 30-60 56-92 % 3 Близнецы 60-90 92-118 % 4 Рак 90-120 118-137 % 5 Лев 120-150 137-172 % 6 Дева 150-180 172-215 % 7 Весы 180-210 215-236 % 8 Скорпион 210-240 236-266 % 9 Стрелец 240-270 266-296 % 10 Козерог 270-300 296-326 % 11 Водолей 300-330 326-349 % 12 Рыбы 330-360 349-31 % во всех условиях интервал расширяется в обеи стороны на 5% % in all conditions the interval wided onto 5 % clear all; cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' ); TIMFMT = 'DD.MM.YYYY ERA HR:MN ::RND::JCAL::UTC'; % JCAL - Юлианский календарь, Рождество было до Григореанской реформы TIMLEN = 35; % выводимый формат времени d=0; % поправка по эклиптике для FK4 res_date = zeros(1); k_359=360 - 1e-13; res_coord_eclip = zeros(1,2); % координаты планет по эклиптике на начало и конец периода % начальный интервал времени et1=cspice_str2et ( '12-21-1000 BC' ); et2=cspice_str2et ( '01-01-2000 AD' ); res = cspice_wninsd (et1 ,et2 ); lon = 26.55 ; [obsrvr, ~] = set_observer (37.28, lon, 100); % остров Патмос crds = 'CYLINDRICAL' ; crd = 'LONGITUDE' ; % ищется эклиптическая долгота frame = 'ECLIPJ2000'; adj = 0.0; MAXWIN = 20000; MAXIVL = MAXWIN / 2; abcr = 'LT+S'; % учитывать оберацию и скорость света, хотя это излишне Tol=5; % +- допуск к границам созвездий % для ускорения расчетов ограничиваем период окнами времени, начиная с медленных планет % если диапазон долготы планеты пересекает ноль то вводим две записи, % с параметрами до нуля и после % for increasing of speed of calulations arrange "slowest" planets to the top of data array % if interval of position cross 0 then put 2 records (duplet) from begining till 360 degree and from 0 to the end % strong conditions +- 5° params = { 'JUPITER BARYCENTER', (266-Tol), (296+Tol), 30; % Юпитер в Стрельце |J. in Sagittarius 'SATURN BARYCENTER', (236-Tol), (266+Tol), 30; % Сатурн в Скорпионе | S. in Scorpion 'MARS', ( 31-Tol), ( 56+Tol), 2; % Марс в Овне | Mars in Aria 'MERCURY', (215-Tol), (236+Tol), 1; % Меркурий в Весах | Mercury in Libra 'SUN', (172-Tol), (215+Tol), 1/3; % Солнце в Деве | Sun in Virgin }; fl=0; % akfu n=numel(params(:,1)); % количество записей for i=1:n target=params(i,1); degree_l=cell2mat(params(i,2))+d; degree_h=cell2mat(params(i,3))+d; step = cell2mat(params(i,4))* cspice_spd; if (i < n) && (isequal(params(i,1),(params(i+1,1)))) % встретился дуплет, две записи одной планеты, что проходит через 0 fl=1; % флаг, чтобы обойти следующую запись, как пару дуплета degree_l_2=cell2mat(params(i+1,2))+d; degree_h_2=cell2mat(params(i+1,3))+d; % res_1 = cspice_gfposc ( target, frame, abcr, obsrvr, crds, crd,'>', degree_l * cspice_rpd , adj, step, MAXIVL, res); res_1 = cspice_gfposc ( target, frame, abcr, obsrvr, crds, crd,'<', degree_h * cspice_rpd , adj, step, MAXIVL, res_1); res_2 = cspice_gfposc ( target, frame, abcr, obsrvr, crds, crd,'>', degree_l_2 * cspice_rpd , adj, step, MAXIVL, res); res_2 = cspice_gfposc ( target, frame, abcr, obsrvr, crds, crd,'<', degree_h_2 * cspice_rpd , adj, step, MAXIVL, res_2); res = cspice_wnunid( res_1, res_2 ); else if fl==0 % не дуплет res = cspice_gfposc ( target, frame, abcr, obsrvr, crds, crd,'>', degree_l * cspice_rpd , adj, step, MAXIVL, res); res = cspice_gfposc ( target, frame, abcr, obsrvr, crds, crd,'<', degree_h * cspice_rpd , adj, step, MAXIVL, res); else fl=0; end end end res=cspice_wnfild(cspice_spd/(4), res); % склеивание коротких интервалов из-за перехода нуля в долготе 359.999 ... - 0 fprintf ( '\n\nРезультат:\n' ); for i = 1 : cspice_wncard( res ) [ start, finish ] = cspice_wnfetd ( res, i ); [~, ~, ~, time_st, ~] = cspice_et2lst( start, 399, lon * cspice_rpd, 'PLANETOGRAPHIC'); % Local solar time for S. [~, ~, ~, time_end, ~] = cspice_et2lst( finish, 399, lon * cspice_rpd, 'PLANETOGRAPHIC'); % Local solar time for End output = cspice_timout( [start, finish], TIMFMT ); fprintf ( 'с %s UTC (%s LST) %s по %s UTC (%s LST) %s\n', ... output(1,:), time_st, cspice_et2utc( start, 'J',2),... output(2,:), time_end, cspice_et2utc( finish, 'J',2)); end cspice_kclear % Результат для строгих условий +-5°: % с 15.09. 900 B.C. 16:36 UTC (18:50:12 LST) JD 1392956.19 по 16.09. 900 B.C. 20:30 UTC (22:44:05 LST) JD 1392957.35 % с 10.09. 395 A.D. 04:48 UTC (06:52:32 LST) JD 1865583.70 по 10.10. 395 A.D. 15:38 UTC (17:50:40 LST) JD 1865614.15 % с 09.09. 632 A.D. 02:47 UTC (04:49:16 LST) JD 1952147.62 по 11.10. 632 A.D. 09:55 UTC (12:06:11 LST) JD 1952179.91 % с 09.09. 869 A.D. 05:23 UTC (07:24:00 LST) JD 2038711.72 по 05.10. 869 A.D. 02:15 UTC (04:23:07 LST) JD 2038737.59