雑食性雑感雑記

知識の整理場。ため込んだ知識をブログ記事として再構築します。

【JavaScript & Canvas】Boids アルゴリズム 習作

「群制御みたいなもの」をなんか作ってみたいなーと調べていたらたどり着いた Boids アルゴリズム。 まずはアルゴリズムを理解するのに、良く書かれているコードの内容を見て、整理しながら書いてみました。 作成物 正方形領域だと移動範囲が狭いので、縦長…

【JavaScript & Canvas】等速度運動のボールを弾ませてみる

先日にボールを壁に反射させるのを作った。 コレ、ボールが反射するときに弾ませてみたら面白いかなーと思い、弾ませる方法を考えてみた。 作成物 // Canvas 紐づけ要素 ID const BASE_ID = "canvas_base"; // 描画エリアサイズ const WIDTH = 540; const HE…

【JavaScript & Canvas】一定間隔で更新する描画を作ってみる。(ライフゲーム)

前回まではベストエフォートで常に更新処理終わったら描画の更新をかける方針でした。 そうではなく「一定のタイミングで更新」かける方式の描画についても試してみます。 ライフゲームはよく作っていて分かりやすいのでこれで。 作成物 // Canvas 紐づけ要…

【JavaScript & Canvas】 投射と跳ね返り

前回 : 等速度運動。 等速度運動やったなら、斜方投射もやっておこうと物理の計算を復習。 作成物 // Canvas 紐づけ要素 ID const BASE_ID = "canvas_base"; // 描画エリアサイズ const WIDTH = 500; const HEIGHT = 500; // 反発係数 const REFLECTION = 0.…

【JavaScript & Canvas】 等速度運動と反射

前回に下地となるクラスを作ったので、アニメーションが活かせる簡単な処理を作ってみます。 『ボールを投げて壁に反射して――』が分かり易そうなのでコレを作ってみよう。 作成物 // Canvas 紐づけ要素 ID const BASE_ID = "canvas_base"; // 描画エリアサイ…

【JavaScript & Canvas】 アレコレ作るための下地クラスを整備

前回、JavaScript の復習と仕事の復習かねて Canvas やってたら楽しかったので、もう少しアレコレ作ってみる。 ――その前に、アニメーションとかやろうとするとコードがごちゃごちゃになるのは目に見えているので、 その辺を整理する。 作成物 今回は特に工夫…

JavaScriptの復習ついでに垂線を求めて描画してみる

JavaScriptの復習をかねて、最近作っている点と直線との処理を使って canvas の描画処理を作ってみました。

趣味用PCを新しくした話

古くなってきた PC を新しくしました。 ケース : SilverStone SG12 CPU : AMD Ryzen 7 5700G GPU : NVIDIA GeForce 1070 OC Memory : 32GB Storage : 1TB + 2TB

『滑らか』なセンサデータの極大・極小を取得してみる

Python で『滑らか』なセンサデータに対して極大・極小を取る処理を作ってみました。

Ubuntu で動作する .NET 系な GUI フレームワークお試し (Mono、AvaloniaUI)

Ubuntu で動作する .NET 系な GUI フレームワークを使って、動画ビューアの構築を試してみました。 Mono と AvaloniaUI を使いました。

OpenCV + Matplotlib (Seaborn) で 2 画面の動画 + グラフ表示

OpenCV と Matplotlib を合わせて、2画面で動画の表示とグラフ表示をさせてみました。

ProcedualMeshComponent で波打つメッシュを作ってみた

UE4 ProcedualMeshComponent 習作。波打つメッシュを作ってみました。

OpenCV画像 + matplotlibグラフを合わせて表示する

OpenCV映像とMatplotlibグラフを一つの画面で表示させてみたい。というのをやってみました。

Boost.numpy 活用 〜ライフゲーム作って高速化してみる〜

Boost.numpy 使えるようになってきたのでちょっと応用。 ライフゲームを作って実際に速度が速くなるか確かめてみた。

Cython で Python ⇔ C++ のインタフェースを作る

Cython を使って Python と C++ を繋ぐインターフェースを作ってみた。

Boost.numpy ことはじめ その2 (戻り値)

Boost.numpy 使ってみた事始め記事その2。 C++側での戻り値処理。numpy配列を作ってPython側に戻す。

Boost.numpy ことはじめ

Boost.numpy 使ってみた事始め記事。 Ubuntu16.04で環境構築→cmakeビルド→Pythonで呼び出し。

C++ スレッド処理で複数スレッド連携

C++のThreadとQueueを使って、複数のスレッドを連携させて動作させるサンプルを作ってみた。

Python で使うと便利なライブラリ (2016/08/18 更新)

Python で便利だと思って使うようになったライブラリのメモ。

Python で Multi process (して、更に Signal で安全に終了させる)

Python のマルチプロセス実装を試してみました。 合わせて、Signal で安全にプロセスを落とせるようにしてみました。

PythonのConfigParserでカッチリとしたコンフィグ設定をする

Python のモジュール ConfigParser は便利なのですが、もうちょっと設定をしっかりと行い、ある程度使いやすくしてみました。

Python のクラスメンバ設定には setattr が便利 (かも)

Python のクラスメンバの設定アレコレ。 普通に使うなら、普通に引数設定だけど、そうでないなら setattr 使うのが良いかなー。

Chrome の画面を chrome extension で操作してみる。

Chrome の extension を利用して、Popup から画面の背景色を操作する機能を作ってみました。 応用すれば、いろんなページを Popup から操作できるかも。

Python threading 処理で高速化

概要 Python のモジュール「Threading」を使って並列化処理を実装してみる。 逐次処理版と速度比較してみる。

D3.js で連続 transition アニメーション

D3.js で transition による連続アニメーションしてみました。

D3.js で全画面ファイルドラッグ & ドロップ

D3.js で全画面ファイルドラッグ & ドロップ機能を入れてみました。

D3.js の force layout を試してみる

D3.js で force layout のサンプルを作成してみました。 簡単なデータを作成して、読み込ませました。

Python でメール送信してみる

Python を標準ライブラリを使ってメールを送信してみました。 ちょっとデコレータを併せてみたり。

古い Note PC に Ubuntu を導入

以前使っていた、Windows XP Note PC を Ubuntu OS に替えてみました。

SQL (超巨大) 集計データから、行列形式に変換して出力する。

巨大でスパースな行列データは Python list ではなく dictionary 型で!!