ビットマップギャラリー
の編集
https://www2.hamajima.co.jp:443/~mathenet/wiki/index.php?%A5%D3%A5%C3%A5%C8%A5%DE%A5%C3%A5%D7%A5%AE%A5%E3%A5%E9%A5%EA%A1%BC
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
2008(Fractal)2学期
2008(Fractal)3学期
?????©?¢Â???ªÓ
??ªÑ???´???£?¢Â???ª±?¢ð?ªÂ??ª???¢ë????
??ªÑ??ªª??ª???©°??ªª?¡ß??¢î???ª???±???´?¢Â?
??©¬?????¡ß
?ª©??À??©??¢ð?ªÓ?¢ð??±?¢ð??´?ª´??¤?¢ð??¢Â?ª´¡ò?¡ò?ª£?¢Â?ª?
?ªÂ?¢í?ª¤?ªÂ?ª±?¢±?¡Þ
?ª´?¢Ä?ªÀ?ªÀ?¢Ä?©°??ª¡?¢ð?ªÂ?ªÀ??£?ª¤??´(2)
BracketName
DivisionByZero
FrontPage/練習
HyperCard
InterWikiName
InterWikiSandBox
KaleidoCycle
L-system
MenuBar
NETANETAAKASHI
POV-Ray
PukiWiki
RecentDeleted
Rubyで整数の計算
seito
ShortestAdditionChain
TaneAkashi
WikiName
WikiWikiWeb
Xaos
ソーラーボート製作
ノーベルメダルチョコ
;
2007高1生冬課題
4サイクルエンジンの模型
91の不思議
きれいな模様だけど(2)
けいはんなDEサイエンス
だまし缶
なんとかの部屋
イスラエル(星形)
エンジンの構造
ガウス生誕150周年
クアラルンプールの高校の壁画
ケーキの問題
ケプラー関連
サイクロイドの滑り台
シャッフルの記録
シンプルな作図問題
スライスモデル
ビリヤードのパズル
フィボナッチ数列の図形パズル
フラーレン
フラクタル3学期(クライマックス)
ヘルプ
マンデルブロ集合とπ4
ルーロー三角形食器?
Σのパズル
伊号-401
一般公開・科学教室
河崎テスト
階乗のなぞ
角の3等分線
角錐で多面体
関西テクノアイデアコンテスト(高校の部)の模様
京都府高等学校数学研究会
鏡で合わせ絵
行事(仮置き)
作図問題!
初期の落書き
新砂箱
進学環境に科学を伝える取組(紹介本一覧)
数学オリンピック解説会
正多面体さいころ
素数
多面体の硬さ
第2回勉強会
談話室バックナンバー01
中学生の問題(1)
等比数列の続き
統計学習用
二次関数バスケット
日経サイエンス
入れ子トリック
年齢当てマジック
平行・回転・対称移動シート
平成15年度 教員養成大学・学部等教官研究集会
平成16年度京都教育大学公開講座募集
平面図形(4)
平面図形(6)in国立科学博物館
平面図形の問題(1)
平面図形の問題(3)
勉強会(例会と銘打って良いのか?)
方べき
有機化学カードゲーム
有理数の樹
羊歯
立体の問題(1)
立体標識
立方体のパズル
立方体の展開図
...
*ビットマップギャラリー 平面に横と縦方向に色のついた点(ピクセル)を敷き詰めたのがビットマップです。 画像ファイルとしては,簡単なヘッダーと3バイト(1色1バイト)ずつのアスキーコードを 詰め込んでやるだけで作れて,それを PNG や JPEG に圧縮する道具もネットに転がって いるので,ちょっとしたプログラミングで華麗な画像の世界を作ることができます。 という能書きはこれくらいにして,下のURLをご覧ください。 http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/BITMAP/bmapgallery.html これらはいずれも2,30行のプログラムで描かれています。アルゴリズムも単純。まだ まだ追加予定です。 下はプログラムのソース例と解説 http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/BITMAP/bitmap.html ビットマップ画像のフォーマットの解説のレジュメ http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/BITMAP/bitmap.pdf COLOR(#fe891c){懐かしい色具合?ですね。東野圭吾氏の「白夜行」を読んでいるのですが,この小説には昔懐かしいコンピュータがぞろぞろ出てくるので頭の中でシンクロしてしまいました。bitmapは文字通りbitのmapなんだと思っていたんだけど、rubyも気になるしなあ。ベジェ曲線も(何故か話題が重なるときは重なりますねえ)気になる。悶々としますねえ。} ---- 双曲線を使ったパターンも簡単です。不等式で座標平面の範囲を決める問題なんてのも,こういうふうに美しい作品を作るのに使えるとなれば,うれしくなりますね。 #ref(hyp2.png,left) #ref(hyp4.png,right) ちなみに右下の画像を生成するための Ruby のソースはこんなものです。 px = 240; py = 180 mx = px / 2; my = py / 2 q1 = 200; q2 = 1000 colmax = 0xff colmaxh = 0xff / 2 printf("P6\n%d %d\n%d\n",px,py,colmax) for i in 0 ... py for j in 0 ... px if (j - mx) ** 2 - (i - my) ** 2 > q2 cr = 0 cg = colmaxh cb = colmax elsif (j - mx) ** 2 - (i - my) ** 2 < -q1 cb = 0 cg = colmax cr = 0 else cb = 0 cg = colmax cr = colmax end printf("%c%c%c",cr,cg,cb) end end COLOR(#fe891c){240ピクセル×180ピクセルのサイズの絵を描くってことですね} COLOR(#fe891c){で、その中央のピクセルの場所をサイズを変えても対応できるように決めておくんですね。でもどう使うのだろうか?・・・原点の位置を中央にするんだな?} COLOR(#fe891c){q1,q2って・・・うーんこれはなんだろう} COLOR(#fe891c){カラーのマックス?そしてその半分も何だろう} COLOR(#fe891c){printfってファイルに書き込む設定かな?いや違うなあ,ビットマップファイルにビットマップの「サイズと色の深さ」をヘッダとして書き込んでいるんだなきっと} COLOR(#fe891c){で、あとは、座標をfor....nextでくるくる回して、} x^2-y^2=q COLOR(#fe891c){で色分けかあ。そこで,原点の設定や,双曲線の2種類の設定q1,q2が出てくるんだ。} COLOR(#fe891c){それにしてもprintfって見ても分からないですよね。画面かファイルかとにかくプログラムの外部?に書き出しているんでしょうね。} COLOR(#006789){C,Perl,Ruby 系のprintf とか,Fortran の FORMAT 文とか,プログラミングの取っ掛かりでいちばん引っかかることですねえ。実際に使う段になると必要不可欠なものであることが分かるのですが,書式を表現するために抽象的な記号のかたまりになってしまうのが,難解さの原因。次のほうがわかりやすいかも。Ruby は同じ処理をいろいろなやりかたで実現できるという特徴があります。} printf("P6\n%d %d\n%d\n",px,py,colmax) の代わりに print "P6\n" print px, " ", py, "\n" print colmax, "\n" printf("%c%c%c",cr,cg,cb) の代わりに print cr.chr, cg.chr, cb.chr COLOR(#fe891c){そっかあ。rubyのprintfって(他のもそうなのかな?)次のformatでprintっていう命令なんだなあ。あとはP6の意味と\nの意味が分かればよいわけですね。%dはデータ(数値)の形式で、%cはchar(文字列)の形式でってことですね。} COLOR(#006789){ご明察のとおり printf は書式(format)付きプリントです。Fortran の場合には,WRITE 文と FORMAT 文との組み合わせになります(F77以降では WRITE 文の中に書式を記述できるようにはなりましたが)。P'''n''' は非圧縮ビットマップファイルであることを示す識別記号で,'''n'''=1,2,3,4,5,6 のそれぞれが,モノクロだとかグレイスケールだとかカラーだとか,テキストファイルかバイナリファイルかという方式に対応しています。で,"\n" は改行記号です。ふつうに何かを書くときには,改行なんてものを意識しないでやってますが,印刷とは何か,文章による表現とは何かということを意識しだすと,改行というのは重要なものですよね。BASIC はデフォルトで PRINT された文字列の後に改行を入れてしまう仕様ですが,あまりよくないと思います。} COLOR(#fe891c){というわけで遅まきながら遊んでみました。} #ref(bitmap.png,left) #ref(bitmapmt01.png,) COLOR(#006789){うーん,これは・・・ まるで花茣蓙のような。途中でカオスに転移するのかしらん。} COLOR(#fe891c){カオスやフラクタルとは違いますです。上のはもう忘れましたが,下のは,RGBをそれぞれ,x^2,x*y,x^2で決めたものです。ただし,値が大きくなると困ります?からそこは剰余系で処理した?かなあ。たぶんそんなのです。}
タイムスタンプを変更しない
*ビットマップギャラリー 平面に横と縦方向に色のついた点(ピクセル)を敷き詰めたのがビットマップです。 画像ファイルとしては,簡単なヘッダーと3バイト(1色1バイト)ずつのアスキーコードを 詰め込んでやるだけで作れて,それを PNG や JPEG に圧縮する道具もネットに転がって いるので,ちょっとしたプログラミングで華麗な画像の世界を作ることができます。 という能書きはこれくらいにして,下のURLをご覧ください。 http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/BITMAP/bmapgallery.html これらはいずれも2,30行のプログラムで描かれています。アルゴリズムも単純。まだ まだ追加予定です。 下はプログラムのソース例と解説 http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/BITMAP/bitmap.html ビットマップ画像のフォーマットの解説のレジュメ http://www.cs.kyoto-wu.ac.jp/~konami/Semi-34/BITMAP/bitmap.pdf COLOR(#fe891c){懐かしい色具合?ですね。東野圭吾氏の「白夜行」を読んでいるのですが,この小説には昔懐かしいコンピュータがぞろぞろ出てくるので頭の中でシンクロしてしまいました。bitmapは文字通りbitのmapなんだと思っていたんだけど、rubyも気になるしなあ。ベジェ曲線も(何故か話題が重なるときは重なりますねえ)気になる。悶々としますねえ。} ---- 双曲線を使ったパターンも簡単です。不等式で座標平面の範囲を決める問題なんてのも,こういうふうに美しい作品を作るのに使えるとなれば,うれしくなりますね。 #ref(hyp2.png,left) #ref(hyp4.png,right) ちなみに右下の画像を生成するための Ruby のソースはこんなものです。 px = 240; py = 180 mx = px / 2; my = py / 2 q1 = 200; q2 = 1000 colmax = 0xff colmaxh = 0xff / 2 printf("P6\n%d %d\n%d\n",px,py,colmax) for i in 0 ... py for j in 0 ... px if (j - mx) ** 2 - (i - my) ** 2 > q2 cr = 0 cg = colmaxh cb = colmax elsif (j - mx) ** 2 - (i - my) ** 2 < -q1 cb = 0 cg = colmax cr = 0 else cb = 0 cg = colmax cr = colmax end printf("%c%c%c",cr,cg,cb) end end COLOR(#fe891c){240ピクセル×180ピクセルのサイズの絵を描くってことですね} COLOR(#fe891c){で、その中央のピクセルの場所をサイズを変えても対応できるように決めておくんですね。でもどう使うのだろうか?・・・原点の位置を中央にするんだな?} COLOR(#fe891c){q1,q2って・・・うーんこれはなんだろう} COLOR(#fe891c){カラーのマックス?そしてその半分も何だろう} COLOR(#fe891c){printfってファイルに書き込む設定かな?いや違うなあ,ビットマップファイルにビットマップの「サイズと色の深さ」をヘッダとして書き込んでいるんだなきっと} COLOR(#fe891c){で、あとは、座標をfor....nextでくるくる回して、} x^2-y^2=q COLOR(#fe891c){で色分けかあ。そこで,原点の設定や,双曲線の2種類の設定q1,q2が出てくるんだ。} COLOR(#fe891c){それにしてもprintfって見ても分からないですよね。画面かファイルかとにかくプログラムの外部?に書き出しているんでしょうね。} COLOR(#006789){C,Perl,Ruby 系のprintf とか,Fortran の FORMAT 文とか,プログラミングの取っ掛かりでいちばん引っかかることですねえ。実際に使う段になると必要不可欠なものであることが分かるのですが,書式を表現するために抽象的な記号のかたまりになってしまうのが,難解さの原因。次のほうがわかりやすいかも。Ruby は同じ処理をいろいろなやりかたで実現できるという特徴があります。} printf("P6\n%d %d\n%d\n",px,py,colmax) の代わりに print "P6\n" print px, " ", py, "\n" print colmax, "\n" printf("%c%c%c",cr,cg,cb) の代わりに print cr.chr, cg.chr, cb.chr COLOR(#fe891c){そっかあ。rubyのprintfって(他のもそうなのかな?)次のformatでprintっていう命令なんだなあ。あとはP6の意味と\nの意味が分かればよいわけですね。%dはデータ(数値)の形式で、%cはchar(文字列)の形式でってことですね。} COLOR(#006789){ご明察のとおり printf は書式(format)付きプリントです。Fortran の場合には,WRITE 文と FORMAT 文との組み合わせになります(F77以降では WRITE 文の中に書式を記述できるようにはなりましたが)。P'''n''' は非圧縮ビットマップファイルであることを示す識別記号で,'''n'''=1,2,3,4,5,6 のそれぞれが,モノクロだとかグレイスケールだとかカラーだとか,テキストファイルかバイナリファイルかという方式に対応しています。で,"\n" は改行記号です。ふつうに何かを書くときには,改行なんてものを意識しないでやってますが,印刷とは何か,文章による表現とは何かということを意識しだすと,改行というのは重要なものですよね。BASIC はデフォルトで PRINT された文字列の後に改行を入れてしまう仕様ですが,あまりよくないと思います。} COLOR(#fe891c){というわけで遅まきながら遊んでみました。} #ref(bitmap.png,left) #ref(bitmapmt01.png,) COLOR(#006789){うーん,これは・・・ まるで花茣蓙のような。途中でカオスに転移するのかしらん。} COLOR(#fe891c){カオスやフラクタルとは違いますです。上のはもう忘れましたが,下のは,RGBをそれぞれ,x^2,x*y,x^2で決めたものです。ただし,値が大きくなると困ります?からそこは剰余系で処理した?かなあ。たぶんそんなのです。}
テキスト整形のルールを表示する