mirror of
https://github.com/direct-img/vibegif.direct-img.link.git
synced 2026-10-29 11:44:51 +00:00
Flip 16 minimalist creatures to white with a dark edge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// cat-whale drifting along: one solid ink shape, it bobs, flicks its tail, twitches an ear, puffs a spout and blinks
|
||||
const{sin,cos,PI,min,max}=Math,T=2*PI
|
||||
export const frames=24,delay=85,rim=3
|
||||
export const frames=24,delay=85,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const s=sin(T*t),k=sin(T*t-1.4),p=t/.45,tw=t>.6&&t<.68?.3:0,bl=t>.82&&t<.9,tx=46+4*k,ty=92-5*k
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// sheep whose body is a little rain cloud: it floats and bobs, the puffs breathe, tiny legs dangle, raindrops fall from underneath
|
||||
const{sin,PI,min}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
const P=[[78,112,28],[106,90,32],[142,88,32],[170,108,26],[96,130,28],[132,132,30],[160,128,24],[62,130,20]]
|
||||
export default(c,t)=>{
|
||||
const y=5*sin(T*t),bl=t>.5&&t<.56
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// lion whose mane is dandelion fluff: three seeds blow off and drift away, new ones grow back in their place
|
||||
const{sin,cos,PI,min,max}=Math,T=2*PI
|
||||
export const frames=24,delay=85,rim=3
|
||||
export const frames=24,delay=85,rim=3,invert=true
|
||||
const N=18,F=[1,2,3]
|
||||
const seed=c=>{c.beginPath();c.moveTo(0,0);c.lineTo(24,0);for(let j=-2;j<=2;j++)c.moveTo(24,0),c.lineTo(24+10*cos(j*.42),10*sin(j*.42));c.stroke()}
|
||||
export default(c,t)=>{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// heron standing on one leg: S-curved neck and long beak, it tilts its head, the plume feathers sway, it blinks
|
||||
const{sin,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=85,rim=3
|
||||
export const frames=24,delay=85,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const hd=t>.25&&t<.65?.18*sin(PI*(t-.25)/.4):0,br=sin(T*t),pl=.08*sin(T*t-1),bl=t>.8&&t<.86
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// fox spirit sitting side-on, three white-tipped tails fanned out behind it swaying one after another,
|
||||
// a fox-fire flame flickering beside its nose, an ear twitches and it blinks
|
||||
const{sin,cos,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const bl=t>.7&&t<.77,tw=t>.36&&t<.44?.3:0,hr=.04*sin(T*t),f=k=>3*sin(T*t*2+k)
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6;c.translate(122,218);c.scale(.88,.88);c.translate(-138,-218)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// owl nestled in a crescent moon: the moon's curve is its back and left wing, the lower tip is the perch it grips; big ringed eyes blink, the head tilts, a star twinkles
|
||||
const{sin,cos,PI,atan2,sqrt,hypot}=Math,T=2*PI
|
||||
export const frames=24,delay=85,rim=3
|
||||
export const frames=24,delay=85,rim=3,invert=true
|
||||
// crescent edges are circles through tips B and A, bulging s px toward the lower left
|
||||
const B=[84,60],A=[204,214],M=[(B[0]+A[0])/2,(B[1]+A[1])/2],L=hypot(A[0]-B[0],A[1]-B[1]),n=[(B[1]-A[1])/L,(A[0]-B[0])/L]
|
||||
const circ=s=>{const r=(L*L/4+s*s)/(2*s);return[M[0]-(r-s)*n[0],M[1]-(r-s)*n[1],r]}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// narwhal swimming along: bobs, flicks its tail, and the white spiral on its long tusk keeps twirling toward the tip
|
||||
const{sin,cos,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const s=sin(T*t),k=sin(T*t-1.4),bl=t>.8&&t<.86
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// phoenix rising: big wingbeats lift it, the flame crest and tail feathers flicker
|
||||
const{sin,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=70,rim=3
|
||||
export const frames=24,delay=70,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const f=sin(T*t)
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// pufferfish: rests, puffs up into a round spiky ball with a surprised look, wobbles, then lets the air out
|
||||
const{sin,cos,PI,abs,hypot}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
const sm=x=>x<0?0:x>1?1:x*x*(3-2*x)
|
||||
export default(c,t)=>{
|
||||
const g=sm((t-.1)/.25)-sm((t-.6)/.25),cx=134,cy=128+4*sin(T*t),rx=56+24*g+2*g*sin(T*t*4),ry=42+38*g,bl=t>.9&&t<.96
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// seahorse standing upright in the current: sways side to side, its dorsal fin flutters, tail curled under, blinks
|
||||
const{sin,cos,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=85,rim=3
|
||||
export const frames=24,delay=85,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const s=sin(T*t),bl=t>.78&&t<.84,f=1+.18*sin(T*t*4)
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// starfish sitting on its two bottom arms, waving hello with its upper right arm, smiling and blinking
|
||||
const{sin,cos,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const cx=128,cy=134+2*sin(T*t*2),bl=t>.7&&t<.76,wv=.5+.5*sin(T*t*2)
|
||||
c.fillStyle='#111'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// swan gliding on still water: the neck sways and the head dips, ripples slide back under it, a blink
|
||||
const{sin,cos,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=90,rim=3
|
||||
export const frames=24,delay=90,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const s=sin(T*t),hx=172+5*s,hy=70+4*cos(T*t),bl=t>.55&&t<.62
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// teapot dragon: the spout is its neck and head, the handle is its arrow-tipped tail; steam puffs from its snout and the lid rattles up
|
||||
const{sin,PI,min}=Math,T=2*PI
|
||||
export const frames=24,delay=85,rim=3
|
||||
export const frames=24,delay=85,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const lh=t>.4&&t<.6?sin(PI*(t-.4)/.2):0,bl=t>.82&&t<.88
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// turtle that carries a little cottage as its shell: it plods in place, the chimney puffs smoke, window and door cut out in white
|
||||
const{sin,PI,max,min}=Math,T=2*PI
|
||||
export const frames=24,delay=90,rim=3
|
||||
export const frames=24,delay=90,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const b=1.5*sin(2*T*t),bl=t>.8&&t<.86
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// will-o-wisp floating: a round flame spirit bobbing and tilting, its flame tips flicker, embers drift up beside it, it blinks
|
||||
const{sin,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const bl=t>.4&&t<.46,Mx=128+6*sin(T*t*2),My=40+4*sin(T*t*3),R=4*sin(T*t*2+1),L=4*sin(T*t*2+2.5)
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// yeti waving hello: shaggy spiky fur all round, one arm waving, a big open smile and a blink
|
||||
const{sin,cos,PI}=Math,T=2*PI
|
||||
export const frames=24,delay=80,rim=3
|
||||
export const frames=24,delay=80,rim=3,invert=true
|
||||
export default(c,t)=>{
|
||||
const bl=t>.6&&t<.66,br=sin(T*t),a=-2.65+.28*sin(T*t*2)
|
||||
c.fillStyle=c.strokeStyle='#111';c.lineWidth=6
|
||||
|
||||
Reference in New Issue
Block a user