Органическая химия

Взгляд из лаборатории

FONT_SIZE

SCREEN

Cpanel

Статьи

Кипячение и нагревание – наиболее часто использующиеся техники в органической химии... Читать далее...

Видеоуроки

Видеоурок, посвященный основам Инфракрасной спектроскопии. Смотреть...

Анимировие рентгеноструктурных данных

Немаловажным этапом работы химика является представление результатов на конференции или рабочем семинаре.

В данном разделе мы ознакомимся с процессом анимирования данных рентгеноструктурного анализа (РСА).

В ряде случае, структура молекулы может оказаться довольно сложной, что не позволяет разглядеть все ее нюансы во время презентации. Данную проблему как правило решают размещением нескольких рисунков с разного ракурса.

Однако, более элегантное решение – анимирование данных РСА (для просмотра кликнуть по картинке)!

Качество уменьшено для web. Создано в MercuryКачество уменьшено для web. Создано в ORTEP

Как это работает?

Идея проста: конвертировать файл содержащий РСА данные (*.CIF, *.RES и т.п.) в формат какой либо программы построения изображения трёхмерных моделей. Я рекомендую использовать для этого следующий набор программ:

Mercury или ORTEP. Не принципиально, но для ORTEP несколько отличается синтаксис описания 3D модели.
POV-Ray (программа трассировки лучей, идет в комплекте с HyperChem, или ищется в интернете)
• Photoshop (или VirtualDUB, если нужно создание видео) или другая программа создания анимированных *.GIF.

Mercury

1. В Mercury располагаем молекулу так, как вы хотите ее видеть на первом кадре анимации или видео.

2. Далее: File -> Save as -> POV-Ray File (*.pov) и задать каталог и имя файла.

3. Mercury создаст два файла: *.pov и *.ini. Оба эти файла нужно открыть программой POV-Ray.

4. В файле *.pov

a. В разделе:

#macro rotate_view_for_animation()
// If using the [filename.pov].ini file, with animation enabled, this will produce
// a cyclic animation of the scene rotating, otherwise this will not affect the image:
rotate <0,clock*360,0>
#end

Следует закоментировать строчку rotate для фиксирования источника(ов) света. Следует обратить на это внимание, так как в исходных настройках задается облёт источника(ов) света, что дает некрасивые и странные тени:

// rotate <0,clock*360,0>

b. Далее перемещаемся к строчкам (удобнее всего через поиск: «Ctrl+F»):

#macro ccdc_orient_structure( rotation_centre, structure_orientation )
translate( -rotation_centre )
transform { structure_orientation }

Дописываем вращение молекулы по двум координатам:

#macro ccdc_orient_structure( rotation_centre, structure_orientation )
translate( -rotation_centre )
transform { structure_orientation
rotate y*360*clock
rotate z*360*clock}

5. Переходим к файлу *.ini

Убираем знак комментария «#» в строках

Clock=0
Initial_Frame=1
Final_Frame=30
Cyclic_Animation = on

Значение Final_Frame ставим равным 180.

6. После этого нажимаем кнопку “Run” находясь во вкладке с файлом *.ini, и POV-Ray создаст 180 файлов с изображением молекулы с разным поворотом относительно наблюдателя.

7. Имея 180 изображений с разным поворотом не трудно создать *.gif с помощью Photoshop или еще какой-нибудь программы. Для создания видео из кадров хорошо подходит VirtualDub. Использованию последних программ посвящено огромное количество гайдов в сети.

Для программы ORTEP синтаксис несколько другой.

ORTEP

1. В ORTEP располагаем молекулу так, как вы хотите ее видеть на первом кадре анимации или видео.

2. Далее: File -> Write POV-Ray File.

3. В папке ORTEP создаются два файла: ortep.pov и ortep.ini, нужные нам для работы, переносим их в отдельную папку.

4. Оба эти файла нужно открыть программой POV-Ray.

5. Здесь стоит остановиться поподробнее в синтаксисе файла *.pov.

В начале файла мы видим задекларированные параметры, такие как цвета атомов, связей и т.п. Например, для углерода:

#declare Texture_C = texture {
pigment {color SlateBlue }
finish { Shiny } }

Таким образом, мы можем сами установить цвета, которые лучше подойдут к нашей презентации.

А если мы здесь добавим строчки

#declare Floor_Texture = texture {
pigment {color MidnightBlue }
finish { Dull } }
object {
plane {y, -4.76454 }
texture { Floor_Texture }}

То получим оригинальный фон, на который будет отпрасываться тень от источников света.

Обратим внимание на строчку:

#declare View_Distance = 40;

Здесь задается расстояние от наблюдателя до объекта, меняя данное значение, мы можем удалять или приближать объект.

Перейдем к источникам света. Прежде всего их может быть несколько, варьируя значения в скобках «<>», можно добиться наиболее выгодного падения света на молекулу.

light_source { < 0.0, 0.0, 100.0 >
color red 2.0 green 2.0 blue 2.0 }
light_source { < 0.0, 100.0, 0.0 >
color red 2.0 green 2.0 blue 2.0 }

Например, я использовал 4:

light_source { < -30.0, 0.0, 50.0 >
color red 1.0 green 1.0 blue 1.0 }
light_source { < 30.0, 0.0, 50.0 >
color red 1.0 green 1.0 blue 1.0 }
light_source { < -20.0, 100.0, 20.0 >
color red 2.0 green 2.0 blue 2.0 }
light_source { < 0.0, 0.0, -750.0 >
color red 0.5 green 0.5 blue 0.7 }

Обращаем внимание на положение камеры в этом разделе, если нужно, то корректируем (в моем случае это было важно для корректировки фона, он был странно обрезан), проверить результат наших действий можно нажав „Run“, что создаст графический файл изображения:

camera {
location < 0.0 , 6.0 , View_Distance >
angle 20.0
up < 0.0 , 1.0 , 0.0 >
right <-1.33, 0.0 , 0.0 >
look_at < 0.0 , 0.0 , 4.0 >
}

6. Переходим к анимированию.

В самом конце файла перед знаком «}» вставляем строчки:

rotate y*360*clock
rotate z*360*clock

7. Переходим к файлу *.ini

Убираем все строчки и вставляем следующий текст:

Input_File_Name=ortep.pov
Initial_Clock=0.000
Final_Clock=1
Initial_Frame=1
Final_Frame=180
Cyclic_Animation = on

8. После этого нажимаем кнопку “Run” находясь во вкладке с файлом *.ini, и POV-Ray создаст 180 файлов с изображением молекулы с разным поворотом относительно наблюдателя.

9. Имея 180 изображений с разным поворотом не трудно создать *.gif с помощью Photoshop или еще какой-нибудь программы. Для создания видео из кадров хорошо подходит VirtualDub. Использованию последних программ посвящено огромное количество гайдов в сети.

Все используемые файлы в уроке можно взять здесь.