【Python】組合せ最適化で健康的なマックのメニューを考える
この記事はオモゐデ漁船 Advent Calendar 2022 - Adventar11日目の記事です
こんにちは.りです.
マックうまいですよね.毎日食べられます.
でも健康的にちょっと難があるので(僕は気にしませんが)マックを毎日食べるのを躊躇っている人もいるかもしれません.
ということで今回は健康的なマックのメニューを組み合わせ最適化を用いて考えてみました.
組み合わせ最適化とは
なんか「条件をみたす組み合わせの中で一番良いものを求めること」らしいです.
例えば「倉庫に物を多くしまう組み合わせ」みたいな問題らしいです.
まあ僕もよく分からないので詳しくはググってください.
実践
まずマクドナルド公式サイトのデータ一覧から栄養素のデータを持ってきます
今回使用するデータはエネルギー,タンパク質,脂質,炭水化物の4つです.
あとの栄養素は気合でカバーしてください.
あとここの段階で一部のメニュー(塩コショウやドレッシング)を消したり,サラダに個数制限を設けるようにしています.
そうしないと,塩を270個食べさせられたり,サラダを100個食べさせられたりして,死にます.
次に各栄養素ごとにデータを配列の形にして,Pythonでいい感じにコードを書きます.
このコードでは,総摂取栄養素が1日の接種目安の栄養素を越さないように条件指定しています.ただし,タンパク質はなんか多いほうがいいって聞いたことがあるので,タンパク質のみ目安より多くなるようにしています.
詳しい事はあんまわからないので参考にしたサイトを貼っておきます
これを実行するとこのような結果が得られます
出てきたのは番号ですが,これはExcelでの番号に相当しているので,この結果は「チキンクリスプ4つ,サラダ2つ,ワッフルコーンストロベリー2つ」になります.
終わり
今回はマクドナルドで究極の完全食メニューを生み出してしまいました.
この悪魔の発明のせいで日本の食文化が廃れ,世界がマクドナルドに支配される日もそう遠くない気がします.
Python初めてまともに使ったけど楽しかったです.でも疲れたので今からビッグマックを食べにいってきます.
それでは~
【簡単】Blenderを使ったトリックアートの作り方
この記事はオモゐデ漁船アドベントカレンダー2021 5日目の記事です。
こんにちは。り~さんです。
突然ですが皆さん。『トリックアート』作ってますか?
僕には絵心が無いので無理でした。でもBlenderを使ったいい感じの方法を思いついたのでここに書いておこうと思います。
必要なもの
やり方
まず初めにBlenderでA4サイズ(0.297m×0.210m)の面を作ります。細分化も適当にしといてください。それから作った面を3つに複製して(ここでは面1,面2,面3とします。)面1以外は一旦非表示にしておきます。ここの寸法は割と重要なので、ちゃんとやってください(適当)
次にトリックアートにしたいオブジェクトを適当に配置します。面1にテクスチャを貼ったりするといい感じにそれっぽくなります。
そして、トリックアートを撮影する為のカメラの焦点距離を設定します。35mm換算でいれてください。スマホのカメラを使いたい場合は、「機種名 カメラ 35mm換算」でググれば多分でてきます。
あとはカメラアングルを面1からはみ出さないように設定して、一度レンダリングします。FHDだと解像度が足りないかもしれないので4Kくらいでレンダリングしてください。
次に面2と面3以外を非表示にします。そしてビューをカメラの視点にして、面2のUVをビューから投影します。それから、面2にレンダリングした画像を貼りつけると、綺麗に画像に貼りつけることが出来ます。
そして面3に幅5940×高さ4200の新しいテクスチャを作り、面3を今度は普通に展開します。
面2のテクスチャを面3の新しく作ったテクスチャにベイクすると、ベイク先のテクスチャがなんかいい感じになってくれています(語彙力)ベイクのやり方などは適当にググってください。
このテクスチャを印刷して、Blender内のカメラとだいたい同じアングルから撮影すると…
完成
簡単でしたね
作例
Blenderでトリックアートを作りました#blender #b3d pic.twitter.com/snCEMpQDbf
— り~さん (@ri_sambaland) November 15, 2021
応用すればいろいろできそうですね
いかがでしたか
いかがでしたか?
ここまで読んでいただきありがとうございました。
この記事は半日で書き上げたので全体的に雑だと思います。訂正等あれば知らせてください。
それでは~
【自作】一週間で音ゲーを作ってみた
この記事はオモゐデ漁船アドベントカレンダー2020 13日目の記事です。
はじめに
どうも、り〜さんです(り~さん (@ri_sambaland) | Twitter)
普段は3DCGとか音ゲーとかをやってます。
↑楽しい音ゲーの様子
いろんな音ゲーをプレイする内に自分で音ゲー作ってみたいな…って考えるようになって、今回のアドベントカレンダーの企画で実現出来るのでは?と思ったので、思い切って挑戦してみました。
あとこの記事は公開当日にかなり焦って書いているので、色々おかしい所があるかもしれません。ご了承下さい。
制作にあたって
音ゲーとは
音ゲー作るって言ったけどどうやって作るか知らないし、まず音ゲーって何だ?ってなったので調べて来ました。
音楽に合わせてプレイヤーがアクションをとる(画面で指示されたボタンを押す、ステップを踏む、楽器を模したコントローラを操作するなど)ことで進行するタイプのゲーム。
だそうです 。
制作の目標
- 5鍵にする
- Unityを使う
- 譜面制作ツールを利用出来るようにする
- 最低限音ゲーとして成立するようにする
自分はUnityでしかゲームを作った事がないので、今回はUnityを使います。
まあとりあえず遊べる物が出来ればOKって事にしました。
音ゲーの作り方
何から手をつけていいのか全くわからなかったので、とりあえず「音ゲー 作り方」で調べてヒットしたサイトを片っ端から見ていったところ、
こんなサイトがありました。譜面制作からノーツの処理まで分かりやすく書いてあってとても参考になりました。
また、Notes Editorという譜面制作ソフトを見つけたのでこれを使う事にしました。
とりあえず作ってみた
Unityでノーツのオブジェクトと判定のラインを作って
頑張ってスクリプトを書いて
譜面作って
なんやかんやして
完成!
作ってみて
初心者が1週間で(作業時間的には8時間くらい)頑張って音ゲーを作ったら、スコアとコンボの表示なしで判定が1種類というギリ音ゲーとして成立するかしないかレベルの物が出来上がりました。
まだまだ改善の余地がありそうなので、気が向いたら色々研究してみたいと思います。
おわり
いかがでしたか?
いかがでしたか?
ごめん
アドベントカレンダーの記事を当日から書き始めるという愚行のせいで肝心な作業の部分がスッカスカになりました。ごめんなさい
以上です。
最後まで読んでいただきありがとうございました。
はじめまして
り~さんです。
何か書きたくなったので始めました。
多分備忘録的な使い方になると思います。