IIJmioのSIMサイズ変更の方法(マルチSIMになったのでサイズ選択無くなりました

IIJから提供されるSIMのサイズは、「マルチSIM」です。ネットでマルチSIMと検索してもらえばわかりますが、一枚のSIMでnano SIM/micro SIM/標準SIMの3サイズに対応できるマルチなカードの事らしいです。 よく見たらお問い合わせにちゃんと書いてありました。…

階層型状態マシン(HFSM)を実装する

GoFのデザインパターンでStateパターンを階層化した、階層型状態マシン(HFSM:Hierarchical Finite State Machines)を作成してゲーキャラクターの制御を行ったので実装例を紹介したいと思います。 有力なゲームエンジン(UnityやUE4)であればHFSMと同等の…

C#のOpenCVSharp3を使って画像から線画を抽出する

Qiitaの以下投稿でPythonを使用して画像から線画を抽出するという処理を見たのですが、この処理をC#で書き直したらどうなるかどういうコードになるか確認してきたいと思います。 qiita.com 元のコードの確認 まず対象のコードの確認です。 以下Qiitaからの引…

OpenCvSharpで画像データを高速に設定、取得する

C#のOpenCVライブラリのOpenCVSharp3でMatに高速でデータ読み書きする方法の紹介です。 高速にデータの読み書きをするためにMat.Data : IntPtr を利用してデータの読み書きを行いたいと思います。 使用しているライブラリは、OpenCvSharp3(ver. 3.4.1.20180…

C#の変数の内部表現を確認する

C#

普段使用しているCPUは、最近はMacもインテルのCPUなので、バイトオーダーは「リトルエンディアン」が主流です。 エンディアンの詳細はさておき、つまり、2バイトデータの中身が、「0x 12 34」となっていた場合メモリのレイアウトは 「0x 34 12 」と逆順にな…

ACジャパンのセーブ・ザ・チルドレンが炎上した件について

ACジャパンが支援する「子ども支援の国際NGOであるセーブ・ザ・チルドレン」広告が炎上しているようです。 どうも広告内に設問があったのですがそれが難しすぎるとの事です。 まず、問題を確認する前に、広告の内容や意義や目的の説明を見ておきましょう。以…

C#のBigInteger型で超巨大な数字を扱う

C#の組み込み型で最も大きい値を扱える型は、decimal型で最大の整数として、79,228,162,514,264,337,593,543,950,335(7穰9228秭1625垓1426京4337兆5935億4395万0335)となっています。 ulongの最大値の10億倍(10の9乗)もあるので十分大きいため、余程の事…

C++でC#ライクなプロパティを実現する

C#ではプロパティ構文というものがあります。これは、オブジェクトのメンバーへのアクセスを行うための、アクセッサー(setter/getter)をあたかも変数へのアクセスと同様に行える仕組みです。 // C#のプロパティ public class CSharpProp { // 一番簡単なプ…

C#の組み込み型の確認

C#

C#で最初から使用できる型を組み込み型と言います。 範囲使用できる範囲をすぐ忘れてしまうので自分のためにまとめてみました。 C# は int や double など、他の型のある言語で利用できる型がC#にも用意されています。組み込み型の特徴は以下の通りです。 .N…

ひし形と点の当たり判定を行う

今回は、ひし形(というか任意の4点からなる四角形)と、ある点の衝突判定を行いたいと思います。 判定処理の概要ですが、以下図の通り任意の4点 A ~ D をそれぞれを線で結び四角形とし、そこに点 P を与え、それぞれ四角形の内(=衝突している)外(=衝…

C#で表示する小数点の桁数を指定する

C#

C#で小数点以下の桁数を指定して文字列表示を行う方法を紹介したいと思います。 紹介する内容 小数点以下を切り捨てて文字表示を行う 小数点の桁数を指定して文字表示を行う 整数部をゼロ埋めしつつ少数点以下の桁数も指定する 【余談】小数点文字列をdouble…

C#の自動実装のイベントは解放されるのか?

C#

C#では、プロパティのイベント版ともいえる「自動実装イベント」を以下のように宣言することができます。 public event Action EventAction; 上述のコードですが、イベントを登録した事によって親オブジェクトもしくは子オブジェクトが破棄されないのでは?…