Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回はCommon LispとuLispの大きな違いの一つ、マクロについて調べてみます。Lispの中には、関数、マクロ、スペシャルフォームなどあり、その挙動が異なります。しかし、どうもuLispにはマクロはないみたい。
ブロックを積みながら(179) Scilab/Xcos、摩擦力、動き始めと止まるところメンド
前回まで剛体の回転を練習してました。「回りもの」を止めるときはブレーキだよな。ブレーキといったら摩擦?という連想で、摩擦が取り扱えるようにしたかったです。高が摩擦?でも考えてみるとメンドイです。動き始めるところと止まるところ、知恵の回らないお惚け老人は場合分け連発で「メンドクセー」フローを描いてしまいましたぜ。 “ブロックを積みながら(179) Scilab/Xcos、摩擦力、動き始めと止まるところメンド” の続きを読む
手習ひデジタル信号処理(156) Scilab、{IPCV}、stitching、画像連結
前回は「最近のカメラだったら出来て当然」のお顔検出。今回も「できて当然」機能です。複数枚の写真を繋ぎあわせて「パノラマ画像」を作るような操作。Image Stitchingと唱えるようです。前々回でやったような画像特徴点を取り出して「同じ」とみなせる点を重ねていくみたいです。でもHELP例がエラーになるのよ。 “手習ひデジタル信号処理(156) Scilab、{IPCV}、stitching、画像連結” の続きを読む
Lispと一緒(19) ラズパイPico2でもuLisp、list関連関数
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は巡り巡ってリスト関係の関数に戻ってまいりました。uLispは「マイクロ」なので関数の数は少ないですが、この辺の関数どもの挙動にはCommon LispとuLispの差は見えませぬ。あったら困るか?さっさと練習して次へ。 “Lispと一緒(19) ラズパイPico2でもuLisp、list関連関数” の続きを読む
ぐだぐだ低レベルプログラミング(189)x86(16bit)、セグメントレジスタ操作
前回8086/88, 80186のセグメンテーション(ほぼほぼ80286.386以降のリアルモード相当)についておさらいしたので、今回は「メンドクセー」奴らセグメントレジスタを実際に操作してみます。といっても「読み・書き」するだけなんだけれども。そんな簡単な操作でも一筋縄でいかない感じがほの見えるのであります。
データのお砂場(158) R言語、哺乳類の睡眠時間データ、{ggplot2}
さて今回は、哺乳類の睡眠時間に関するサンプルデータセットです。人間様を含む83種のデータです。どうやって測定したのか詳細は不明ですが、トータルの睡眠時間、レム睡眠の時間、睡眠サイクルの時間(長さ)などの記載があります。しかし、NAかなり多め、まあそんなデータを測定しようとすること自体難しそうなので、しかたないか。
忘却の微分方程式(172) Maxima、{vect}、ベクトル解析、ローテーション
前回はダイバージェンス(div)、今回はローテーションです。遥かな太古、お惚け老人が学校でベクトル解析を習ったとき、rot (rotation)というお名前で習いました。rotでなく、curl とお書きになる流儀もあるみたい。Maxima様はどうも curl 流であるようです。rotと書いたらエラーになりましたぜ。 “忘却の微分方程式(172) Maxima、{vect}、ベクトル解析、ローテーション” の続きを読む
Lispと一緒(18) ラズパイPico2でもuLisp、配列、array
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は配列、arrayを練習してみます。今回はCommon LispとuLispの差というより、処理系依存な部分がちょいと見えましたかな。まあ、注意してたらその差は見えないような使い方は十分できそうな気がするけど(個人の感想デス。)
ブロックを積みながら(178) Scilab/Xcos、剛体の回転、回転エネルギーも表示
前回は、剛体の回転運動モデルに任意のトルク波形を与えて回転させるようにしてみました。回転のアニメーション表示はするし、角速度も表示できるのですが、いくつか表示項目を増やしたい希望があります。まずは回転の運動エネルギー[J]ですかね。計算式そのものは単純、ブロックをいくつか追加するだけ。
手習ひデジタル信号処理(155) Scilab、{IPCV}、Haar Cascadeでお顔
前回は画像特徴点の抽出関数どもを使用。交通標識の識別を試みました。今回も「古典的」な画像認識の手法です。Haar Cascadeとな。画像の中から「お顔」に見えるような領域を検出するのに向いたカスケード構造の分類器らしいです。最近のカメラだったら出来て当然?の機能か。その昔デモ見たときはビクッリしたもんだが。
ぐだぐだ低レベルプログラミング(188)x86(16bit)、セグメンテーションその1
ことさらにMOVなど転送命令を避けて今回に至ります。流石にこの辺で悪名高い x86 のセグメンテーションについて説明しておく必要を認めました。そこで今回はリアルモードのセグメンテーションの図解といたします。まあセグメンテーションといいつつ、そのうちやるつもりのプロテクテッド・モードのそれに比べりゃ可愛いもんだけれども。
“ぐだぐだ低レベルプログラミング(188)x86(16bit)、セグメンテーションその1” の続きを読む
Lispと一緒(17) ラズパイPico2でもuLisp、整数ビット演算
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は整数のビット演算系の関数を練習してみます。Common Lispではboole関数とlogで始まる関数どもで似た処理が可能。uLispではlogで始まる関数のみ存在します。その範囲であれば「概ね」差は見えにくいです。
データのお砂場(157) R言語、米国の自動車の燃費データ再び、{ggplot2}
かなり前の過去回で米国の自動車の燃費データを扱った記憶。振り返ってみると50年前のデータ。今回のgglot2パッケージ内のサンプルデータセットmpgは約25年前から15年ほど前までのデータです。やや新しいだけでなく、これ以後になるとEV車などが広まってくるので、内燃機関だけを考えていればよかった最後の時期のデータかと。
忘却の微分方程式(171) Maxima、{vect}、ベクトル解析、ダイバージェンス
前回は、スカラー場からベクトル(勾配)を求めるグラディエント(grad)を計算してみました。プロットもなんとかなる感じ?今回はベクトル場から発散(ダイバージェンス)を求めるdiv()関数を試用してみます。こんこんとベクトルが湧いてくるのよ?でも、お惚け老人には3次元空間ベクトル場の表現はムツカシイのでいつもの2次元ね。 “忘却の微分方程式(171) Maxima、{vect}、ベクトル解析、ダイバージェンス” の続きを読む