SATソルバーで二次方程式を解く

この記事はSYSKEN Advent Calendar 2021 19日目の記事です。

2週目が回ってきました、あらたです。

今回は夏休みの間に作っていたSATソルバーについて少し話をします。とはいえ、論理学を専攻しているわけではないので念のため以下にわかりやすい資料のリンクを貼っておきます。

  • https://jssst-ppl.org/workshop/2017/slides/ppl2017_c4_soh.pdf
  • https://rkx1209.hatenablog.com/entry/2017/12/17/175439

1. SATソルバーとは

次のような論理式を考えます。

(x1 | x2) & (!x1 | !x2)

x1とx2にfalseもしくはtrueを代入して、この論理式全体の値をtrueにできるでしょうか。答えは、可能です。例えばx1=true、x2=falseとしたときに、論理式全体の値をtrueにすることができます。このように、論理式が与えられたときに変数の値を適切に選んで、論理式全体の値をtrueにできるか判定する問題を、充足可能性問題(SAT問題: SATisfiability problem)と呼びます。そしてこの問題を解いてくれるようなプログラムをSATソルバーと呼びます。

今回は、このSATソルバーを使って二次方程式の解を求めることを目指します。

2. 1bit整数の演算

しかし、論理式を扱うSATソルバーに整数の問題が扱えるとは思えません。いったいどのようにして二次方程式を解かせればよいのでしょうか。

そのために、まずは計算機の仕組みに目を向けてみましょう。我々が使っているコンピューターは半加算器という組み合わせ回路を使って1bitの加算を実現しています。そしてこの回路では、0と1の二値を使って数を表現しています。共通点が見えてきました。

論理式においても、変数に代入できるのはfalseとtrueの二値のみです。つまりは、コンピューターと同じように行えば、論理式でも整数の演算を定義できるのではないのでしょうか。

はい、実は任意の組み合わせ回路はSAT問題に落とし込むことが可能であると知られています。そのために使うのが、Tseytin transformationです。例として、ANDゲートを取り上げてみましょう。Tseytin transformationにより、ANDゲートは次の論理式で表すことが可能です。

(!A | !B | C) & (A | !C) & (B | !C)

この論理式を充足するような変数A、B、Cの組は、常にC = A & Bの関係を満たしています。同様に、ORゲートやNOTゲート、XORゲートなども論理式で表現することが可能です。つまりは、論理式の世界で半加算器を実装してやれば、1bit整数の演算を定義できるというわけです。

3. 整数の演算

次に、2bit以上の整数の演算を定義したいです。そのためにBitVectorと呼ばれる理論を導入します。これは整数を2進数のバイナリとして扱い、その上で算術演算や論理演算などを定義する理論です。

なにやら難しい言葉が並んでいますが、要するに整数を2進数で表現して1bitずつ計算すれば2bit以上の整数の計算もできるよね、という話です。基本的には前節で述べたことの繰り返しなので、その詳細は省略します。

そんなこんなで、足し算をSAT問題に変換してSATソルバーに渡してあげると、SATソルバーで足し算を計算することができます。以下の画像では、11 + x = 15の解を求めています。

4. 二次方程式の解を求める

ここまでで、足し算をSAT問題に変換できることがわかりました。あとは論理回路の知識を使って掛け算を定義してやれば、二次方程式を表現できるようになります。

これはx^2 – 6x + 9 = 0 を解いたときのツイート

5. おわりに

普段使っているangrやz3で「SATソルバー」という単語を聞いたことはありましたが、その背景理論まで学んだのは初めてでした。今後はこのSATソルバーを使ってSMTソルバーを実装できると面白そうだなと思っています。

明日はTomooki君の投稿です。お楽しみに!

PCを組むのはプラモと同じ

みなさんはPCを組んだことありますか?  え、ない?! どうして組まないんですか?

ふむふむなるほど、難しそうだと。全然そんなことないですよ!

というわけで今回は自作PCの組み方について紹介します。

この記事はSYSKEN Advent Calendar 2021の18日の記事です。

今回参加者が少ないため2週目に回ってきました、お久しぶりです部長です。強制的に部員に書かせればよかったかもとちょっと後悔しています。

 

自作PCを作る上で必要な手順は以下の4つです。

  1. スペックの目安のためにするであろうこと、予算を決める。
  2. 必要スペックを確認する。
  3. パーツを選ぶ。
  4. 組み立てる。

みなさんがハードルと感じているのはどこですか、やっぱりパーツ選び? それともスペック選び? スペック選びは自分でパソコンを組まなくてもPCを買うときには必要となるのである程度わかるようにしておくとお得にPCを買えると思います。

では早速やっていきましょう。???「やっていくぜ!」

 

するであろうこと、予算を決める

ここではPCを買った後に何をするのか、何のためにそのPCを買うのかを決めていきます。漠然とすごいPCが買いたい、というのでもいいのですがそれでは予算が膨れ上がってしまいます。買ったPCで何をするのか、Illsutratorでデザインをするのか、クリスタで絵を描いていくのか、BlenderでCGを作るのか、DaVinci Resolveで動画編集をするのか、Wordでレポートを書くのか。これを決めなくてはPCを組むにしろ買うにしろ必要スペックの目安が立てようがありません。まずは目的を決めておきましょう。

