大久保弘崇
ex7.3
最終更新:
hirotakaohkubo
-
view
7.10
図7.20は図7.19を丸く切り取るだけでよい。
fig720 = writeppm (theImg `over` whiteI) "fig720.ppm" 12 (-w,-w) (w,w) where
w = 15/2
fig719 = rippleRad 8 0.3 ybRings
theImg = cropRad 5 fig719

図7.21を調整するのは、レンダリングに少し時間のかかる対話性の低さのために苦痛になってきた。
fig721 = writeppm (theImg `over` whiteI) "fig721.ppm" 20 (-w,-w) (w,w) where
w = 10/2
fig719 = rippleRad 5 0.5 ybRings
theImg = cropRad 4.5 (swirl 10 fig719)
だいたいこんなところか。

図7.22も適当なところでお茶を濁す。
fig722 = writeppm (f3 `over` whiteI) "fig722.ppm" 12 (-w,-w) (w,w) where
w = 15/2
f1 = cropRad 4 ybRings
f2 = rippleRad 5 0.4 f1
f3 = swirl 8 f2

ex7.11
wipe2が配布物を探しても見当たらないし、
サンプルの結果から推測するのも面倒なので、
wavDistを10倍してお茶を濁すことにする。
サンプルの結果から推測するのも面倒なので、
wavDistを10倍してお茶を濁すことにする。
fig728 = do
beckyA <- readPPM3 "beckyA.ppm"
let becky = reconstruct beckyA
fraidyA <- readPPM3 "fraidyA.ppm"
let fraidy = reconstruct fraidyA
let softHybrid f t = lerpI (f t) fraidy becky
-- let ex711 = softHybrid (const (swirl 10 (wipe2 75))) -- wipe2 undefined
let ex711 = softHybrid (const (uscale 10 wavDist))
let w = 80
writeppm (ex711 0) "fig728.ppm" 1 (-w,-w) (w,w)
