Wolfram EngineをVisualBasicで使う(8:化学構造式の描画)
今回は化学構造式を描画してみようと思います。
これはグラフの表示と同じでとっても簡単。
- これまで何度も使ってきたフォームで。TexBox1、Button1、PictureBox1です。
-
コードはグラフを書いた時と全く同じ。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ml As IKernelLink = MathLinkFactory.CreateKernelLink("-linkmode launch -linkname 'C:\Program Files\Wolfram Research\Wolfram Engine\13.3\WolframKernel.exe'")
ml.WaitAndDiscardAnswer()
Dim result As Image = ml.EvaluateToImage(TextBox1.Text, 200, 200)
PictureBox1.Image = result
End Sub
End Class
-
まずは、化学の分野でよくつかわれるSMILES(スマイルス)形式で書かれた分子を書いてみます。
MoleculePlot[Molecule["CN1C=NC2=C1C(=O)N(C(=O)N2C)C"]]
- 実行すると。正しくカフェインが描画されました!
-
Wolfram Languageのドキュメントでは「Molecule」では、「体系的な化学名」も使えると書かれています。これは「IUPAK命名法」も受け付けるということです。なので、今度はカフェインのIUPAK名を入れてみます。
MoleculePlot[Molecule["1,3,7-Trimethylpurine-2,6-dione"]]
なんとなく向きが違いますが、同じ結果が出ました。
-
分子を表現する関数にはもうひとつ、「MoleculePlot3D」というのがあります。使い方は全く同じです。
MoleculePlot3D[Molecule["CN1C=NC2=C1C(=O)N(C(=O)N2C)C"]]
-
プロットの描画方法も指定することができます。
MoleculePlot3D[Molecule["CN1C=NC2=C1C(=O)N(C(=O)N2C)C"], PlotTheme->”SpaceFilling”]
のようすると、次のように描画できます。
Copyright (c) 2023-2024, techtechlab by DataWith