; oi: プログラム
ラベル プログラム の投稿を表示しています。 すべての投稿を表示
ラベル プログラム の投稿を表示しています。 すべての投稿を表示

2016年11月14日月曜日

ソースコードをキレイに表示させる方法(Blogger)

highlight.jsを用いてソースコードを表示させる方法を備忘録代わりに記す。

STEP1. ソースコードを表示させるStyleの選択

highlight.js demoの左下部分からブログのスタイルを選ぶ。本ページのソースコードを表示し、以下のようにHTMLからcss名を確認する。
<link rel="alternate stylesheet" title="Github" href="styles/github.css">

STEP2. Bloggerテンプレートの更新


以下をテンプレートHTMLの<head></head>部分の中に埋め込む。
<link href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.2/styles/default.min.css" rel="stylesheet"/>
<script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.2/highlight.min.js"></script>;
<script>hljs.initHighlightingOnLoad();</script>

STEP3. ソースコードの表示サイズの変更

BloggerテンプレートのカスタマイズからBloggerテンプレートデザイナーを開き、上級者向けから、cssの追加を選択する。
pre {
    font-size : 12px
}

STEP4. ソースコードの埋め込み

最後に、投稿編集画面において、HTMLとしてソースコードを以下のタグで挟んで追加するだけである。
<pre><code>〜</pre></code>
また、言語の指定は以下のようにクラスを指定するだけで良い。
<pre><code class = "python">〜</pre></code>

例.pythonコードの場合
if __name__ == '__main__':
    ratio = 0.9
    train_in = []
    train_out = []
    dev_in = []
    dev_out = []
    with open('../data/line_talk.in', mode = 'r') as fr:
        for i,line in enumerate(fr):
            if i &lt num_lines*ratio:
                train_in.append(line)
            elif i &lt num_lines:
                dev_in.append(line)

とても簡単であった。

参考:
http://blog.ayihis.info/2014/12/highlightjsblogger.html
https://highlightjs.org/static/demo/
https://39life.net/highlightjs/
https://github.com/isagalaev/highlight.js/tree/master/src/styles
http://takachan.hatenablog.com/entry/2014/08/15/232154
http://www.blogger-customize.com/2013/11/css-customize.html
http://highlightjs.readthedocs.io/en/latest/index.html

バケットハットの型紙に必要な情報

入力(作りたい帽子の大きさ)

トップクラウンの円周 $a$(cm)
サイドクラウンの下円の円周 $b$(cm)
サイドクラウンの下円の幅 $l_1$(cm)
ブリムの外側(下側)の円周 $c$(cm)
ブリムの幅 $l_2$(cm)
Center Line(cm)
Scale(cm)

出力(型紙作成に必要な情報)

$r_a$ 0 (cm)
$r_b$ 0 (cm)
$L_a$ 0 (cm)
$L_b$ 0 (cm)
$\phi_1$ 0 (°)
$r_c$ 0 (cm)
$L_b'$ 0 (cm)
$L_c$ 0 (cm)
$\phi_2$ 0 (°)

2015年5月5日火曜日

蛇の模様を作ってみた -チューリングが残した数式-

5月3日(日)所さんの目がテン!を見て興味深かったので投稿する。

今イミテーションゲームでも話題の、アラン・チューリングが生物の模様に関して以下のような説を提唱したようである。

「局所的ないくつかのルールのみによって、大域的な模様は決定づけられる。」
⇒チューリング・パターン(Wikipedia)

本説の検証実験のため、番組内では、枡アナらが約1万枚のオセロを用いて手作業による検証を試みていた。

しかし、20時間もの時間がかかる非効率的な作業に思われたので、今回プログラムを用いて出来上がった模様を公開する。

前提:正六角形を敷き詰めてつくられる盤上において、各マスは白か黒の2値をとる。

ルールは以下の2つである。
 1. 自分の周り(自分と接する6マス)に、自分と異なる色のマスが4つ以上存在する場合、自分は異なる色に変化する。
 2.自分の周りの周り(自分と接する6マスと、その6マスと接する12マス:計18マス)に、自分と異なる色のマスが1つも存在しない場合、自分は異なる色に変化する。

以下は実行例を示す。(盤面は100×500マス)

1. 初期値はランダムで与える。

2. ルールの適用(1回目)

3. ルールの適用(2回目)

4. ルールの適用(5回目)

5回目以降は、ほぼ同様の状態が繰り返し続く。
蛇の模様と言われれば、蛇の模様に見えないこともない。

今後、この他のルールを適用し、蛇以外の模様についても表現できれば良いと思う。

参考:六角形版ライフゲームを作ってみた
http://hunayasu.hatenablog.com/entry/2014/04/20/233508

※上記プログラムを参考に、色変化のルール部分、ロジック部分を修正した。