単純な三角メッシュ
はてなのマークダウンの練習
CGの入門書に書いてあるようなやつです
メッシュ構造
メッシュ構造は3DCGで利用される3Dモデルの表現法です.
ここでは、シンプルなobjファイルで使われるような、頂点+三角形
で構成されるメッシュ構造を書いてみました
template <typename T> struct Vertex{ //頂点 //...コンストラクタなど...// tvec3<T> position; //位置座標 }; template <typename T> struct Face{ //面 //...コンストラクタなど...// std::shared_ptr<Vertex<T>> verticies[3]; //三頂点へのポインタ tvec3<T> normal; //法線 }; template <typename T> struct Mesh{ //メッシュ //...コンストラクタなど..// std::vector<std::shared_ptr<Vertex<T>>> verticies; //頂点へのポインタリスト std::vector<std::shared_ptr<Face<T>>> faces; //面へのポインタリスト };
各面はその三角形を構成する3頂点へのポインタを持ちます.
ついでに法線まで計算する気まんまんですが、不要な場合はなくても良いですね.
関数を全部削ってしまいましたが、簡単なので.
リソース開放はshared_ptr
とかに任せちゃうのがナウなヤングのやり方じゃないでしょうか.
もっと複雑なハーフエッジ構造などは少し凝った構築をしないといけなくて大変で、それに対する最適化手法も色々あります.
CGは奥が深いですね.
Fiio D03Kで遊ぶ
Fiio D03K
Fiio D03Kは安価なSPDIF入力のDACです.
入力は192KHz,24bitで光、同軸入力をサポートします.
どこかに192KHzは同軸のみと書いてありましたが、私の環境では光でも192KHz/24bitを受けれています.
オヤイデが代理店をやってるみたいです.高級オーディオの印象がありますが、こんなところで名前を見るとは思いませんでした.
D03KのIC構成は
CS8416 -> CS8416 -> LVM358
となっております.オペアンプが汎用品ですので、このあたりを変えて遊ぶことができます.
詳しい情報はこのページに載っています. よくできているので是非参考にしてみてください.
コンデンサとオペアンプの交換
回路の定数を変更しない簡単な強化を行ってみました.
電源部の470ufをOSコン(470uf)に変更.元のコンデンサはロープロファイル品なので、高さに注意してください.
私は頑張ってねじ込みました...
オペアンプはLVM358からOPA2353,OPA2211を試しました.
どちらも聴いた感じちゃんと動いているようですが、OPA2211では電源からノイズが乗りやすくなった気もします.
結局、音質面で高性能なOPA2211をチョイスしました. 動作電圧的にはギリギリかもしれません.
その他にも、AD8656やLME49721なんかも動くのかな?試してないですが.
パッケージはSOですのでMSOP版を買わないように注意しましょう.
5千円以内でこの音質が楽しめるなら十分コストパフォーマンスに優れると言えそうです.
本格的に電子工作に手を出すならオシロスコープがほしいものです.入門機でも結構いい値段するんですよね.
ではでは.