先に予算を決めておくのもアリです。決めた予算の中でできる限りCPUが強いPCを組む、GPUが強いPCを組む、ストレージが大きいPCを組む、こんなものでも十分目安になるのでまずは目安を決めましょう。

 

必要スペックを確認する

したいこと、予算が決まったらそれらをもとに必要スペックを決めていきます。動かしたいソフトが具体的に決まっているならそのソフトのサイトに行ってみましょう。そこに推奨環境というものが書いてあることがほとんどです。複数動かしたいソフトがあれば最も重いソフトを目安にします。今回はAdobeのPremiere Proを動かすことを前提に考えてみます。Adobeの公式サイトの推奨スペックは以下の通りです。(全体のSSができなかったので一部抜粋)

 

Premiere Proの最小仕様は比較的軽いですね。ですが、ここでは最小仕様は見ません。最小仕様はかろうじてアプリが起動できる程度のものがほとんどです。何かを作る際には推奨仕様以上のスペックを見ましょう。ここでPCのスペックの見方がわからないというあなた、PCはとにかく数字が大きいほど強い[要出典]んですよ。

ここで重要になる部分は3つです。プロセッサー(CPU)、メモリ(RAM)、グラフィックス(GPU)の3つ。この3つがPCのスペックに最も大きく影響してきます。もちろんストレージも影響してきますがここでは割愛。何やら色々推奨使用の部分には書いてありますがざっくりまとめてみます。

  • CPU:Intelの7世代以上 or Ryzen 3000番台
  • RAM:16GB以上(できれば32GB以上)
  • GPU:VRAM4GB以上(できれば6GB以上)

さて、ある程度必要スペックがまとまってきました。では次に移りましょう。

パーツを選ぶ

続いて、先ほど調べた必要スペックをもとにパーツを選んでいきます。

最小にCPUから見ていきます。

僕はAMDが好きなのでまずはAMDから。AMDのいっぱんのごかてい向けのCPUはRyzenというCPUとThreadripperというCPUを出しています。EPYC ? 知らない子ですね。Threadripperはその名の通りCPUのコアがたくさん積んであるCPUでかなりハイスペックのCPUです。排熱の問題とか電源の問題とかが出てくるのでいきなりこれを選ぶことはまずないでしょう。ということでRyzenについて詳しく見ていきます。Threadripperも厳密に言えばRyzenだけど

さてここにWikipediaから持ってきた3000番台以上のデスクトップ向けRyzen CPUの表があります。うーんわからんというそこのあ〜た、私先ほど申し上げましたでしょ、PCは数字が大きいほど強いんですのよ。

というざっくりした説明ではおそらく腑に落ちないと思われますので解説していきます。PCはCPUのクロックと呼ばれる電流のON/OFFで動いています。ほんまか? クロック周波数というのがそのクロックを1秒間に何回行うかというものを示した指標になります。

え、Threadripperの方がRyzenよりもクロック少ないじゃんと思ったそこの君!さっき僕は何て書いたか覚えているかい? そう、Threadripperはコアがたくさん積んであるCPUと言いましたね。CPUはその処理を行うコアと呼ばれる装置が1つのCPUに複数積んであります。コアが2つあれば2つのことを同時に、4つあれば4つのことを同時といったふうにコアがたくさんあると同じクロック速度でも同時にこなせるタスクが増えていきます。また、カッコで書いてあるスレッド数というものがあります。昨今のCPUのほとんどがSMT(同時マルチスレッディング)という技術に対応していいます。これは1つのコアで複数の処理を同時に行えるようにする技術で、これが搭載されているCPUでは2コアであるにも関わらず4つの処理を同時にこなせるということができます。つまりCPUはクロック周波数が高く、スレッド数が多いものが高性能ということですね。ちなみにTDPは消費電力です。

しかし闇雲にスペックを上げるだけでは値段も上がってしまうのでそのちょうどいいところを見つけなければいけません。Ryzenの場合4桁の数字の頭の1桁が世代を表します。4000番台はデスクトップ向けCPUにはありませんが1000番台から現在5000番台までが開発されています。今回は実際には組みませんが組むと考えてコスパを両立できているものを選んでみましょう。Ryzen5 5600Xあたりがほどほどに良さそうですね。

続いてメモリ(RAM)です。

RAMは、CPUが処理に使う大きめのデータを一時的に保持しておく装置です。一般的には作業机の広さと表現されることが多いですね。(より高速で容量の小さいものはキャッシュです。CPU内部にあります。こちらは手の大きさあたりでしょうか。)こちらも大きい方がいいとされていますが、CPUには認識できるRAMの上限があります。Ryzen5 5600Xの場合は126GBになります。(AMD公式サイト参照) これまたたくさん積みすぎると値段も跳ね上がりますので今回は32GBにしておきましょうか。昨今のPC事情は16GBあれば人権が得られ、32GBあれば安心と言われているのでまぁ妥当な判断だと思います。

