Open hayato0718 opened 5 years ago
せいかい
ウ def put(n)
サ $x = $x + n
オ end
エ def get
セ return $x
オ end
まちがい
コ s = calc(n-1)
オ s = s + 'a'
カ s = s + 'b'
キ s = s + 'c'
ウ if n < 1
サ return s
イ end
イ end
せいかい
ウ if n < 1
エ s = ''
サ return s
イ end
コ s = calc(n-1)
キ s = s + 'c'
サ return s
イ end
伊東さん!いつもありがとう
[...]$ irb
irb(main):001:0> load "sam5.rb" ←ファイル名は自分の作った名前で
=> true
irb(main):002:0> mypicture ←メソッド名は自分が作った名前で
=> ............
.............. ←沢山ごみ表示が出るかも
irb(main):002:0> quit ←いったんirbを終わらせる
[...]$ ls ←lsでファイルを確認
................ ←t.ppm (または自分で指定したファイル名)確認
[...]$ gimp t.ppm & ←gimpで表示(または「display t.ppm &」)
わかりやすい! さすが山川さん!!!
(演習ガイドのこぴぺですよ
gimpの解説 http://tech.ckme.co.jp/pnm.shtml
学籍番号:1920003
氏名:伊東 隼人
提出日付:2019/11/11
[作成したプログラム]
def fillcircle(x0, y0, rad, r=50, g=50, b=50)
200.times do |y|
300.times do |x|
if (x-x0)**2 + (y-y0)**2 <= rad**2
if block_given? then yield x, y
else pset(x, y, r, g, b)
end
end
end
end
end
[簡単な説明]
計算により図形を塗り潰す
[アンケート]
Q1. 画像のデータ構造について学びましたが、納得しましたか。
なんとなくわかりました。
Q2. どのような画像を生成してみたいと考えていますか。
スーファミの敵キャラをつくりたい。
Q3. リフレクション(今回の課題で分かったこと)・感想・要望をどうぞ。
たのしかった。パソコン買うので自宅でいっぱいやる。
演習2aを30分考えてやったよ。
誤爆しました。。。
$img = Array.new(200) do
Array.new(300) do Pixel.new(255,255,255) end
end
def pset(x, y, r, g, b)
if 0 <= x && x < 300 && 0 <= y && y < 200
$img[y][x].r = r; $img[y][x].g = g; $img[y][x].b = b
end
end
def writeimage(name)
open(name, "wb") do |f|
f.puts("P6\n300 200\n255")
$img.each do |a|
a.each do |p| f.write(p.to_a.pack("ccc")) end
end
end
end
def mypicture
pset(100, 80, 255, 0, 0)
writeimage("t.ppm")
end
def fillcircle(x0, y0, rad, r=50, g=50, b=50)
200.times do |y|
300.times do |x|
if (x-x0)**2 + (y-y0)**2 <= rad**2
pset(x, y, r, g, b)
end
end
end
end
def mypicture2
fillcircle(100, 100, 100 , 180 ,0)
fillcircle(100, 100, 60, 255, 0, 0)
fillcircle(100, 100, 40, 100, 200, 80)
writeimage("t.ppm")
end
まちがい