Mochi in Denim Blue
A portrait study of a Pomeranian in broad oil strokes against a scraped denim-blue canvas.
How it is made
A close-cropped study made from a photograph. Broad overlapping pkoil masses model the orange-sable dog, pkdry breaks the silhouette into a furry edge, and selectively crisp eyes and nose hold the likeness. The result is an interpretation, not a traced copy.
The reference
This piece begins with a real photograph rather than a geometric system. The interpretation keeps Mochi's upright ears, orange-sable and cream markings, enormous reflected eyes, compact dark nose and denim-blue setting. It trades individual hairs and clothing folds for directional loaded-brush masses and cross-woven canvas marks; the aim is a recognizable oil study, not a traced copy or a claim of physical pigment simulation.
Details
- Category
- Painting
- Tags
- portrait reference study
- Libraries
- artkit, paintkit
- Added
- 2026-08-27
- Built in
- issue #100
- Page size
- 720 × 900 points
Source
View source the whole program in a scrolling window, or read gallery/mochi_denim_blue.ps on GitHub. To draw it yourself, from a checkout of the repository:
pscat --page 720x900 gallery/mochi_denim_blue.ps
The first 40 of 287 lines of the source
%!PS-Adobe-3.0
%%Title: Mochi in Denim Blue — an oil study
%%Creator: Codex with pscat paintkit
%%BoundingBox: 0 0 720 900
%%EndComments
(lib/artkit.ps) run
(lib/paintkit.ps) run
27 srand
% A close-cropped oil study after Mochi's reference photograph. Broad
% Reference: gallery/references/mochi.jpg (the original 3000x4000 photo).
% pkoil marks establish the canvas, skull, and coat before the features;
% smaller loaded marks pull fur across those masses. Crispness is saved
% for the eyes and nose, as it would be in an alla-prima student portrait.
% --- palette ---------------------------------------------------------------
/denim0 [0.035 0.105 0.155] def
/denim1 [0.055 0.19 0.28 ] def
/denim2 [0.085 0.29 0.40 ] def
/denim3 [0.16 0.39 0.50 ] def
/umber [0.20 0.115 0.065] def
/sienna [0.42 0.235 0.105] def
/russet [0.61 0.335 0.135] def
/ochre [0.79 0.505 0.205] def
/honey [0.90 0.655 0.335] def
/gold [0.95 0.765 0.47 ] def
/cream [0.965 0.885 0.69 ] def
/light [1.0 0.965 0.82 ] def
/ink [0.025 0.028 0.027] def
/iris [0.105 0.095 0.075] def
/steel [0.31 0.48 0.55 ] def
/rose [0.50 0.22 0.19 ] def
% --- paint helpers ---------------------------------------------------------
% The caller constructs a centerline path, then supplies color/width/ridges.
/oilpaint { % color width ridges -> -
/opr exch def /opw exch def /opc exch def
gsave
opc aload pop setrgbcolor