ここで注意するのがメモリの規格です。現在主流のメモリはDDR4とばれる規格で、このCPUもDDR4を使用するのですが、いまだにDDR3を使用するPCも残っており、買う際には注意が必要です。また、Amazonなどでメモリを探すとDDR4-3200やDDR3-2633などと規格の後ろに4桁の数字があると思います。この4桁の数字はメモリの速度を表しており、これも早い方がサクサク動いてくれますが、例よってCPUの対応できるものが決まっています。このCPUの場合は最大3200MHzですね。それから、32GBのメモリを1枚挿すよりも16GBのメモリを2枚挿す方がアクセスが早いとされています。道が2本あるのでまぁそうっちゃそうなんですが。

Ryzen5 5600Xの仕様(AMD公式サイトより引用)

ということで今回はDDR4-3200 16GBのメモリを2枚、合計32GBとしましょう。

 

待て、長くないか。

思った以上に長くなってきたのでGPUの選定までを書いたら今回はここまでとします。

 

駆け足で行きますよ、続いてはGPUです。

GPUはグラフィックボードと呼ばれるパーツに搭載されており、CPUに代わって出力画像の処理を担当します。割と重い処理をGPUに渡すことでCPUはそれ以外の処理に専念できるというわけですね。ほんまか? GPUも例によって数字が高い方が強いんですが、GPUの有名どころとして2つのメーカーがあります。1つは謎の半導体メーカーNVIDIA 。もう一つはさきほどCPUで名前が上がったAMDです。それぞれCADなどの計算に特化したGPUとゲームなどの画像処理に特化したGPUを出しているんですが、昨今GPUの性能が向上してきているので比較した際に値段ぎゃ安く抑えられがちな後者のGPUでほとんどのことが事足ります。その場合、NVIDIAならばGeForece、AMDならRadeonです。

それぞれの細かい特徴を上げ出すとキリがないので今回は割愛しますが、ゲームをしたり通常のことをする上ではあまり細かいことは気にしなくて問題ないと思います。少し前まではGeForce RTXにはレイトレーシング機能があってRadeonにはなかったと言った差がありますが現在はどちらにもついているのでそこまで大きな差はないのではないでしょか。ちなみにAMDはPS4,5やXboxの中身を作っています。

先ほど目安を決めた際に、VRAMという単語を出しました。これはビデオメモリ、つまりGPUが使えるグラフィックボード上にあるメモリのことを指します。VRAMが大きいほどやはりCPUと同じくGPUも処理がスムーズにできることになります。少し前まではGPU性能はGeForceが、VRAMはRadeonが多いといった傾向がありましたが最近はそここまで差はないように思います。僕はRadeonユーザーなのですが、Radeonの方がドライバソフトが使いやすいように思います。

PremiereはVRAMが4GB以上、ということですので今回載せているGPUは全て問題ありません。しかしRAM性能やGPU性能は動画編集やその他の重い処理をするソフトを使う上で快適性を非常に左右するため、余裕を持たせておいた方が良いでしょう。ということで今回はRX6600XTにしておきます。

 

長くなってきたのでひとまず

さて、ここまでPCを組む上で必要となるパーツ選びについて書いてきました。PCはこのほかにもこのパーツを載せるマザーボードと呼ばれる基板やデータを保存するストレージ、CPUを冷やすCPUクーラー、電源、そしてCPUケースと言った部品を集めて初めて組むことができます。それらについてはここに書いた3つよりは選考が簡単ですが今回は記事が長くなってしまったのでここでひとまずおやすみ、僕の余裕がある時に続きを書こうと思います。津山高専の人などでPCを組んでみたい!という人がいればぜひ僕に声をかけてください。相談に乗りますよ。僕は北館4階の端末サーバー室にあるシステム研究部にいます。

 

明日は2周目のArataくんです。無理をさせてすまん

AIにゴーストライターをしてもらう

この記事は、SYSKEN Advent Calendar 4042sin(π/6) √225日目の記事です。

 

はじめまして、硝酸坂 魂之助(しょうさんざか たましいのすけ)です。

突然ですが皆さん小説は好きですか?私は毎朝食べています
最近のおすすめは『沙耶の唄』です。おいしいよ

さて、皆さんが活字を読んでいるとき、ふいに抗い難い衝動
駆られる事があると思います。それは……

小説を書きたい!!!!

という衝動。みなさんも持っています。なんなら文章を書くことにはドクペの5倍程度の中毒性があるのでしばらく書かないと蕁麻疹が出ます

自分で小説を書けば夢の自給自足生活。現代社会の荒波に飲まれた我々にとっては、個別√に入ったヒロインからの名前呼びと同じくらい甘美な響きです。仮に世界中の小説家が異世界転生しても自分一人で小説を生み出し続けることができます。

しかし、まともな文章を書くのは技術が必要です。その技術を磨くには、攻略情報を見ずに神岸あかりを攻略するくらい血のにじむような努力が必要でしょう。ToHeartを自力攻略できなかった私には不可能と言っても過言ではありません。そこで私はゴーストライターを雇うことにしました

AIのべりすと

ご存じの方も多いと思いますが、彼はAIのべりすとといいます。序文から勝手に続きの文章を作ってくれるスグレモノです。最近の技術ってすごいですね( ◜‿◝ )。
それでは早速作ってみましょう:D。

