roguestar-gl-0.2.1: src/Models/Encephalon.hs
module Models.Encephalon
(encephalon)
where
import Quality
import RSAGL.Vector
import RSAGL.CurveExtras
import RSAGL.Model
import RSAGL.ModelingExtras
import Models.Materials
import RSAGL.Affine
encephalon_head :: Quality -> Modeling ()
encephalon_head _ = model $
do sor $ linearInterpolation $
points2d $ reverse
[(0.001,9),
(0.5,9),
(1,9),
(1.5,9),
(2,9),
(3,8.5),
(4,7),
(4,5),
(3,3)]
deform dfn
encephalon_skin
where dfn (Point3D x y z) | y > (abs x ** 0.4) + 7.5 = Point3D x ((abs x ** 0.4) + 7.5) z
dfn pt = pt
encephalon_eye :: Quality -> Modeling ()
encephalon_eye _ = model $
do sphere origin_point_3d 0.4
material $ pigment $ pure black
encephalon_suit :: Quality -> Modeling ()
encephalon_suit _ = model $
do sor $ linearInterpolation $
points2d $ reverse
[(3,5),
(5,5),
(6,3),
(8,1),
(8,0.5),
(7,0),
(0.001,0)]
alliance_metal
encephalon :: Quality -> Modeling ()
encephalon q = model $ scale' (1/30) $
do encephalon_head q
encephalon_suit q
translate (Vector3D (-1) 6 4) $ encephalon_eye q
translate (Vector3D 1 6 4) $ encephalon_eye q