新年的第一篇文章,獻給廣大的喜愛Igor的人們,獻給熱愛數據的人們,獻給辛勤奮戰在實驗研究第一線的人們,獻給在探索未知的道路上辛苦前行的人們。祝所有的粉絲新年快樂,2018年必然是在科學研究上取得突破性進展的一年,必然是文章獲得大豐收的一年,必然是事業迎來大發展的一年,必然是家庭幸福、身體健康、心想事成、萬事如意的一年~~
這一個月來,小編幾乎是在焦糊狀態下度過。文章更新慢了,對大家的留言回復也不夠及時,在這裡道個歉。留言裡很多的讀者和粉絲都非常關心書的出版進度,在這裡非常感謝大家的關注和支持。前幾天和出版社聯繫,書已經排版完了,馬上就要付印出版了。小編理解大家的心情,也請大家相信,小編絕對更迫切看到書的出版,沒有一丁點敷衍大家的意思。微信裡總說「兩個月後出版」,小編決定把這個鍋甩給微信,是它自動回復的(O(∩_∩)O哈哈~)。
本期給大家介紹Igor7下3D繪圖的技術。下面的內容來源於wavemetrics公司工程技術人員的博客。博客的網址是https://www.igorpro.net/blog/,建議大家有一定基礎後可以經常去這兒看看。這裡面絕大多數文章都是Igor Pro的工程師寫的,文章裡介紹的技巧都是非常專業和準確的。
Then the Gizmo display is created, based on the fundamental Scatter0 object using the triplet coordinate wave 'wxyz' and the Path0 object using the wave 'wpath'. The path uses Igor Pro 7's new Tube display mode. All other Gizmo additions are to enhance the display appearance. Although this example is simple in its symmetry and composition, it may suggest ways to apply similar Igor Pro 7 methods to visualizing more complicated molecules. For example, straightforward modification of the above functions enables creation of two separate adjacency matrices and paths for long (blue) and short (yellow) bonds. There are 60 long and 30 short bonds. Note that pentagonal rings contain only long bonds, while short bonds occur only at edges between shared hexagons.
Window Gizmo0() : GizmoPlot
PauseUpdate; Silent 1 // building window...
// Building Gizmo 7window...
NewGizmo/W=(62.25,49.25,652.5,590)
ModifyGizmo startRecMacro=700
ModifyGizmo scalingMode=8
ModifyGizmo setOuterBox={-4.5,4.5,-4.5,4.5,-4.5,4.5}
ModifyGizmo scalingOption=0
ModifyGizmo keepPlotSquare=1
AppendToGizmoScatter=root:wxyz,name=scatter0
ModifyGizmoModifyObject=scatter0,objectType=scatter,property={ scatterColorType,0}
ModifyGizmoModifyObject=scatter0,objectType=scatter,property={ markerType,0}
ModifyGizmoModifyObject=scatter0,objectType=scatter,property={ sizeType,0}
ModifyGizmoModifyObject=scatter0,objectType=scatter,property={ rotationType,0}
ModifyGizmo ModifyObject=scatter0,objectType=scatter,property={Shape,2}
ModifyGizmoModifyObject=scatter0,objectType=scatter,property={ size,1}
ModifyGizmoModifyObject=scatter0,objectType=scatter,property={ color,1,0,0,1}
ModifyGizmomodifyObject=scatter0,objectType=scatter,property={calcNormals,1}
AppendToGizmofreeAxesCue={0,0,0,0.4},name=freeAxesCue0
ModifyGizmomodifyObject=freeAxesCue0,objectType=freeAxesCue,property={calcNormals,1}
AppendToGizmoPath=root:wpath,name=path0
ModifyGizmo ModifyObject=path0,objectType=path,property={pathColorType,1}
ModifyGizmoModifyObject=path0,objectType=path,property={ lineWidthType,0}
ModifyGizmoModifyObject=path0,objectType=path,property={pathColor,0.466667,0.466667,0.466667,1}
ModifyGizmo ModifyObject=path0,objectType=path,property={drawTube,1}
ModifyGizmoModifyObject=path0,objectType=path,property={ fixedRadius,0.1000}
ModifyGizmoModifyObject=path0,objectType=path,property={ calcNormals,1}
ModifyGizmomodifyObject=path0,objectType=Path,property={calcNormals,1}
ModifyGizmosetObjectAttribute={path0,blendFunc0}
ModifyGizmosetObjectAttribute={path0,specular0}
AppendToGizmolight=Directional,name=light0
ModifyGizmo modifyObject=light0,objectType=light,property={position,-0.241800,-0.664500,0.707100,0.000000}
ModifyGizmomodifyObject=light0,objectType=light,property={direction,-0.241800,-0.664500,0.707100}
ModifyGizmomodifyObject=light0,objectType=light,property={ambient,0.133000,0.133000,0.133000,1.000000}
ModifyGizmomodifyObject=light0,objectType=light,property={specular,1.000000,1.000000,1.000000,1.000000}
AppendToGizmo attributeblendFunc={770,771},name=blendFunc0
AppendToGizmo attribute specular={1,1,1,1,1032},name=specular0
AppendToGizmo attributespecular={1,1,0,1,1032},name=specular1
AppendToGizmo attributeshininess={5,20},name=shininess0
AppendToGizmo attributespecular={1,1,0,1,1032},name=specular2
AppendToGizmo attributeshininess={5,20},name=shininess1
ModifyGizmo setDisplayList=0,object=freeAxesCue0
ModifyGizmo setDisplayList=1,object=light0
ModifyGizmo setDisplayList=2,attribute=shininess1
ModifyGizmo setDisplayList=3,attribute=specular2
ModifyGizmo setDisplayList=4,object=path0
ModifyGizmo setDisplayList=5,object=scatter0
ModifyGizmo setDisplayList=6,opName=clearColor, operation=clearColor, data={0.8,0.8,0.8,1}
ModifyGizmocurrentGroupObject=""
ModifyGizmoshowInfo
ModifyGizmoinfoWindow={911,4,1724,245}
ModifyGizmo endRecMacro
ModifyGizmoSETQUATERNION={-0.479222,-0.350733,-0.486510,-0.640841}
EndMacro