Данный текст представляет собой документацию к
пакету "show_3d".
  Ссылки: 
http://aravidze.narod.ru/n1/show_3d.zip - собственно пакет;
http://aravidze.narod.ru/n1/show_3d.htm - копия документации
  для ознакомления (продублирован вне архива только *.htm
  без иллюстраций).

  Ниже описывается работа с пакетом "show_3d",
с версией от 2025,9,16.
  Назначение пакета "show_3d" - визуализация трёхмерных 
моделей молекул, фрагментов кристаллических решёток etc.
  Примеры, входящие в состав пакета и иллюстрирующие
методику создания моделей:

- s3d_kub.py - куб (для отладки).
- rombodod.py - ромбододекаэдр, вписанный в куб.
- s3d_okta2.py, sd3_okta3.py - 2 и 3 октаэдра, сочленённых
  по общим граням. 
- s3d_OCK.py - минимальная ячейка в объёмноцентрированой
  кубической (ОЦК) упаковке.
- s3d_dodeka.py, s3d_ikosa.py, s3d_C60.py - 
  додекаэдр, икосаэдр, фуллерен C60.
- s3d_V2O3.py - связь ромбоэдрической и моноклинной ячеек
  в V2O3.
- SiO2.py - решётка кварца SiO2.
- Al2O3.py - решётка корунда Al2O3 - показаны все атомы в 
  призме, соответствующей трём гексагональным ячейкам - 
  обилие атомов затрудняет понимание структуры.
- Al2O3_romb.py - решётка корунда Al2O3 - показаны атомы в
  одной ромбоэдрической ячейке и их соседи. 

  Также в состав пакета входят файлы:

- s3d_subr.py - подпрограммы для построения и изображения 
  моделей.
- dodeka.py - подпрограммы для расчёта координат вершин
  додекаэдра etc.

--------
  Примеры картинок, полученных с помощью данного пакета:


Три октаэдра, сочленённых по общим граням - метод 'mono'. То же - метод 'stereo_1'. То же - метод 'stereo_2'. Связь ромбоэдрической и моноклинной ячеек в V2O3; узлы на разной высоте окрашены в разные цвета. -------- Запуск примеров: - gswin32c.exe и файлы из подкаталога moduli копируем в текущий каталог (или в системные каталоги). - Файлы примеров (напр., s3d_kub.py) запускаем из командной строки. - При запуске без параметров просмотр идёт в моно-режиме, при этом рисуются не только связи, но и узлы (напр., атомы в кристаллической решётке). И для узлов, и для связей в модели можно задать цвет, при этом по мере ухода вглубь от зрителя размеры шариков-узлов и толщины линий-связей уменьшаются, а их яркость ослабевает. - При запуске с параметром '1' (стереорежим 1) - на экране рисуются две картинки, образующие стереопару. В текущей версии рисуются только связи, и их цвет не тускнеет при их уходе вглубь. При сохранении картинки (см. ниже) сохраняются оба компонента стереопары. - При запуске с параметром '2' (стереорежим 2) - тоже рисуются только связи, и тоже их цвет не тускнеет при их уходе вглубь, но две проекции совмещены, и линии изображены красным и голубым цветом, так что при взляде через стандартные очки для наблюдения стереоэффекта человек видит стереоскопическую картинку. - Во всех указанных режимах - после запуска - клавишами управления курсором можно вращать изображение на экране, клавишей 'p' (print) - записывать в файл текущую проекцию для анализа, клавишей 's' (save) - сохранять картинку в виде *.ps (в типичном Линуксе файлы *.ps можно просмотреть непосредственно, а в Windows это проблематично) и в виде *.png (в типичном Линуксе это не требует дополнительных файлов, в Windows - требуется gswin32c.exe, см. ниже). Нажатие клавиши 'q' (quit) вызывает выход из программы. Для сохранения картинок в виде *.png под типичными дистрибутивами Линукса ничего дополнительного не требуется, но под Windows - в текущем каталоге или в каталоге с системными файлами нужно разместить программу gswin32c.exe или аналогичную; скачать её можно с https://sourceforge.net/projects/tumagcc/files/converters/gswin32c.exe/download . -------- Ссылки на очки для наблюдения стереоэффекта (левая половинка - красная, правая - голубая): https://www.ozon.ru/product/3d-ochki-krasno-sinie-1-shtuka-413076353/ 3D очки, красно-синие, 1 штука https://www.ozon.ru/product/anaglifnye-3d-ochki-krasno-sinie-dlya-televizora-proektora-kinoteatra-kompyutera-201417681/ Анаглифные 3D очки красно синие для телевизора, проектора, кинотеатра, компьютера Замечание: перевод картинок из *.ps в *.png осуществляется по типу img = Image.open(imq_ps) img.save(imq_png) ; при этом на экране фон - чёрный, а в *.png - белый; в результате, если задать цвет линий как '#FFFFFF' (т.е. белый), то на экране линии ярки, но в *.png - неотличимы от фона. Текущее решение проблемы - для типовых линий задаём цвет '#808080', т.е. серый. В пределах сеанса - в имена картинок добавляется номер картинки, и имена для разных режимов - разные, но при повторном запуске в неком режиме - картинки, записанные ранее в этом режиме, будут затираться новыми картинками с теми же именами. Для борьбы с этим можно было бы модифицировать систему имён, введя в них время создания, но вроде бы реальной необходимости в этом нет. --------------------------------------------