おせち料理。それは全人類が泣いて喜び、目の前に置かれれば飛びついて貪る魔性の料理。
ここ妖精の国では、段ボールを使っておせち料理を作る全国大会が開かれていた。
ここに、地雷系女子のコスプレをした妖精が一人。
彼女の名は5ギガバイト・遠藤。皆からは5Gと呼ばれている。
彼女は今、大会で作るおせちの材料を調達するため、農園に来ていた。
「うーん、この段ボールはまだ熟してないわね……」

まずは序文を打ち込みます。こんな感じでいいでしょう。アイデアが出ないときは広辞苑を適当に開いてみてそこから連想してください。ちなみにわたしは辞書を適当に開いたら、「禁断」という言葉が出てきました(これはマジ)。かっこいいですね

序文ができたら、とりあえずAIに続きを書かせてみましょう。

続きの文を書く」ボタンを押すと続きが生成されます。

5Gが持ってきたのは、彼女が栽培した新鮮な段ボールだった。
これはとてもおいしい食材なので、早く食べたいのだが……まだ少し早いようだ。
そんなとき、1人の青年が現れた。彼はどうやらこの大会に興味があるらしい。
「へえ~、面白そうな大会ですね」
その青年の名前は8ビット・八神。皆からは8Bと呼ばれている。 8Bもこの大会に参加すべくやってきたのだ。
しかし困ったことに、農園で必要な野菜は全て他の参加者に取られてしまっていた。

恐ろしいことに新キャラが出てきました。ネーミングセンスが非常に冴え渡っていますね。5ギガバイトから8ビットというのはかなりスケールダウンしているように見えますが、どうなんでしょうか。
大会に参加するために来たのに大会のことをよく知らない体でいっているのが気になりますが、普通にいい感じの文章を出力してくれますね。

基本の使い方はこんな感じでOKです。次は設定について見ていきましょう。

まずは「文章スタイル」ですね。おすすめは小説っぽいいい感じの文章を綴ってくれるオルタナです。クリエイティブにすると整合性を無視した狂人の発想を出してくれます。

色々いじれるようになってはいますが、基本的にはメモリをいじればどうにかなります。ストーリー設定を開きましょう。

メモリにはAIに覚えておいてもらいたい設定を書いておきます。この小説の設定は、

・妖精の国では地雷系女子のコスプレが流行っている。
・妖精の国では段ボールを材料にした料理が一般的。
・段ボールは畑から収穫する。
・主人公は5ギガバイト・遠藤。
・ライバルの名前は8ビット・八神。

こんな感じです。途中で新しい設定が出たら秘伝のスープめいて継ぎ足しておきましょう。

こうして出来上がった文章がこちらになります


『終焉の地雷 -WORLD’S 遠藤-』

著:硝酸坂 魂之助 feat.AIのべりすと

 おせち料理。それは全人類が泣いて喜び、目の前に置かれれば飛びついて貪る魔性の料理。
ここ妖精の国では、段ボールを使っておせち料理を作る全国大会が開かれていた。


ここに、地雷系女子のコスプレをした妖精が一人。
彼女の名は5ギガバイト・遠藤。皆からは5Gと呼ばれている。
彼女は今、大会で作るおせちの材料を調達するため、農園に来ていた。
「うーん、この段ボールはまだ熟してないわね……」
5Gが持ってきたのは、彼女が栽培した新鮮な段ボールだった。
これはとてもおいしい食材なので、早く食べたいのだが……まだ少し早いようだ。


そんなとき、1人の青年が現れた。彼はどうやらこの大会に興味があるらしい。
「へえ~、面白そうな大会ですね」
その青年の名前は8ビット・八神。皆からは8Bと呼ばれている。
8Bもこの大会に参加すべくやってきたのだ。

しかし困ったことに、農園で必要な野菜は全て他の参加者に取られてしまっていた。
野菜が無くなったせいで、おせちに入れるはずの海鮮類が足りない。これでは優勝できない。


そう思ったその時、ふと後ろを見ると、そこには新鮮な魚がたくさん泳いでいた!
「おおっ!」
8Bはさっそく釣竿を用意して釣りを始める。
釣りをしている最中、隣には先ほど声をかけた5Gの姿があった。
彼女も新鮮な段ボールを探していたらしく、二人は意気投合し共に段ボールを探すことにした。


 そしてついに二人同時に見つけた。それも沢山ある。
早速二人は箱を持って帰る準備をする。だがそのとき、偶然にも2人は手を触れてしまった。
2人が手に触れると同時に、箱の中身が溢れ出た。その中には大量の段ボールが入っていた。
どうやら2人分の段ボールをゲットできたらしい。2人は協力して箱を運ぶ。
「ふう……なんとか運び終わったな……」
「まさか2人でこんなに持てるなんて思わなかったわ……」
こうして二人は無事に農園へと戻ってきた。


二人が持ってきた荷物を見て、皆は歓喜する。
「すごいぞお前達!!」「これで料理が作れるぜ!」
「今日はお祝いだー!!」
こうして無事おせちが完成した。
優勝者である5ギガバイトと8ビットにはそれぞれ一つずつプレゼントが贈られた。
彼らはそれを喜んで受け取り、幸せそうに帰っていった……。
―――完―――


………………

