CWEBをC/C++に変換する方法 — cube20.orgをコンパイルする

CWEB言語で書かれたドキュメントをctangleとcweaveを用いてC/C++とTeXに変換する方法を説明します。

CWEBとは

CWEB (ctangle, cweave) とは、1980年台に Donald Knuth 氏と Silvio Levy 氏によって開発されたツールです。 CWEBフォーマットで記述された1つのファイルから、 CWEBシステムが「プログラム実行ファイル (の元となるソースコード)」と「ドキュメント (の元となるソースコード)」へ変換します。 ツールは ctanglecweave の2つのプログラムで主に構成されます。 全体フローを以下の図に示します。

cweb-flow

Knuth氏による公式ページです。

現在は積極的に開発はされていないぽくて、CWEBを利用しているプロジェクトもほとんど見かけないと思います。 今回は、ルービックキューブの任意の状態から完成状態までの手数の上限値が20であることを証明した cube20.org というプロジェクトの配布形式がCWEBであったため、 CWEBの導入方法を調査したので共有します。

Read more »

「へごへごへごちん!」【ブックマークレット版】 作った

以前、「へごへごへごちん!」を作った。
これをブックマークレット化した。

どんなページも簡単にすばやくいつでもどこでもへごることができる。
YES!! YES!! YES!! へごちん is always with you.

前回の記事: 「へごへごへごちん!」作った :: terabo.net

Read more »

【多分初心者向け】ルービックキューブ目隠し練習用ツール

本記事では、最近スピソルに投稿されたルービックキューブ目隠し練習用補助ツールを2つ取り上げて紹介します。
Letter Pair Generator」と「ScramBLD」を紹介します。

そもそも目隠しプレイってどうやってやるかとかは以下のサイトらへんを参考にしてください。

ツール紹介記事シリーズ化!?

最近、スピソルのフォーラム (speedsolving.com) を定期的にチェックするようにしています。 具体的にはRSSで新規スレを取得してFeedlyで見ています。

特にソフトウェア板では、面白そうなツールがよく投稿されます。 以前の記事「Web上でルービックキューブをアニメーションする CSS/javascript まとめ」を第1弾ということにして、今回の記事は第2弾、今後自分が気になったツールを不定期で紹介していこうと思います。

今回は、ルービックキューブ目隠し練習用補助ツールである「Letter Pair Generator」と「ScramBLD」を紹介して、所感を述べます。 どちらも本記事公開日の数日以内にスピソル投稿されています。

Read more »

Web上でルービックキューブをアニメーションする CSS/javascript まとめ

Algorithm: Superflip -> Solved-State

Webブラウザ上でルービックキューブをアニメーション表示する方法まとめです.
ルービックキューブをアニメーションする CSS/javascript ライブラリやサイトを紹介します.私の知る限りすべて書いています (2015-03-18 時点 6個掲載)
Web上にルービックキューブをアニメーションを表示することで,文字列だけでは不足するアルゴリズムの視覚化,デモンストレーションによるWebサイトの装飾等が実現可能となります.

CSS/javascript でルービックキューブをアニメーションするといっても,手順を表示するのが目的であったり,ユーザがキューブを操作して画面上のキューブを完成させることが目的であったり,単に回転するキューブを表示させることが目的であったりと,ライブラリ/サイトによって目的は様々ですが,CSS/javascript でアニメーションを実現するというくくりで本まとめではまとめて紹介します.ご自身のやりたいことに合うように適切なものを選択して,それをベースにカスタマイズしてご使用ください.ただしライセンスには気をつけてください.

私も実際にトップページにキューブのアニメーションを配置してみました.後述するRoofpigを使用しています.

ここでは,例えばキューブ画像を表示するライブラリとして有名な VisualCube [1] のように回転アニメーションを伴わないもの,環境によって表示が不可になるjavaアプレットを使用したようなもの [2, 3, 4, 5] ,非常に完成度の高いCSSで実現されているがオープンソースでないもの [6] 等は対象外です.

[1] VisualCube (v0.5.2), http://cube.crider.co.uk/visualcube.php
[2] Virtual Cubes Rubik’s Cube | Instructions | Instructions, http://www.randelshofer.ch/rubik/virtual_cubes/rubik/instructions/instructions.html
[3] Rubik’s Cube Java Applet, http://www.schubart.net/rc/
[4] Jelinek’s Java Applet for the Rubik’s Cube Animation, http://software.rubikscube.info/AnimCube/
[5] Rubik’s Cube Java Applet program, http://ruwix.com/the-rubiks-cube/rubiks-cube-java-applet-software-program-josef-jelinek-animating-rubix/
[6] Rubik’s Cube – Google, http://www.google.com/doodles/rubiks-cube

それでは,紹介していきます.
新たなライブラリ/サイトが公開された等の情報が更新され次第,できるだけ随時このページを更新します.

Read more »

「へごへごへごちん!」作った

完全に勢いだけで作った。

hegohego-hegochin

へごかわへごかわ。ツールページへ飛ぶには以下をクリック。

へごへごへごちん! — た゛め゛て゛す゛よ゛~ や゛め゛て゛く゛た゛さ゛い゛よ゛~

Read more »