archive-com.com » COM » N » NITOYON.COM

Total: 757

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • タグ「アルゴリズム」の記事一覧 - てっく煮ブログ
    2009年04月13日 3D ビジュアライズ アルゴリズム ActionScript クラスタリングの定番アルゴリズム K means法 をビジュアライズしてみた 2009年04月09日 ビジュアライズ アルゴリズム ActionScript アルゴリズムイントロダクション輪講 動的計画法の発表資料 2009年03月03日 アルゴリズム 数学 勉強会 発表資料 Haskell でヒープソートを書いてみた 2008年10月17日 アルゴリズム Smalltalk でヒープソートを書いてみた 2008年10月14日 アルゴリズム BitmapData の範囲拡張を実装するなら 2007年09月28日 ActionScript アルゴリズム 自己組織化マップmemo 2004年05月17日 アルゴリズム タグ一覧に戻る About Profile nitoyon

    Original URL path: http://tech.nitoyon.com/ja/blog/tags/algorithm/ (2016-02-13)
    Open archived version from archive



  • i int 0 i k i colors push ColorSB createHSB i 360 k 90 100 value init dot dots groups centers for var i int 0 i n i var group int Math floor Math random k dot new Dot colors group dot x Math random WIDTH dot y Math random HEIGHT canvas addChild dot dots push dot if groups group groups group groups group push dot private function moveCenter void for each var dot Dot in dots dot glow false if changed return graphics clear var animated Boolean false for var i int 0 i groups length i if groups i groups length continue get center of gravity var x Number 0 y Number 0 for each dot in groups i x dot x y dot y x groups i length y groups i length if centers i Tweener addTween centers i x x y y time ANIMATE animated true else var center Center new Center colors i center x x center y y centers i canvas addChild center if animated drawCenterLines else setTimeout drawCenterLines ANIMATE 1000 private function drawCenterLines void graphics clear for var i int 0 i groups length i var center Center centers i if center continue for each var dot Dot in groups i graphics lineStyle 1 colors i 5 graphics moveTo center x center y graphics lineTo dot x dot y graphics lineStyle private function updateGroups void changed false groups for each var dot Dot in dots find the nearest group var min Number Infinity var group int 1 for var i int 0 i centers length i var center Center centers i if center continue var d Number Math pow center x dot x 2 Math pow center y dot y 2 if d min min d group i update group if groups

    Original URL path: http://tech.nitoyon.com/misc/swf/KMeans.as (2016-02-13)
    Open archived version from archive

  • 3D版!「K-Means法」ビジュアライズしてみた - てっく煮ブログ
    clear for each var dot Dot in dots canvas removeChild dot for each var center Center in centers if center canvas removeChild center init colors colors for var i int 0 i k i colors push ColorSB createHSB i 360 k 90 100 value init dot dots new Vector Dot n dotsPos new Vector Number n k 3 dotsView new Vector Number n k 3 groups centers new Vector Center k for i 0 i n i var group int Math floor Math random k dots i new Dot colors group canvas addChild dots i dotsPos i 3 0 Math random SIZE SIZE 2 dotsPos i 3 1 Math random SIZE SIZE 2 dotsPos i 3 2 Math random SIZE SIZE 2 if groups group groups group groups group push i private function render event Event null void matrix appendRotation 1 rotateAxis matrix transformVectors dotsPos dotsView 描画 for var i int 0 i n i dots i update dotsView i 3 dotsView i 3 1 dotsView i 3 2 lineCanvas graphics clear for i 0 i k i if centers i continue centers i update dotsView n i 3 dotsView n i 3 1 dotsView n i 3 2 var col uint colors i var cx Number centers i x var cy Number centers i y for each var index int in groups i lineCanvas graphics lineStyle 0 col 5 lineCanvas graphics moveTo dots index x dots index y lineCanvas graphics lineTo cx cy lineCanvas graphics lineStyle private function moveCenter void for each var dot Dot in dots dot glow false if changed return graphics clear var animated Boolean false for var i int 0 i groups length i if groups i groups length continue get center of gravity var x Number 0 y Number 0 z Number 0 for each var index int in groups i x dotsPos index 3 y dotsPos index 3 1 z dotsPos index 3 2 var gc int groups i length x gc y gc z gc if centers i Tweener addTween centers i ax x ay y az z time ANIMATE animated true else centers i new Center colors i dotsPos n i 3 dotsPos n i 3 0 x dotsPos n i 3 1 y dotsPos n i 3 2 z centers i update x y z canvas addChild centers i private function updateGroups void changed false groups for var i int 0 i n i find the nearest group var min Number Infinity var group int 1 for var j int 0 j k j var center Center centers j if center continue var d Number Math sqrt Math pow dotsPos n j 3 0 dotsPos i 3 0 2 Math pow dotsPos n j 3 1 dotsPos i 3 1 2 Math pow dotsPos n j 3 2 dotsPos i 3 2 2 if d min min d group j update group var dot Dot dots i if groups group groups group groups group push i if dot color colors

    Original URL path: http://tech.nitoyon.com/ja/blog/2009/04/13/kmeans-visualize-3d/ (2016-02-13)
    Open archived version from archive

  • アルゴリズムイントロダクション輪講 動的計画法の発表資料 - てっく煮ブログ
    分かりやすくしようと気合を入れてまとめたら165ページの大作になっちゃいました 無駄に長くてすいません アルゴリズムの設計と解析手法 アルゴリズムイントロダクション 作者 T コルメン 出版社 メーカー 近代科学社 発売日 2007 03 メディア 単行本 Amazon のレビューを見る Tweet 2009年03月03日 編集履歴 アルゴリズム 数学 勉強会 発表資料 はてブ年鑑2009年2月分 都道府県大戦にはまった Please enable JavaScript to view the comments powered by Disqus comments powered by Disqus

    Original URL path: http://tech.nitoyon.com/ja/blog/2009/03/03/dp/ (2016-02-13)
    Open archived version from archive

  • First post - TECH-NI Blog
    Japanese here And now I decided to write in English I want to show many AS3 samples on this blog I also want to introduce good libraries and tools developed by Japanese Some Japanese have developed very nice libraries and tools but I m afraid most of them are not used world wide Nice to see you Tweet 02 Jan 2008 View history as3Query alpha version New Wave ActionScript Please

    Original URL path: http://tech.nitoyon.com/en/blog/2008/01/02/first-post/ (2016-02-13)
    Open archived version from archive

  • 「コピペできない文章」がコピペできなかった理由 - てっく煮ブログ
    たとえ無料でいいソフトがあったとしても 手作業で編集するのはめんどくさいものです プログラマーなら自動化でしょう そこで Python のライブラリ TTX FontTools を使いました 動作には Python が必要です Python 2 X の実行環境を用意します Numpy をダウンロードして インストールします fonttools 2 3 tar gz をダウンロードして 展開します 文字を制限した軽量な日本語 Web フォントを作成する方法 てっく煮ブログ 作成したスクリプトはこれです 33行 usr bin python coding utf 8 import fontTools ttLib tables import fontTools ttLib s1 u コピペできない文章です 嘘じゃないよ s2 u ほら 無理でしょ 絶対に不可能なんです tt fontTools ttLib TTFont mplus 2p regular ttf chars set glyphMap dict hmtxMap dict for i in range len s1 c1 uni 04X ord s1 i c2 uni 04X ord s2 i chars add c2 print s s c1 c2 glyphMap c2 tt glyf glyphs c1 hmtxMap c2 tt hmtx metrics c1 glyphMap notdef tt glyf glyphs notdef for g in dict tt glyf glyphs if g in chars tt glyf glyphs g glyphMap g tt hmtx metrics g hmtxMap g else tt glyf glyphs g fontTools ttLib tables g l y f Glyph output path output ttf tt save output path print wrote s output path このスクリプトを実行することで M フォントのグリフが入れ替わり 利用しないグリフは空っぽになります この時点で 1 2MB あったフォントは 180KB になりました ただ Web に載せるにはまだまだ無駄にサイズが大きいです そこで Font Squirrel Create Your Own font face Kits という Web サービスを利用しました 同じような Web フォントへの変換サービスはいくつかあるのですが このサイトは EXPERT 機能の充実っぷりがすごいです 今回はフォントのサブセット化のオプションで 利用するフォントだけの情報を含むようにしました この結果 20 文字ほどの文字のみを含んだ 8KB のフォント ファイルが完成しました

    Original URL path: http://tech.nitoyon.com/ja/blog/2012/04/23/why-uncopyable/ (2016-02-13)
    Open archived version from archive

  • 文字を制限した軽量な日本語 Web フォントを作成する方法 - てっく煮ブログ
    Webと文字 で紹介されていた Python のライブラリ TTX FontTools を使ってみました 手順とソースコードは最後に紹介します 変換したところ こんなフォントができあがりました 5 7 MB もあった ttf ファイルが 214 KB になりました Windows でコンピューターの世界が広がります が歯抜けになっていることからも 必要最低限の文字しか含まれていないことが分かります この ttf ファイルを WOFF に変換すると次のようになりました 衡山毛筆フォント草書 改 ttf 214 KB 衡山毛筆フォント草書 改 woff 67 KB 67 KB なら画像ファイル 1 枚程度のサイズです 画像で埋め込むよりも SEO 効果は高いですし 文字のコピペもできます タイトル字に画像を使うぐらいなら こっちのほうがいいかもしれません もっとサイズを小さくしたい 今回のスクリプトでは 未使用の文字のベクターデータを空にする という処理のみを行っています フォントファイルには その他にも バイト列をどの文字に対応付けるか 文字コードごとに 縦書 合字 カーニング 異体字 etc の情報が残っています このあたりを整理できれば まだまだファイルサイズは小さくできます 空にしたベクターデータについても 何も描画しない というデータが残ってしまっています これを削除できればもっとサイズを抑えられるはずです しかし いろいろ試してみたのですが 各テーブルが複雑に絡まりあっていて 一部を下手に削除すると保存時にエラーがでたり 表示できないフォントファイルができあがったりと かなり難易度高かったです かといって OpenFont の仕様書 を最初から読む気にもなりません フォントの世界は難しいです 何かいいツールやライブラリがあれば教えてください 追記 Font Squirrel Create Your Own font face Kits を使えば日本語のサブセット化にも対応してくれるようです ためしに 1 文字のフォントを作ったら数 KB になりました スクリプトの使い方 では最後にスクリプトを公開します 動作には Python 2 X が必要です Python 2 X の実行環境を用意します Numpy をダウンロードして インストールします fonttools 2 3 tar gz をダウンロードして 展開します Webフォント変換サービスを作ろう その1 ゝ Webと文字 実行するには次のようにします python compact py FontName ttf test txt 第一引数にサイズを小さくするフォントを指定する 取り出す文字を含んだ文章を UTF 8 で保存して 標準入力から渡す 変換に成功すると converted FontName ttf が出力される 出力フォントに半角の数字や記号が含まれないバグあり グリフ名が zero plus などになっていて機械的変換できなかった 本気でやるなら cmap を見るべきなのだが面倒だった ソースコードは以下の通りです import fontTools ttLib tables import fontTools ttLib import sys import os path if len sys argv 2 print font file not specified sys exit 1 path sys argv 1 if not os path exists path print file not found s path sys exit s join sys stdin readlines s unicode s

    Original URL path: http://tech.nitoyon.com/ja/blog/2012/04/19/tiny-jp-webfont/ (2016-02-13)
    Open archived version from archive

  • 北海道を落とすとどう跳ねるのか?スクリーンセーバ - てっく煮ブログ
    のうちから選ぶことができます いつ何時でも全画面で北海道を落とすことができるので 幸せなパソコンライフを過ごせそうですね ダウンロード 北海道を落とすとどう跳ねるのか からどうぞ ソースコード スクリーンセーバーのソースコードを公開しています http github com nitoyon hokkaido tree master scr フォルダに C 版実装 1 0 0 1 0 1 scrcpp フォルダに C 版実装 1 0 2 があります Flash でスクリーンセーバーを作りたい人は参考にしてみてください Flash の ソースコード も公開しています そこそこ複雑なことをやってるので1 000行ぐらいあります 興味がある人は見てください 今回得たノウハウについては ブログで順次記事にしていきたいと思います Tweet 2009年04月21日 編集履歴 北海道を落とすとどう跳ねるのか 北海道を落とすとどう跳ねるのか の裏側 Please enable JavaScript to view the comments powered by Disqus comments powered by Disqus About Profile nitoyon にとよん 京都のベンチャー会社勤務 プログラマ

    Original URL path: http://tech.nitoyon.com/ja/blog/2009/04/21/hokkaido-scr/ (2016-02-13)
    Open archived version from archive



  •