…………

……

は????????????

🤔🤔🤔🤔🤔🤔

……ものすごく中途半端なところで終わってしまいましたね。
なぜ野菜がなくなると海鮮類が必要になるのか、なぜ畑で魚が泳いでいるのか、なぜ段ボールの中に段ボールが入っているのか、何故戦ってすらないのに優勝した気でいるのか、謎が謎を呼んで最後にすべて投げ捨てる素晴らしい構成です。

しかし文章が破綻していないのは普通にすごいと思います。というかめちゃめちゃすごいです。人間とAIが協力すれば普通にクオリティの高い文章が生まれてくる気がします。みなさんもぜひ試してみてください

今回の記事はここまでです。次は、『終焉の地雷 -WORLD’S 遠藤- 獄炎の覇王編』で会いましょう。

次に誰が投稿するかは私も知りませんが、とりあえず楽しみにしておいてください。
それではさよなうら~ノシ

 

・おまけ

実際に使ったアイデアメモ

アイキャッチ使用素材:写真AC

2Dの美少女を受肉しよう!

この記事は、SYSKEN Advent Calendar 2021の13日目の記事です。

はじめまして、3年生のRainです。
システム研究部の数少ない女子部員です。女子部員絶賛募集中です。

今日の記事はLive2Dでバ美肉する話をします。

 

1.Live2Dについて

Live2Dってご存知ですか。最近のソシャゲとかVTuberとかでいっぱい使われてますよね。
イラストを頑張ってウニャウニャすると動くアレです。

 

2.原画を生成します

自分は少しだけ絵が描けるので原画を生成します。
何かしらのペイントソフトで描けば生成されますが、自分はCLIP STUDIO PAINTを使いました。
動かしたい所ごとにレイヤーを分けました。レイヤー数は58くらいあるらしいです。
絵ができたらPSDデータで保存します。

全身を作ることをさぼってしまったのでバストアップしかありません。

 

3.モデリングする

Live2D Cubism EditorにさっきのPSDデータを放り込みます。

自動でメッシュを設定してくれる機能があるので、その機能でメッシュを生成します。
目とか口とかは細かく綺麗に動かしたかったので手動でメッシュを生成しました。一個ずつ点を打っています。


すごい画像ですね。恐れることはありません。

パラメータに変形のアレコレを設定していきます。
こんな感じで動いてほしいなあ〜みたいなのを、メッシュを変形させて作っていきます。
笑顔や口の動き、髪の揺れなどいっぱいこだわれて楽しいです。

物理演算も設定していきます。
これは感覚です。よく分かりませんが可愛くできたっぽいので良さそうです。

モデリングができました!

 

4.トラッキングして動かす

今回はkalidofaceというブラウザで動くやつを使います。ありがたい。
作ったモデルを動かすためにトラッキングアプリにデータを放り込みます。
カメラをオンにすればトラッキングして動いてくれます!やったー!

超楽しい〜〜〜〜!!!

 

5.最後に

分かりましたか。分かりませんよね。
この記事はLive2Dに興味を持ってもらいたいための記事なので、きちんとやりたいならLive2D公式やクリエイターの方々が良いチュートリアルを用意してくださっているのでそれを見ましょう。

自分の絵が動くのはめちゃめちゃ楽しいです。みんなもLive2Dをやろう!

Trelloを使って大量のタスクを管理しよう!!

This article is the 10th day of the SYSKEN Advent Calendar 2021.
1202 radnelaC tnevdA NEKSYS eht fo yad ht01 eht si elcitra sihT

おはこんにちは、river Kです。連日耐え難い寒しさにいささか参っておりますが、
タスクを大量に抱えてしまい。どうすればいいのかわからなくなってきて
頭をフリーズさせている頃かと思います。
12月の暦の読みは師走といいますし、頭にシワを寄せて考え込んでいると
そのしわ寄せが舞い込んできて走る羽目になる方も少なくないはずです。

そんな悲劇を起こさないためにこのブログでは自身がいまするべきこと、
していることの管理の補助をしてくれるTrelloの使い方やテンプレートの作成など
一通り解説していこうと思います。

目次

  • 使い方
  • テンプレート
  • power-upについて
  • まとめ

使い方

まず初めにTrelloにはweb版とアプリ版がありますが、
今回私はweb版のTrelloについて話します。
特にこれっと言って違いはないかもしれませんが、一応気を付けてください。

ログインする

  1. アカウントにログインする
  2. 無料トライやるは無視しましょう
  3. 画像の画面にたどり着く

ボードを作ってみる

  1. 左端のボードと書いてあるところを押す
  2. [新しいボードを作成]を押す
  3. タイトルを入力する(今回はタイトルという名前にしました)

このボードの名前は自信が現在抱えているプロジェクトや
これから作るカードの内容に合わせてつけるのがよいと思います

画像の状態になると思います
(背景は自身で選択するかランダムで決まるので違っても気にしなくて大丈夫です)

ここでざっくり用語や映し出されている内容について説明します。
まず最初の画像に移っているものをワークスペースといいます。
そして2番目の画像に移っている画面そのものをボードいいます。
2番目の画像に移っている[ToDo]や[作業中]と書いてある白い四角を
カードといいます。

