消費カロリーの逆算Webアプリで学ぶ、HTMLでの分数表記
健康診断にて...
日頃からデスクワークばかりだと運動不足になりますよね。
自分もエンジニア兼DTPオペレーターという二重職種ですが、デスクワークであることには変わりなく、運動不足です。
運動不足でもお腹は減り、お酒は増え、体脂肪も増量するものです。
20代のころは健康診断でも先生に「ちょっと太り気味なので、運動してくださいねー」と軽く注意される程度でした。
てへぺろ☆(・ω<)
で許されていました。
ところが、30代になった途端に「このままだとヤバいよ」と軽く怒れます…。
もちろん、
てへぺろ☆(・ω<)
と茶目っ気を見せても「運動しましょうねー」とあしらわれてしまします。
これはいよいよ、物理的にも重い腰を上げる時が来たようです...。
ダイエット はじめました
今はデスクワークバリバリの自分ですが、学生時代はラグビー部所属のもやし型体育会系でした。
筋トレやマラソンは大嫌いですが、痩せる原理は痛感してます。
それは...
「消費カロリー>摂取カロリー」であること
それだけです。
消費カロリー > 摂取カロリー = 痩せる
消費カロリー < 摂取カロリー = 太る
たった、それだけです。
「これをお腹に巻くだけ!」
「食事にこれを加えるだけ!」なんてのは幻想です。都合のいい夢を見るのは、諦めましょう。
と言いつつ、自分も「たった、それだけです。」と言っている...
※詳細はTestosterone氏の著書にお任せします。
なので、消費カロリーと摂取カロリーを把握する必要があります。
摂取カロリーはググれば簡単に分かります。
一方、消費カロリーも計算サービスやアプリがたくさんあります。
しかし...
カロリー計算ツールは「消費したカロリー」ばっかり
忙しい現代人にとって運動する時間は貴重です。
しかし、どの計算サービスも「運動して消費したカロリー」という結果ばかり。
「どれぐらい運動したら、摂取カロリーを清算できるか」がわかったら計画が立てやすいのに...
また、
「今日も頑張って走ったのに、たったの200kcalか...」
となると、モチベーションも下がってきます。
やはり、消費したいカロリーから運動時間を知りたい...。でもわからない...。
無いのなら 作ってしまえ ホトトギス
作りました。
「消費したいカロリー」と「運動強度(種類)」と「体重」から運動時間を逆算できます。
トップページに分数表記された計算式も書いていますね。
ようやく分数表記の話か...
通常、htmlで分数表記をしようとすると、
<body>
分子/分母
</body>
と書くしかなく、
消費カロリー(kcal) / (1.05 * METs * 体重(kg) )
のようになります。
あるいは、MathMLに準拠した記述にするという手段もありますが、対応ブラウザが少ないという問題があります。
なので、対応していないブラウザのために、今回はMathJax™を使います。
CDNがあるので、以下の記述をhtmlに追加するだけでMathMLに準拠した記述をサポートしてくれます。
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script>
まずは数式表記をすることを示すため、<math>
タグでくくります。
<math>
ここに数式
</math>
次に、分数表記をする箇所を<mfrac>
タグでくくります。
<math>
<mfrac>
ここに分数表記
</mfrac>
</math>
この中に書かれたタグが分子→分母の順で認識されます。
分子と分母をそれぞれ、<mi>
(識別子や文字)タグ、<mn>
(数値)タグでくくります。
<math>
<mfrac>
<mi>
ここに分子(文字)
</mi>
<mn>
ここに分母(数値)
</mn>
</mfrac>
</math>
分子と分母が複数の数値や文字で成り立っている場合、<mrow>
タグでくくることで、グループであることを明記します。
つまり、最終的には
<math>
<mi>運動時間(h)</mi>
<mo>=</mo>
<mfrac>
<mi>
消費カロリー(kcal)
</mi>
<mrow>
<mn>1.05</mn>
<mo>×</mo>
<mi>運動強度(METs)</mi>
<mo>×</mo>
<mi>体重(kg)</mi>
</mrow>
</mfrac>
</math>
こうなります。
その他の部分に関して
プルダウンメニュー(select要素)はbodyの読み込み時にjs上に記載したクラスから生成しています。
詳細はこちら。
そして、今回の肝である運動時間の計算は結構シンプルです。
// 運動時間を計算するクラス
class Culc{
constructor(kcal,METs,Weight){
// 消費カロリー(kcal) = 1.05 * METs * 体重(kg) * 運動時間(h)
var kcalObj = document.getElementById(kcal);
var METsObj = document.getElementById(METs);
var WeightObj = document.getElementById(Weight);
this.kcal = kcalObj.value;
this.METs = METsObj.value;
this.Weight = WeightObj.value;
this.coefficient = 1.05;
}
culcWorkoutTime(){
// 運動時間(h) = 消費カロリー(kcal) / (1.05 * METs * 体重(kg) )
var workouttime = this.kcal / (this.coefficient * this.METs * this.Weight);
console.log("運動時間:",workouttime);
return (workouttime);
}
}
ちなみに、本アプリのリポジトリは
https://github.com/Kahiro-M/ConvKcal.git
です。
ご自由に改造してください。
そして、ダイエット開始から半年が経ち...
無事、-5kg減量できました。
やったぜ!
Author And Source
この問題について(消費カロリーの逆算Webアプリで学ぶ、HTMLでの分数表記), 我々は、より多くの情報をここで見つけました https://qiita.com/Kahiro-M/items/7dc4738b91cabd89cb02著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .