Difference between revisions of "Set View"

From PyMOLWiki
Jump to navigation Jump to search
m
(get_view example)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
===DESCRIPTION===
 
 
'''set_view''' sets viewing information for the current scene, including the rotation matrix, position, origin of rotation, clipping planes, and the orthoscopic flag.
 
'''set_view''' sets viewing information for the current scene, including the rotation matrix, position, origin of rotation, clipping planes, and the orthoscopic flag.
  
Line 6: Line 5:
 
===USAGE===
 
===USAGE===
 
  set_view (...)  where ... is 18 floating point numbers
 
  set_view (...)  where ... is 18 floating point numbers
 +
 +
===EXAMPLE===
 +
 +
This works in a <code>.pml</code> script:
 +
 +
    set_view (\
 +
        0.999876618,  -0.000452542,  -0.015699286,\
 +
        0.000446742,    0.999999821,  -0.000372844,\
 +
        0.015699454,    0.000365782,    0.999876678,\
 +
        0.000000000,    0.000000000, -150.258514404,\
 +
        11.842411041,  20.648729324,    8.775371552,\
 +
        118.464958191,  182.052062988,    0.000000000 )
  
 
===PYMOL API===
 
===PYMOL API===
Line 11: Line 22:
 
cmd.set_view(string-or-sequence view)   
 
cmd.set_view(string-or-sequence view)   
 
</source>  
 
</source>  
 +
 +
==== Example ====
 +
 +
This works in a <code>.py</code> script:
 +
 +
<syntaxhighlight lang="python">
 +
cmd.set_view((
 +
    0.999876618,  -0.000452542,  -0.015699286,
 +
    0.000446742,    0.999999821,  -0.000372844,
 +
    0.015699454,    0.000365782,    0.999876678,
 +
    0.000000000,    0.000000000, -150.258514404,
 +
    11.842411041,  20.648729324,    8.775371552,
 +
    118.464958191,  182.052062988,    0.000000000))
 +
</syntaxhighlight>
 +
 +
The result of [[get_view]] is valid input for '''set_view''':
 +
 +
<syntaxhighlight lang="python">
 +
myview = cmd.get_view()
 +
 +
cmd.set_view(myview)
 +
</syntaxhighlight>
  
 
===NOTES===
 
===NOTES===
 
Contents of the view matrix
 
Contents of the view matrix
*0  -  8 = 3x3 rotation matrix which transforms model to camera space
+
 
*9  - 11 = camera position (in model space and relative to the origin of rotation)
+
* 0  -  8: column-major 3x3 matrix which rotates model axes to camera axes
*12 - 14 = origin of rotation (in model space)
+
* 9  - 11: origin of rotation relative to the camera in camera space
*15     = front plane distance from the camera
+
* 12 - 14origin of rotation in model space
*16     = rear plane distance from the camera
+
* 15: front plane distance from the camera
*17     = not implemented (the online help says that this should be the orthoscopic view flag, but PyMol as of v0.99 does not implement this)
+
* 16: rear plane distance from the camera
 +
* 17: orthoscopic flag (not implemented in older versions)
  
 
===SEE ALSO===
 
===SEE ALSO===
[[Get View]]  
+
[[Get View]], [[View]]
  
 
[[Category:Commands|Set View]]
 
[[Category:Commands|Set View]]
 +
[[Category:View Module|Set View]]

Latest revision as of 07:50, 30 April 2020

set_view sets viewing information for the current scene, including the rotation matrix, position, origin of rotation, clipping planes, and the orthoscopic flag.

This command is extremely useful for making movies. One may set up the scene to be rendered, then save the exact orientation, with respect to the camera, of the scene using, the Get_View command. The output from the Get_View command may then be used by the set_view command to restore the orientation of the scene.

USAGE

set_view (...)  where ... is 18 floating point numbers

EXAMPLE

This works in a .pml script:

   set_view (\
       0.999876618,   -0.000452542,   -0.015699286,\
       0.000446742,    0.999999821,   -0.000372844,\
       0.015699454,    0.000365782,    0.999876678,\
       0.000000000,    0.000000000, -150.258514404,\
       11.842411041,   20.648729324,    8.775371552,\
       118.464958191,  182.052062988,    0.000000000 )

PYMOL API

cmd.set_view(string-or-sequence view)

Example

This works in a .py script:

cmd.set_view((
    0.999876618,   -0.000452542,   -0.015699286,
    0.000446742,    0.999999821,   -0.000372844,
    0.015699454,    0.000365782,    0.999876678,
    0.000000000,    0.000000000, -150.258514404,
    11.842411041,   20.648729324,    8.775371552,
    118.464958191,  182.052062988,    0.000000000))

The result of get_view is valid input for set_view:

myview = cmd.get_view()

cmd.set_view(myview)

NOTES

Contents of the view matrix

  • 0 - 8: column-major 3x3 matrix which rotates model axes to camera axes
  • 9 - 11: origin of rotation relative to the camera in camera space
  • 12 - 14: origin of rotation in model space
  • 15: front plane distance from the camera
  • 16: rear plane distance from the camera
  • 17: orthoscopic flag (not implemented in older versions)

SEE ALSO

Get View, View