ワークスペースは先ほど挙げたボードを管理し,
ボードは先ほど挙げたカードを管理する空間となっています

ワークスペースの中の[タイトル]ボードの中の[ToDo]カードという状態です

タスクを作ってみる

  1. カードの下にある[追加]をクリック
  2. 名前を作る
  3. エンターを押す

こんな感じになればよいです。
ここでいうタスクとは今自身が抱えている仕事内容のことです。
1タスクに使う文字が大きくならないようにしましょう。

もし仮に長くしないと表せないようであれば1タスクとして書くのではなく、
複数のタスクに分けて書くとよいと思います。

このタスク並びにカードは左クリックを押し[アーカイブ]というところを押すことで
消すことができます

カードの並べ方のテンプレート

最初にも述べましたがTrelloはタスクを管理の補助をしてくれるソフトです。
しかし、管理するといっても様々な方法があります。
そのため、どのように管理すればいいかわからない方もいると思います。
そんな方のために今回一つテンプレートとなるものを紹介させていただきます。

まず前提として何かしらのプロジェクトを進めている状態であるとします。

カードの解説

左端から順番に
[Backlog],[ToDo],[Doing],[Review],[Done]となっています。

[Backlog]は今していること全体を通してのタスクを書く場所です。
[ToDo]は前後二週間くらいから取り掛かることのできるタスクを置く場所
[Doing]は現在進行形で取り掛かっている状態のタスクを置く場所
[Review]一応完了していているが見直しや感想をもらいに行きたいタスクを置く場所
[Done]完全に終了しているタスクを置く場所

 

使い方

  1. [Backlog]にタスクを追加する
  2. [ToDo]または[Doing]に移動させる
  3. タスクが終わったら[Review]に移動させる
  4. 完全に終わったら[Done]に移動させる

イメージとして[Backlog]から[Done]にめがけてタスクが移動する感じです。

power-upについて

power-upとは

trelloの個人のボード一つ一つに追加することができる特殊な機能で
例えば、カレンダーを作ったり、期限の設定を見やすくしたり
google、slackなどと連携したりも可能です。
時間経過でカードが錆びていくようなものもあります。

入れ方

  1. 画面右上にある[・・・ボードメニューを表示]をクリック
  2. power-upと書いてあるところクリック
  3. 入れたいと思ったものを選び追加を押す

画像は特にないです正直ちょっと疲れた

おすすめ

  • カードエイジング : 時間経過によってタスクの色が変化していくもの
  • カレンダー : 期限を入力するとカレンダーにそのタスクをカレンダーに表示してくれるもの
  • Countdown : 期限を設定するとその期限まであと何日か表示してくれいるもの

このほかにも自信が使いやすいと感じたものを入れて
自分なりのボードを作っておくとTrelloを開くのが楽しくなるので
より長続きしやすくなると思います

まとめ

まず、使い方についてなのですがTrelloにはPower-upを入れなくても
様々な機能がついており、それを説明するだけでも大量の時間を要するため
簡単な内容までしか紹介しきれていません。
なので、とりあえず色々調べてみたり使ってみたりしてみてください!

次に、テンプレートの話なのですが、今回のテンプレートは
何かのプロジェクトをする前提のテンプレートなので、
紹介したものが必ずしも正しい使い方というわけではありません。

私ことriver KはTrelloで一か月リストを作成し、それを全員が見れるように公開しています。
URLを張っておくので見てみたい方はそちらをクリックしてください!!

https://trello.com/b/merzNlA3/%E4%B8%80%E3%81%8B%E6%9C%88%E3%83%AA%E3%82%B9%E3%83%88

次回(明後日)はRain先輩になります。お楽しみに!

追記

最近、部活に行かない時間と先輩が部活に来る時間がぴったりとかみ合ってしまって
まるで先輩を避けてるみたいだなぁと感じてしまったので、ここで謝罪させていただきます。

スプーンを創造してみよう。

この記事は、SYSKEN Advent Calendar 2021 7日目の記事です。

おはようございます、Notoです。12月某日部長先輩から「君たちAdvent Calenderをかかないか」と遅ればせながらお達しがあり少しは部活っぽいことしないとと思い筆を執った次第です。題名にはスプーンの創造と書いてありますがもちろん金属からではなくBlenderという3DCGソフトフェアを使い作っていきます。対戦よろしくお願いします。

目次

  1. Blenderとは?
  2. スプーンを作ってみる
  3. 最後に

1、Blenderとは?

さあ、みなさんBlenderというソフトを知っていますか。インターネットをかじっている高専生諸君は一度ぐらいは聞いたことがあるのでしょう。Blenderは完全無料で使えるオープンソースの総合3DCGソフトフェアです。3DCGはもちろんのこと動画編集やVFX、お絵かきなどいろいろなことができます。すべての機能を完全に網羅することは不可能といわれるほどたくさんの機能を持っています。この記事ではBlenderを使い簡単でそれっぽい割と完成度の高いスプーンを作っていきます。完成図としてはアイキャッチ画像のようなものができる予定です。

2、スプーンを作ってみよう

1、形を作る

まずは簡単に形を作ってみましょう。ベースはUV球を使います。UV球を生成して編集モードに移行。そのあとに上半分を消します。これですくう部分ができましたね。

