Pythonでパスツール

前回も理想のドローソフトについての記事でしたが、今だその熱を持っていて、今回はパスとかハッチングとかやってみました。

EMFやSVGなどに出力することを考えると、ライブラリが持つ機能に依存するよりは、なるだけ自前で実装したほうが良いはず。どちらのファイル形式もベジェ曲線はサポートしているので、3次ベジェ曲線によるパスのプログラミングを試みました。

 

ドローソフトと言えばこれだよね。

[ソース1](ソースは最後にあります)

制御点を無視して、直線とすることもできるようにした。

 

機能として必須なのが、パターンハッチング。
ベジェ曲線と直線の交点の計算なんてどうやるんだーっと思ったけど、情報を載せてくれる人はいるもんですなぁ。ありがたい。

斜線パターン

[ソース2]

 

5(その2):直線と曲線の交点(解の公式)

5(その2):直線と曲線の交点(解の公式)

 

パターンを繰り返すハッチング

[ソース3]

これで直線ならどんな模様でもできる。いずれ楕円も加えたい。

 

虚数とか出てきてなかなか大変でしたが、出張により久々に一人の夜を過ごし、たっぷり作業できたので、なんとか形にはなりました(後々不具合が出てくるのは必至だと思いますが)。久しぶりにがっつりプログラミング、楽しい。

次にしたいと思っているのが、ブーリアン演算による差分とか合成とか。果たして僕の能力が及ぶのか。。。

(さらに…)

EMFファイルをクリップボードにコピー

いつか理想のドローソフトを作りたいっと思いつつ、意思の弱さゆえに開発を進められていないのですが、仕事の書類などでMS Officeで図形を駆使して図を描くたびに、作りたいと言う思いが再燃します。
そのたびに関連することを調べ始めまして、今回もその一環です。

 

理想のドローソフトに無くてはならない機能が、ベクタ形式のまま簡単にMS Office Word等に図を貼り付ける機能。すなわち、EMF(拡張メタファイル)形式でクリップボードにコピーする機能です。

追記:2006年以降のMS OfficeもOpen Officeもsvgのコピーに対応してるんだって。EMFはオワコンって事か。。。

(さらに…)

ラズパイ中

先日、Raspberry Pi Zero Wを購入しました。そう、将来的にはラズパイでシステム製品を製作•販売し、副収入を得るために。

スターターキット、計5000円なり。

 

うーん、実物を見ると驚く小ささ。これがPCで、しかも1500円程度っていうのがすごい。

家ではおチビちゃん達がいていじれないので、友人の家に直接送り、そこで友人とともに触っています。

友人の希望で、最終的には高機能温室プランターを目指し、初歩的な温度制御にトライアル。

温度計とリレーを繋げて閾値でon-off制御するところまで作った。

これが通常のプログラム作りとほぼ同じ要領でできるようになったのだから、良い環境になったものだ。

自走キックボードの駆動装置を考える

毎日駅まで片道20分の道のり。その道のりを楽にしようと、電車の中に持ち運べる大人向け折りたたみキックボードを作ろうと空想しておりまして。

 

近頃、都内でキックボードで颯爽と移動しているスーツ姿の人を見かけることが増えました。見かけるのは外人ばかりだったのが、この前、日本人のおじさん(スーツを着たサラリーマン)が乗っているのを見かけて、おっ!と思いました。
この手の話を日本ですると、「法律で認められていない乗り物を使うなど、社会人として言語道断。そんな常識すら通用しない人は信用できん」なんてマインドが正論としてまかり通る社会。柔軟性の低い日本でも、浸透の兆しが見えてきたように思います。

 

キックボードとは言っても、満員電車で気軽に持ち込めるほどではないので、折りたたみにするべく、形状とか材質を色々空想しているのですが、今回は動力の話。

(さらに…)