Pirika logo
JAVA,HTML5と化学のサイト

Pirika トップ・ページ

Pirikaで化学
 物性化学
 高分子化学
 化学工学
 分子軌道
 情報化学

 その他の化学
 アカデミア
 MOOC講義資料
 プログラミング

ハンセン溶解度パラメータ(HSP):
 HSP基礎
 HSP応用
 ポリマー
 バイオ・化粧品
 環境
 物性推算
 分析
 化粧品の処方設計
 その他
 自分でやってみよう

雑記帳

Ad Space for you

 

Ad Space for you

 

 

 

Last Update

03-Sep-2019

プログラミング数値計算の注意

非常勤講師:山本博志 講義補助資料

 

JAVAからJAVAScriptへの変更点で気をつけることは、Antoineの蒸気圧推算が

log Pressure = A- B/(T+C)

の計算で、log が自然対数のlog,(LNと書かれることもある)、log10(底を10にしたログ)、T(温度)がケルビンか°Cか、圧力がmmHgかBarかでアントワン定数が数種類あることだ。Pirikaではlog10, Kelvin, mmHgのAntoineを採用している。(通常の化合物で、AntAが7付近、AntBが1200,AntCが200ちょっとなので、気をつけて計算して頂きたい。)

JAVAやJavaScriptのMath.log(X)関数は自然対数なので、

function log10(x) { return Math.LOG10E * Math.log(x); }

という関数を用意して、log10を計算できるようにしておく。

結果を出力するときに、数値演算は、327.93674084848というように小数点以下ずらずら値が入ってくるので、小数点以下を四捨五入する関数、Math.round(X)を使って丸め込む。

X=327.93674084848*100; 100倍する。
var Y=Math.round(X); 小数点以下を四捨五入。
X=Y/100.0; 1/100倍する。

出力の改行コードは”\n"とする。\の記号はマックの場合はオプションキーを押しながら¥記号を押す。プログラムによっては¥記号でも通用するが、JavaScriptでは¥記号はダメなようだ。後はJAVAの数値計算部分で変数の int や double を var に変えて配列の定義をJavaScriptに変える。変数の初期値はJAVAは0になっているが、JavaScriptでは初期化されないのできちんと定義する。それさえ気をつければ、問題なく移植できる。GUIの設計は、DashCodeを使ってパーツを配置するだけなので20分もあれば設計できる。キャンバスへの描画はHTML5から導入されたものだが、座標を指定して、線や丸を書くだけなので簡単にできるだろう。値をセットしたときに、ボタンの色を変えたりボタンを使えなくしたりしたい。それはこのようにやる。

var buttonToEnable = document.getElementById("button1");
buttonToEnable.object.setEnabled(false);
buttonToEnable.opacity=0.2;

setEnabledでtrueかfalseでボタンを押されたときに動作するかしないかを設定できる。また、opacityが1.0の時にはボタンがはっきり見えて、0.2では薄暗く見える。

 

プログラミングのトップページへ