次に持つ部分を作ってみましょう。真ん中の辺を二つ選択してEキーで押し出しましょう。スプーンの持ち手は途中で折れ曲がっているのでしっかり折り曲げていきましょう。これでもうスプーンはできたも同然です。

少し形を整えていきましょう。実際のスプーンを見ながら直していくとわかりやすいです。すくう部分の先端を長くして、そこを少し浅くします。そのあとに折れ曲がっているところを細くします。もうこれはスプーンです。

ここでモデファイヤーを使います。ソリッド化でスプーンに厚みをつけていきます。適当にこんなものかなーって感じで厚みをつけてそのあとにサブディビジョンサーフェースを使い滑らかにします。これで形は完成です。

2、色を付けよう。

色というか質感をつけていきます。マテリアルについてはGoogleを参照しましょう。その方が分かりやすくたくさんの情報が出てきてくれることでしょう。説明が面倒くさくなってきたわけではありません。

あとは地面を作って、世界を貼って、カメラを設置してそれっぽくすれば完成です。レンダリングして観賞しましょう。やったね!

3、最後に

ここまでBlenderでスプーンを創造する方法を書いてきました。いかがだったでしょうか。授業の休み時間に作ったのでスプーンがとても雑なことになっています。持ち手の部分が短すぎますね。まあ、ご愛嬌ということで。これをきっかけに「Blender触ってみたいなぁ」と思ってもらえれば幸いです。「Blender tutorial」と調べるとたくさんの資料が出てくるので作ってみると楽しいのではないでしょうか。では、また会う日まで。アデュー。

次の担当はtamuaki先輩です。楽しみに待ちましょう。

等身大美少女ロボット制作計画(足立レイ)を勝手に紹介

この記事は、SYSKEN Advent Calendar 2021 5日目の記事です。

初めまして、Tomookiです。Vtuberと合成音声キャラが好きな2年生です。

一部界隈では有名なのですでに知っている方がいるかもしれませんが、

今回紹介することは みさいるさんの「等身大美少女ロボット制作計画」とそれで開発中の「足立レイ」についてです。

ものっすごくロマンのある計画なのでとりあえず見てみてほしいです。

目次

・等身大美少女ロボット制作計画と足立レイ

・足立レイの読み上げソフト

・現状

続きを読む »

入退室管理システム Monban を支える技術

この記事は、SYSKEN Advent Calendar 2021 3日目の記事です。

あらたです。 後期中間試験が終わり、最近は寒い日が続くようになってきました。

今回はシステム研究部で開発・運用を行っている入退室管理システムについて書いていきます。

目次

  • 背景
  • 作ったもの
  • 使用した技術
  • 感想

背景

昨年度から本校では感染症対策のため、課外活動に参加した学生を記録するようになりました。これを受けてシステム研究部では、Google Formsを使用して課外活動に参加した部員を記録していました。しかしこの方法は、正直に言ってかなり面倒です。記録を取るためだけに以下の行程が必要になります。

  1. QRコードをスマホで読み取る
  2. 必要な情報を記入する
  3. 送信する

1回の記録に1分かかると考えれば、5年間ある高専生活のうち30時間を無駄にすることになります。貴重な青春時代をそんなことで失うわけにはいきません。そこで、学生証だけで記録を取ることができる本システムのアイデアを思いつきました。

作ったもの

部室の入室時と退出時に学生証をかざすと、氏名と時刻が自動で記録されます。同時にSlackのチャンネルにも投稿され、誰が部室にいるのかを観測できます。

初期バージョンの開発期間は1日で、部費で購入してもらった機器が届いたその日のうちに動くものをつくりました。高専プロコンで忙しい時期に他のことをしたくなるのはよくあることだと思います。

使用した技術

構成図は以下のようになっています。

クライアントサイド

ハードウェアとして、鯖室にあったRaspberry Pi Model B+ v1.2と購入したSony PaSoRi RC-S380を使用しています。ここらへんの機材を発掘できるのは鯖室のよいところだと思います。

こちら側でしている処理は非常に単純で、学生証から読み取った学籍番号をサーバーに投げるだけです。インターネットへの接続や重複を防ぐ処理など面倒な部分がいくつかありましたが、それだけでした。

サーバーサイド

GolangとEchoでAPIサーバーを実装して、それをHerokuにデプロイしています。クライアントから受け取った情報は適切な加工を施したあとにGoogle Sheetsへ保存します。

最初はDBに保存しようと考えていましたが、データの取り出しやすさや安定性を考え最終的にGoogle Sheetsを選択しました。スマホからもデータを確認することができるため、よい選択だったのではと考えています。

「記録されたデータの可視化を行うサイトを構築する」というアイデアもありましたが、氏名や学籍番号、活動時間といった個人情報がインターネットに公開されるのはまずいと考え断念しました。ただ、かなりの量のデータが収集されるため、部内ハッカソンでなにかに活かせればと思っています。

感想

今のところは元気に動いてくれていてとても楽しいです。アイデア段階ではまったく想定していなかった活用方法もあり、なかなか便利なシステムになりました。特に、誰が部室にいるのかを把握できるようになったのは一つの革命だと思っています。

