タグ

ブックマーク / ympbyc.hatenablog.com (4)

  • 高次元宇宙に移行する - 標高+1m

    n個の要素を持った配列、n次元ベクトルで表された座標を考える。 *1 n次元ベクトルを与えられた時には、普通n次元空間について考えるけれど、このベクトルをよく見ると、もう一暗黙の軸があるように見えてくる。ベクトルの要素数の軸だ。ベクトルに詳しくない僕が知っているベクトルの要素数は自然数(n)個っていう離散的な値しか取らないけれど、これも軸にできることは間違い無いと思う。 3トーラスの表面のxyz座標を計算したいけどなかなか上手くいかない図 数学を全然知らないのに幾何にハマってしまった。ベクトルも集合も高校数学のそれも触りのところしか覚えてないからやり直す必要がある。 というわけでこのテキストで書くことの数学的裏付けを取ることが今の僕には出来ないし、これらはほぼ*2確実に既に数学の言葉で研究されてることなので、このテキストに意味があるのかはよくわからない。「どうやら幾何学ってめちゃくちゃ面

    高次元宇宙に移行する - 標高+1m
  • Lispから可変長引数を引き算したらできること - 標高+1m

    Schemeから可変長引数を引き算したら -- Island Life Shiroさんが面白い記事書かれてたので、前に実際に可変長引数をなくしたLispを作って発見したことを紹介します。*1 実装者とは全く別の、遊ぶ人の視点からの記事です。 この記事では意図的にマクロを一切使わないという制約のもと、いわばラムダ計算パズルをします。 左結合のカッコを省略する 少々恣意的ですが、 ((compose f g) x) ;;こう書ける (compose f g x) こういうこと、引数の数が固定なのでカッコを省略しても一意に評価できます。関数を返す高階関数を使うときに便利。以下の例では全てこの仕組みを存分に活用します。 list関数もクオートも使わずにリストを作る Shiroさんの記事で言及されていたように、可変長引数がないと (list 1 2 3 4) ができなくて不便です。これも一工夫でうま

    Lispから可変長引数を引き算したらできること - 標高+1m
  • 玲音はBeOSユーザーだった!? lainのLisp開発環境を発掘! - 標高+1m

    こんばんは。アマチュアLisp考古学者の山下です。先週弊社でピザを焼きながら唐突に話題に上った、lainのHandiNAVIにLispのソースコードが表示されているシーンについて検証していきます。 幻のLisp開発環境を手に入れてコネクトワイヤードしたい! まずは先人たちの研究によって判明している事項のまとめ: HandiNAVIのハードウェアのモデルはApple Newton OSはCopland OS Enterprise。これはMacのSystem 8の候補で、結局ヴェイパーウェアになったCopland Projectではないか ソースコードはCMU AIのリポジトリにある、ライフゲームのコード 言語はCommon Lisp 以上のことはwikipedia英語版のSerial Experiments Lainの記事にまとまっています。 ちなみに、このライフゲーム、お好みのCommon

    玲音はBeOSユーザーだった!? lainのLisp開発環境を発掘! - 標高+1m
  • 高次元立方体を描く - 標高+1m

    先日の記事で触れたように、次元数の軸が、どれかの次元の軸についての方程式になっていた場合どんな挙動になるのかの実験のためにn次元単位立体を描画するプログラムを書いています。プログラマだと実験の道具を自分の指先でちょちょいと作れてとても便利。 今日の夕方にJSFiddleで暇つぶしに書いていたら、n次元(0含む)の立方体の辺を描画するものが呆気ないほど簡単にできてしまいました。 超立方体 - Wikipedia 正八胞体 - Wikipedia 5次元立方体のワイヤフレーム。コード末尾の方のstateのdが次元数(軸の数)。"Edit in JSFiddle"から、この数値を変えたりして実験できます。 gistはココ: gist: Draw n-dimentional cube on canvas. あくまでスクリプト的なコードで、効率などは無視していますが、わりかしシンプルに表現できました

    高次元立方体を描く - 標高+1m
  • 1