Портал "Русская Профессиональная Астрология"
Subject: Re: Аспекты
Replies: 980
Date : 05 Oct 1997 06:09 GMT
From : Benjamin Leznik (leznik@slip.net)
To : Albert R. Timashev (arta@infopro.spb.su)
Привет Альберт !!!
AT> В пространстве домов как таковых нет. Поясняю. Есть три оси и шесть
AT> кардинальных направлений: зенит-надир, север-юг, восток-запад. Каждое
AT> из них согласно тому же Аристотелю (трактак "О Небе") имеет свое значение.
AT> Восток-запад - это ось движения, север-юг - чувственного воприятия,
AT> зенит-надир - роста, эволюции. Если мы возмем координату каждой планеты
AT> не в виде угловых единиц, а просто в обычных прямоугольных координатах
AT> относительно горизонта, мы получим:
AT>
AT> X Y Z
AT> восток 1 0 0
AT> запад -1 0 0
AT> север 0 1 0
AT> юг 0 -1 0
AT> зенит 0 0 1
AT> надир 0 0 -1
AT>
AT> Остальные направления на сфере будут их комбинациями. Таким образом,
AT> мы получаем в руки не просто систему домов, а "веса", показывающие силу
AT> влияния кадой планеты на те или иные проблемы. Здесь нет домов, так как
AT> в них нет необходимости. Это непрерывная система, так как небесная сфера
AT> изначально - это единое неделимое целое. Вот мы и выясняем, на какие
AT> из полюсов этой сферы направлено воздействие той или иной планеты.
Это все здорово с теоретической точки зрения. Однако в традиционном гороскопе
я знаю, что если планета попадает в 7-ой дом она отвечает за брак. Куда долж-
на попасть планета в пространстве, чтобы влиять на ту же самую проблему? То
есть я не критикую твой подход, более того - он мне нравится, я просто очень
скептично отношусь к тому, что мы реально сможем дать четкие и понятные опре-
деления для влияния каждой планеты на ту или иную сферу жизни. А абстрактно
говорить о том, что Марс имеет такой-то коэффициент в области роста и эволюции,
это по моему не очень эволюционно и революционно. Есть-ли у тебя какие-то
конкретные идеи.
BL>> Кстати, возвращаясь к твоему Future Scaner'у, игрался с ним долго. Не могу
BL>> сделать четких выводов. Простая сумма косинусов ничего не дает (особенно во
BL>> втором случае ). Просто жизненно необходимо как-то выделять 5 критических
BL>> точек (0, 0.5, 1, -0.5, -1).
AT>
AT> Да, не могу с этим не согласиться. Дело за малым - придумать как :)
Самый первый и наиболее простой из быстро работающих алгоритмов, которые прихо-
дят мне в голову, заключается в следующем.
Я с твоего позволения буду говорить в терминах "С"-шного программирования.
Этот алгоритм имеет один большой недостаток - увеличение числа необходимой опе-
ративной памяти до 768 КилоБайт ( в худшем случае ). Т.к. на своем компьютере я
этого даже не замечу, то рискну его привести.
Итак, рассматриваем крайний случай, когда используется экран 1024х768 пикселей.
Предположим, что твое окно с графиками занимает целый экран (хотя на самом
деле гораздо меньше, и размер его зарание известен, т.к. интерфейс ты строишь
на Виндоус ). Обьявляем двумерный массив unsigned char [1024][768]. Этот массив
и потребует лишние 768 Кило. Далее инициализируем его нулями (0 - в деся-
теричной системе, если мне не изменят память. См. таблицу ASCII кодов ).
Лучше всего это сделать простым побитным умножением нуля и каждого элемента.
Далее каждому графику присваиваем его персональный char сигнификатор.
Например "1" - для первого графика, "2" - для второго и.т.д. В десятичной сис-
теме получим 48 и 49 соответственно. Далее строим графики, но параллельно выво-
ду на экран, выводим в массив точку графика. Пример на экране мы должны напе-
чатать точку с координатами 12х12. Предположим, что это точка первого графика,
с условным сигнификатором "1". Тогда в [12][12] элемент массива заносим
логическое сложение "1" и того значения которое уже сидело до этого в ячейке
массива. Логическое сложение нужно если в одну точку попадают несколько разных
графиков. Потом по сумме легко определить какие именно это графики. Короче,
принцип примитивного маскирования.
После того, как все построено, вешаешь обработчик прерывания по нажатию на
кнопку мыши, снимаешь с него ( с прерывания ) координаты окна и по ним лезешь
в заранее приготовленный массив. Если в массиве есть значение, значит график
проходит через эту точку. По индексации массива определяешь дату и быстро подсчи-
тываешь для этой даты точные фазы и выплевываешь их на экран.
Вот вкратце и весь алгоритм. Надеюсь, что описал его не очень спутанно. Если
что непонятно готов обьяснить в деталях и даже накидать общую схему на си или
плюс плюсе.
Реализация хороша тем, что не приведет к заметному увеличению времени в
рассчетах. Напиши что думаешь, потому как можно и что-то другое придумать.
С уважением, Бен.