実行例
やったことはタイトル通り。分子の構造データが入ったsdfファイルに、分子軌道データが入ったcubeファイルを重ねて表示した。まずは全体のソースと実行例。
<script src="https://cdnjs.cloudflare.com/ajax/libs/3Dmol/1.3.0/3Dmol-min.js"></script> <script> var $3Dmol = $3Dmol || {}; var $ = jQuery || {}; var initShapes = function(viewer) { $.get('https://dl.dropboxusercontent.com/s/3txt5x1id37tn3r/benzene_HOMO.cube', function(data){ var voldata = new $3Dmol.VolumeData(data, "cube"); viewer.addIsosurface(voldata, {isoval: 0.02, color: "blue", alpha: 0.95, smoothness: 10}); viewer.addIsosurface(voldata, {isoval: -0.02, color: "red", alpha: 0.95, smoothness: 10}); viewer.setStyle({}, {stick:{}}); viewer.zoomTo(); //viewer.zoom(.75); viewer.render(); }, 'text'); }; </script> <div style="height: 400px; width: 400px; position: relative;" class='viewer_3Dmoljs' data-href="https://dl.dropboxusercontent.com/s/7gsituw96b43c83/benzene.sdf" data-datatype="sdf" data-callback='initShapes' data-backgroundcolor='0xf6f6f6'></div>
ベンゼンの構造とそのHOMO。計算はHF/3-21G。
ファイルのアップロード
本題とは関係ないのだが、個人的に重要だったので書いておく。拡張子がpbd, sdf, cubeなどのファイルをSSL通信で共有するのは、普通、有料のサーバーを使うしかない。しかし、Dropboxを用いれば、それらのファイルをアップロードできる。
① Dropboxにファイルをアップロードし、共有リンクを取得する。
② 共有リンクの末尾の「?dl=0」を消去し、「www.dropbox.com」の部分を「dl.dropboxusercontent.com」に置き換えて、ファイルに直接リンクできるようにする。
(例)「benzen.sdf」をDropboxにアップロードして取得したリンク
https://www.dropbox.com/s/7gsituw96b43c83/benzen.sdf?dl=0
「?dl=0」を消去し、「www.dropbox.com」の部分を「dl.dropboxusercontent.com」に置き換えて
https://dl.dropboxusercontent.com/s/7gsituw96b43c83/benzen.sdf
とする。
コメントをお書きください