DFTを速くやってくれるやつ。繰り返しになる部分を良い感じに処理してくれるのでO(n2)の計算がO(nlogn)が出来てしまう。多倍長乗算に応用されている。 離散フーリエ変換の計算法(pdf): 周期間引きというのは周期領域で行の入れ替えをすること 離散フーリエ変…
やる夫で学ぶディジタル信号処理の11章まで読んだ。以下はpdf中の図をフーリエ変換などについてまとめたもの。畳み込みetcは分からなくなったらまた記事を参照する。
GitHub - nmwsharp/happly: A C++ header-only parser for the PLY file format. Parse .ply happily!を使えば簡単にデータを取り出せて便利。
meshlabはメッシュデータの可視化と色々の定型的な処理をしてくれる汎用性の高い便利ソフトウェアである。簡単なので色々試してみて、ある程度動作したけれど結局小回りが効かずにお蔵入りしそうなスクリプトを以下に貼っておく。
分布$X, X': S^{2} \to \mathrm{R}$があったとき、2つの分布の距離を例えば$d(X, X') := \int_{S^{2}} (X - X')^{2} d\theta d\phi$と定義すると球面調和関数$Y_{l,m}$を用いて$X = \sum_{l,m} c_{lm}Y_{lm}$と書けるので、$\int_{S^{2}} Y_{lm}Y_{jk} d\the…
結論: GitHub - mkazhdan/IsoSurfaceExtraction: Isosurface extraction from regular voxel gridsで十分 (3D numpy array).flatten().tofile()と(1D numpy array).tofile()の出力は異なるので注意(python上での演算では区別が付かないがメモリのレイアウト…
CGファイル概説 目次のTiffファイルの項目が分かりやすい(分かってない) IFDという色々のパラメータを入れるテーブルがある 実際のデータはフィールドがStripOffsetsとなっているところを見てオフセットを調べて読み取る https://symfo.web.fc2.com/blog/tif…
点の集合を包含する球のアルゴリズムを参照した。
球面上の分布をKL-divergenceで比較できないか調べ物をしていていくつか分布を見つけた。指数分布族であり、正規分布と似た表記になっている。画像検索で分布の雰囲気を調べていると、一峰性の分布の絵が出てくる。ガウス平滑化のような使い方が出来れば良い…
ちょっとプログラムが遅すぎるのでプロファイラを使った。
tak0kada/spherical_harmonicsを書いた
YouCompleteMeをC++のためにインストールしていたが、Vim弱者のため設定が直せなくなってprabirshrestha/vim-lspとw0rp/aleに乗り換えた。vim-lspもaleもコードの解析にclangdを利用しており、compile_flags.txtというファイルを置いておかないと、デフォル…
三角形に分割された閉曲面(球面)と複数の半直線があったとき、それぞれが交差するかどうかの判定をしたい。レイトレーシングで使用されるようなアルゴリズムとしてはBVH、Quadtree、Octreeなどが見つかった。 BVH (Bounding Volume Hierarchies)は、領域を木…
GitHub - tak0kada/cnthd: Halfedge data structure for triangular mesh ハーフエッジデータ構造のC++ライブラリ。面の向き付けがバラバラなファイルに対応しようと思っていたがバグを出してしまって(しかもそれほど使わない機能)書き直す時間が惜しいので…
多次元尺度構成法は複数の要素の間で距離(あるいは距離に類似したもの)が計算できる時、それを用いてデータの数より低い次元を指定して、その次元にデータを配置する手法。
A Robust Method for Rotation Estimation Using Spherical Harmonics Representation - IEEE Journals & Magazineを実装した。以下はコードを貼り付けたのみ。
$(1,1,\ldots,1)^{t}$をQR分解して得られるQ因子は直交行列でかつ、1列目が等しい。ここからn個のn-1次元行ベクトルを取ると、n単体が得られる。 お気持ち証明としては、n個の正規直交基底を、ある1つの次元$z$の値が同じになるように取って、その後その次元…
antergos.com GUIインストーラ付きArch LinuxであるところのAntergosが開発停止になった。Antergos固有のレポジトリにあるものはAURに移行するのでとりあえず今使用しているシステムは使い続けられる、とのこと。移行先を考えねば...
import rpy2.robjects as ro # RDataの中に入っているデータについている名前は事前にRで確認しておく # arrayの次元はhoge$dimで取れないので下記リンクと異なる ro.reval("load(\"test.RData\"); data<-hoge; shape<-dim(hoge)") # https://stackoverflow.…
https://twitter.com/yoriyuki/status/1126423987444015104を見かけた。Wassersteinとは何か調べると、Wasserstein GAN と Kantorovich-Rubinstein 双対性という記事を見つけた。DeepLearningは理解していないが、線形代数的な話題として捉えられるらしい。 …
docker login docker pull archlinux/base docker build -t antergos_base . docker -it --rm antergos_base bash docker save antergos_base > antergos_base.tar # tag情報は保存されない docker load < antergos_base.tar # need afterwards: docker tag …
3次元空間にひと塊の形(球と同相)があって、その表面上の点の集合を考える。何らかの方法で塊は球面に変形できて、その変形に伴って点の集合は球面上に写される、と考える。その時、元のX、Y、Z座標をそれぞれ球面上の分布($S^{2} \to \mathrm{R}$)と考える…
一塊になったシェルスクリプトをリファクタリングしている。 ただ呼び出す場合 import subprocess class ShellException(Exception): pass def shell_exec(cmd: str, timeout_s: float = 0) -> None: cmd_org = cmd timeout_s = "" if timeout_s == 0 else "…
微分幾何で接空間を考えているとき、その上で内積を定義する(あるいは普段のユークリッド空間と同じようなものがあると考える)とき、どうやら2種類の流儀があるように見える。(独自研究)
Makdown MathとMarkdown PDFという拡張機能をインストールしてみた。Visual Studio Code - ArchWikiとError: Failed to lanuch chrome! · Issue #97 · yzane/vscode-markdown-pdf · GitHubを見て取り敢えずchromiumの実行ファイルのパスを入力した(~/.config…
要件はメモリ128GBのPCで70GBのCSVをnp.ndarray形式でメモリに乗せること。np.load_txtも一応試したが、エラーでターミナルやブラウザも巻き込んで落ちた。std::ios::seekdirは相対位置指定にしか使えないはずだが、enumのため型変換されて、引数一つだけで…
それほど難しくないはずだが、実際バグらせると無限のコンパイルエラーが出て結構つらい。以下はサンプルコード。
VirtualBoxでのUSBデバイス認識 - Qiita: USBを認識できるようにする Extension Packはyay -S virtualbox-ext-oracleでインストール USBを認識したが、virtualboxのブートメニューにusbはなし sudo vboxmanage internalcommands createrawvmdk -filename ~/u…
クラスタリングのお勉強をしている
GitHub - tak0kada/dpythonを書いた。.bashrcにexport PATH="$PATH:~/bin"を追記しておけば、普通のpythonの代わりにdpython、ipythonの代わりにdipythonを使える。$PWDしかマウントしないが、データ解析に使うのにそれ以外のディレクトリにアクセスできる必…