Cinema4Dメモ

Cinema4Dという3DCGソフトに関するメモ書きです。

3Dプリンターでストームトルーパー

2017-03-14 12:15:56 | Cinema4D設定、操作

そういうわけで、こどもがスター・ウォーズのファンでストームトルーパーが大好きなので、作りました。当然Cinema4Dで作りました。よく考えると、昨年MSAの更新をし損なったおかげでLEPTON2が買えたんだね(前向きな思考)。

下の画像の頭部は一応BodyPaintで白黒塗り分けました。雰囲気がよくわかるようにね。

胴体も作りました。単位はcmで原寸で作って、STLファイルもそのままの倍率で書き出して、出力用のソフトであるところのMatterControlとかSimplify3D等に読み込むと何故か小さすぎるので、Cinema4D上で10倍のサイズで作ってます。

MatterControlとか読み込んだ先の環境で拡大したりすると、スライスが上手くいかないので、作る段階で大きさを合わせておく必要があります。STLに書き出すとき倍率をセットできるのでその時でもいいのかも。

尚、複数のオブジェクトを組み合わせるような場合は、単に重ねるのではなく、ブールの「AとBを合体」で一つにすると、上手くスライスされます。

↓はうまくできてない例です。オブジェクトが重なった部分が空白になってて、ポキっと折れます。

つーわけで、完成

「ごめーん、待ったぁ?起きたら10時過ぎてて〜」

「大丈夫〜あたいも今来たとこ〜」(ほんとは10時5分前に来たんよ!プンプン)

はぁ・・・くっだらねぇ・・(疲労)


ロジックICを使って2進数の足し算をするコンプーターを作りました。

2017-03-09 11:46:01 | ハードウェア

そういうわけで、前回XPressoで作った足し算回路を、ロジックICを使って作りました。4個のXORゲートICと4個のANDゲートICと2個のORゲートICです。入力は8ビットなので0から255の正の数の入力ができます。出力はLEDの点灯で表現しています。(最初はICが思うように動作せず途方に暮れましたが、プルダウン用の抵抗を付けないとうまく動かないんだということが分かってからはサクサク作れました。)

このままでは分かりにくいので10進数で入力して2進数に変換する部分(エンコーダー)と、ICで計算した結果の2進数を10進数に変換する部分(デコーダー)をArduinoで作ります。

デコーダー部分は既にできていて、計算結果を表示するLEDの点灯状況をアナログ入力してデジタル変換し、更に各桁の重みを掛け算して10進数に変換し、7セグメントLEDに表示します。

エンコーダー部分は今、作っている最中です。

左上の青いディップスイッチが入力部分です。小さい白い四角がスイッチで、上だと電気が流れて1,下だと0です。2つのスイッチともに10000001(129)なので、足した結果LEDは10000010(258)になっており、7セグLEDの表示も258になってます。('-')

Arduinoに電源が繋がっていませんが、ブレッドボードに繋がってる電池ボックスの電力で動作しているようです。なんか不思議。


XPressoで整数の加算器のエミュレーションを試みた

2017-03-09 08:16:52 | Cinema4D設定、操作

普段人間は十進数で計算とかしていますが、コンピューターは二進数で計算しています。

十進数 二進数

0   0000

1   0001

2   0010

3   0011

4   0100

5   0101

6   0110

7   0111

8   1000

9   1001

という感じです。

そういう訳で、ネットで調べた情報をもとに二進数の足し算をするXPressoを作りました。

FAってのが4個あって、その中身は↓のようになってます。

HAの中身は↓のようになってます。

XOR回路というのはExclusive OR の略で排他的論理和のことで

普通のOR回路が

0 0→0

0 1→1

1 0→1

1 1→1

となるところを、XOR回路では、

0 0→0

0 1→1

1 0→1

1 1→0

としてくれるので、繰り上がりの表現に必要なんです。2進数では01+01は10(1の位が繰り上がって0になり、10の位が1になる)なので。

ちなみにAND回路は

 0 0→0

 0 1→0

 1 0→0

 1 1→1

ですね☆1の位がどっちも1のときにCarry(繰り上がり)の為の1を出力します。

XPressoもなかなか役に立つネ!

ちなみに、XOR回路とかAND回路とかOR回路のノードはどうやって呼び出すのかというと、↓のようにします。ブール演算ノードです。

演算のタイプを切り替えて使用します。名前も分かりやすく変えましょう。

つづく