一方で、以前までシス研で使用されていた鍵管理ツールのように製作者依存の運用になっていることは大きな課題です。部として運用するための仕組みを整えつつ、今後もシステムを改善していきたいです。

明後日はTomookiの投稿です。お楽しみに!

線を引くだけ

この記事は、SYSKEN Advent Calendar 2021の2日目1日目の記事です。

 

こんばんは、部長です。ポケモン厳選にいそしんでいたためAdvent Calenderに取り掛かるのが遅くなってしまったことをお詫びします。

さて、今回の記事はIllustratorで線を引くだけのものです。

Illustrator(以下Aiと表記)は皆さんご存じAdobeが開発・提供しているデザインソフトです。AiはPhotoshopなどの色のついた点の集合を扱うものとは違い、ベクターデータを扱うソフトです。ベクターデータ、つまり線のデータを扱うため後から拡大縮小しても崩れにくいというのが特徴です。

Aiはベクターデータを扱うと言いました。つまり、線のデータが無いところに突然物を生やす、といった行為はできません。なにを表現するにもかならず線を引く必要があります。そのことを踏まえてデザインを構築していきましょう。

 

1.線を引く

線を引くにもいきなりフリーハンドで作っていくことはハードルが高いですし、整ったものを作るのは困難だと思います。そこで、Aiの「ペンツール」を使って線を引いていきます。このペンツールはクリックした場所を経由して折れ線を引いてくれます。始まりと終わりの2点だけを指定すれば1本の直線を引けますね。

ペンツールでひたすら線を引いていくことでもデザインはできていきますが、それでは昨今流行の正円や正方形をベースとしたデザインはかなりめんどくさいものになりますね。そこで、「長方形ツール」や「楕円ツール」を使用していきます。

これらのツールを使えばすべての角が直角な長方形や綺麗な円を使って様々なデザインを作れますね。Shiftキーを押しながら使えば正方形や正円だって綺麗に作れます。

2.色を付ける

先ほどAiは線のデータを扱うと言いました。ですが線だけでデザインを作るのはいささかハードルが高すぎます。そこで、先ほど引いた線の中の色を決めればどうでしょうか。だいぶ印象が変わりましたね。

ざっくり言うとAiは線がどこにあるか、そして線が何色か、線の内側は何色か、の3つがカギになります。というかすべてこれでできているといっても過言ではないでしょう。この3つをいじっていくだけでほとんどの形が作れます。

さて、結局はこの2つだけわかっていれば基本的には問題ないのですが、さすがにこれだけではいささか不便です。ここからはこれらを念頭に置いていろんな形を作るうえであると便利なことを並べていきます。

 

組み合わせる

基本的には1に描いた「ペンツール」と「長方形ツール」、「楕円ツール」をメインに作っていきます。では例えばNintendo SwitchのイラストをAiで作ろうと思うとどうすればいいでしょうか。

Switchを単純な図形に置き換えて考えてみましょう。画面がある本体の形は長方形です。その横についているJoy-conも長方形ですね。正面から見てしまえばSwitchは大小3つの長方形が並んでいますね。ということでまずは大きな長方形を真ん中にその左右に小さい長方形を置いてみましょうか。

うん、だいぶSwitchぽいですね。そんなことないですか?

では左右の長方形の外側の角を丸めてみましょうか。Shiftキーを押しながら選択をすると複数選択ができます。その状態でCtrl(Macならcommand)キーを押すと四角形の角に丸い印が出ますね。そのCtrlを押した状態でSthitを押して、その状態で丸めたい角を選択します。丸めたい角にある丸い印が青くなっていればその状態で丸めたいだけ内側にその印をドラッグします。

こうすればほら、だいぶSwitchっぽいんじゃないですか? え、まだダメ? じゃあ今度はジョイスティックと各種ボタンを足していきましょうか。

今度はもっと簡単です。長方形ツールでそれぞれにちょうど合ったサイズの円を足していきます。この時に作るのはジョイスティック用の丸が1つとボタン用の丸が1つだけです。それがつくれたらAltキーを押しながらドラッグしてみてください。複製できましたね。複数の同じサイズのものを置く場合、1つを複製した方がきれいに作れるのでこれを使って他のパーツも作っていきます。

かなりSwitchに見えてきましたね。それぞれの中に色を付ければSwitchだとわかるのではないでしょうか。

 

Illustratorでデザインをするうえで重要になるのは組み合わせて形を作っていくことです。そのほかにも面白い機能はいろいろあるのでまずは触ってみてください!

 

余談ですが、今回Advent Calenderの参加者が少ないので1日おきに記事を出します。1日目を僕がしくじったので次は明日、3日です。

ステージ照明システムを作ってみた

この記事は、 SYSKEN Advent Calendar 2018 25日目の記事です

どうも、しるびあです。
クリスマス当日ですが、いかがお過ごしでしょうか。私は、進路が決まって嬉しさを噛み締めています。しかし、事前に組まれた予定を外すことはできず、本記事を書いているわけなのです。

ということで、今回は先日の弥生祭に合わせて製作したステージ照明(LEDだけですが)のコントールシステムについてまとめてみようと思います。

続きを読む »