われがわログ

最適化アルゴリズムとかプログラミングについて書きたい

Programming

温湿度計付き置時計 MHO-C303 へのラズパイからの時刻同期

210411追記 MHO-C303は廃版になったもよう、、 CO2計測ついでに湿度もロギングしたいなぁと思って色々調べた結果、 Xiaomi製、温湿度計付き置時計 MHO-C303を買った。*1 旧機種のlywsd02とは違い、電池が単4二つになっているので長持ちするのではと思う。た…

マイクラっぽい地図ビューワを作った

↑こんなんを作った。 ここ↓からグリグリ動かせる https://estshorter.github.io/VoxelMapViewer/ 業務でマイクラ風3次元地図ビューワが欲しくなったのだが、Matplotlibのvoxels()は重すぎて使用に耐えないし、どうしたものかと思っていたところ、以下のサイ…

CO2Mini用C++ライブラリを作った

今年はリモートワークの機会が多かったのだが、どうもパフォーマンスが上がらず困っていた。そこで、CO2Mini(OEM元はこれ)を購入して室内環境の改善を図った。 www.monotaro.com CO2MiniをPCに接続するとHIDデバイスとして認識され、暗号化を解けば温度・C…

「週末レイトレーシング 余生」を読んだ

前々回記事で紹介した「週末レイトレーシング」の第3巻を読んだのでメモ。 waregawa-log.hatenablog.com inzkyk.xyz 原著: https://raytracing.github.io/books/RayTracingTheRestOfYourLife.html この本まで読むと、確率密度関数を使って重点サンプリング…

「週末レイトレーシング 第二週」を読んだ

前回記事で紹介した「週末レイトレーシング」の第2巻を読んだのでメモ。 waregawa-log.hatenablog.com inzkyk.xyz 原著: https://raytracing.github.io/books/RayTracingTheNextWeek.html 感想としては、効率的に衝突を判定するデータ構造であるBVHのところ…

週末レイトレーシングを読んでレイトレーサを作った

レイトレーシングのやり方が気になったので、以下のページを読みつつレイトレーサをつくったのでメモ。 英語のタイトルは「Ray Tracing in One Weekend」。 著者はNVIDIAの社員とのこと。すごい。 inzkyk.xyz 成果物は以下のリポジトリにおいた。 github.com…

オススメのC++入門書【2020年8月版】

必要に迫られてC++に入門したので使用したテキストをメモしておく。 結論としては、「独習C++新版」か「江添亮のC++入門」がよい。 C++書籍の一覧は以下のサイトが詳しい。 cppmap.github.io プログラミング経験者を対象とした、C++17までカバーしている入門…

C++でのグラフ描画

C++から使用できるグラフ描画ライブラリを探したのでメモ。 matplotlib/MATLAB使いはmatplotlib-cppが一番使いやすいと思う。 ただし、Windows環境において、PythonをAnacondaでインストールしているとpython38_d.libがないためDebugビルドが通らない(38の部…

Eigenをcerealでシリアライズする

自分で若干コードを書かないとEigenオブジェクトをシリアライズできなかったのでメモ。 結論から言うと、C++17環境であれば以下のようにload(), save()を定義してやればよい。 #pragma once #include <cereal/cereal.hpp> #include <cereal/types/vector.hpp> #include <Eigen/Dense> #include <vector> namespace cereal { //E</vector></eigen/dense></cereal/types/vector.hpp></cereal/cereal.hpp>…

差分更新によるmatplotlibのアニメーションの高速化

業務で、シミュレーション結果をmatplotlibによりリアルタイム描画する必要に迫られた。 最初はグラフ全体を毎ステップ再描画していたが、差分更新に変えたら動作がめっちゃ速くなって感動したのでメモ。

conda-forgeからのPythonパッケージインストール

conda-forgeからインストールするとき、`conda install -c conda-forge hogehoge`としたら要らないパッケージまでインストールされそうになったのでメモ。

既存conda環境へのJulia (v1.0.3)のインストール

JuliaからPythonを呼び出す場合、Juliaはcondaを自動的にインストールする。 だが、自分の環境には既にcondaが入っていたため、これをJulia側に認識させる方法をまとめた。