😏 Очередной пример, что почти всё можно реализовать кодом:
Понравились у одного дизайнера вот эти дудл-арты, он рисует каждую отдельную черточку кодом
Так что я конвертировал его идею в промт, можно генерить любую тему, не только людей:
Никаких библиотек, чисто ваш Claude + JavaScript + Canvas 2D
А если еще докинуть к этому seed случайности, то получаем похожие но всегда уникальные образы
Применение придумайте сами) ☕️
@tips_ai
Понравились у одного дизайнера вот эти дудл-арты, он рисует каждую отдельную черточку кодом
Так что я конвертировал его идею в промт, можно генерить любую тему, не только людей:
[naive hand-drawn human doodle faces]
Write one self-contained HTML file with no libraries and no image assets that uses canvas 2D to draw a grid of 40 variations of the subject in brackets above on textured off-white paper: give each one its own seeded PRNG (same seed = same drawing, click one to reroll it, one button regenerates the whole sheet); start by breaking the subject into 6-12 named parts, each a tiny function with several variants assembled from arcs and curves (that granularity means an eye is two arcs plus a pupil, a nose is one long curve around a tip); then put a rough 3D armature under the 2D art — the simplest solid the subject implies, an ellipsoid for a head or a body, a tilted disc for anything radial, a curve for anything that grows — give it random yaw/pitch/roll and pin every part to a (u,v) anchor on it, projecting that anchor to 2D for position but taking each part's orientation and scale from the armature's own global axes rather than the surface tangent (or the parts converge at the poles), and hide parts whose surface normal faces away; draw everything with a handmade pen: build point arrays, offset them by a smooth low-frequency wobble (a few summed sines, never per-point noise), stroke with round caps in one or two passes at slightly different width and opacity, scatter short scratchy hatch strokes, fill the heaviest masses solid black; then add a rules layer so nothing slides off the form — clamp parts inside the silhouette, keep anything worn or attached sitting on its outside, drop occluded parts on hard turns; keep the style deliberately naive and asymmetric — wobbly outlines, mismatched pairs, ink #232a22 on paper #e9e3d6, with occasional flat muted colour patches (terracotta, sage, dusty rose) laid under the ink.
Никаких библиотек, чисто ваш Claude + JavaScript + Canvas 2D
А если еще докинуть к этому seed случайности, то получаем похожие но всегда уникальные образы
Применение придумайте сами) ☕️
@tips_ai