SVG Animation Examples Gallery

Browse featured svg animation examples

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; // 视图常量 const VIEW_WIDTH = 1200; const VIEW_HEIGHT = 700; const CENTER_X = VIEW_WIDTH / 2; const CENTER_Y = VIEW_HEIGHT / 2; // 物理模拟参数 const ORBIT_TILT = 0.3; // 轨道倾斜度 (0-1), 越小越扁 const TIME_SPEED = 0.5; // 全局时间流速 const TRAIL_LENGTH = 30; // 轨迹长度(段数) // 行星数据配置 // 增加 rotationSpeed (自转速度), textureType (纹理类型) const PLANETS_DATA = [ { name: '水星', en: 'MERCURY', r: 80, size: 5, speed: 2.0, rotationSpeed: 2.0, col

太阳系运动动画。立体。包含运动轨迹。 增加行星的自转。

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; const CENTER_X = VIEW_WIDTH / 2; const CENTER_Y = VIEW_HEIGHT / 2; // 粒子数量 const PARTICLE_COUNT = 150; // 向量场网格密度 const GRID_COLS = 20; const GRID_ROWS = 12; // 辅助函数:生成高斯分布噪声 const randomNormal = (mean: number, std: number) => { let u = 0, v = 0; while (u === 0) u = Math.random(); while (v === 0) v = Math.random(); return mean + std * Math.sqrt(-2.0 * M

flow matching 原理的动画

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useMemo, useRef } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; const PADDING = 60; const DRAW_AREA_W = VIEW_WIDTH - PADDING * 2; const DRAW_AREA_H = VIEW_HEIGHT - PADDING * 2; // 蒙德里安配色方案 (调整为更具科技感的色调) const COLORS = [ '#f8fafc', // White/Light Grey (Dominant) '#f8fafc', '#f8fafc', '#ef4444', // Tech Red '#3b82f6', // Tech Blue '#eab308', // Tech Yellow '#1e293b', // Dark Grey block ]; // 递归分割算法生成格子 type Blo

我想创造蒙德里安的方格画的随机动态图

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; // 常量定义 const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; const FPS = 60; const PLAYER_SPEED = 4; const LASER_SPEED = 12; const ENEMY_SPEED = 2.5; const SPAWN_RATE = 0.02; // 颜色定义 const COLORS = { bg: '#0f172a', player: '#38bdf8', // 天蓝 playerLaser: '#ef4444', // 义军红色激光 enemy: '#94a3b8', // 帝国灰 enemyLaser: '#22c55e', // 帝国绿色激光 star: '#ffffff', hud: '#0ea5e9', explosion: '#fbbf24', }; // 类型定义 ty

Generate a Star Wars game animation

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 500; const TEXT = "SVGANIMATE"; const BG_COLOR = "#0f172a"; // Slate 900 const MARVEL_RED = "#ec1d24"; // Official Marvel Red const ACCENT_CYAN = "#06b6d4"; // Cyan for tech feel // ----------------------- // 数据生成工具:模拟科技/漫画分镜 // ----------------------- const generateTechPanels = (count: number) => { return Array.from({ length: count }).map((_, i) => { // 每个分镜包含

生成一个类似漫威电影片头翻书的动画,最后出来文字:SVGAN

Playback pauses when you leave
```javascript 'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; const BG_COLOR = "#0f172a"; // ---------------------------------------------------------------------- // 辅助函数与常量 // ---------------------------------------------------------------------- // 试剂清单 const REAGENTS = [ { name: "ddH2O", vol: "12.5μl", color: "#38bdf8" }, { name: "10*PCR Buffer", vol: "2.5μl", color: "#818cf8" }, { name: "dNTP (2.5

PCR 扩增PTC基因片段:按反应体系ddH2O 12.5μ

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; // 颜色定义 const COLORS = { bg: '#0f172a', primary: '#3b82f6', // 蓝色 success: '#10b981', // 绿色 danger: '#ef4444', // 红色 warning: '#f59e0b', // 橙色 text: '#e2e8f0', grid: '#1e293b', dim: '#475569' }; // 阶段定义 const STAGES = [ { id: 0, title: '正常运行 & 本地备份', sub: 'Normal Operation & Local Backup', desc: '数据实时写入本地存储,业务正常访问' }, { id: 1, title: '异地数据同步', sub:

数据备份和容灾基本概念、分类及原理动画

Sponsored

Ads
Playback pauses when you leave
```jsx 'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; // --- 常量定义 --- const VIEW_WIDTH = 1200; const VIEW_HEIGHT = 600; const COLOR_BG = '#0f172a'; // 深色背景 (Slate 900) const COLOR_CYAN = '#06b6d4'; // 科技蓝 (Cyan 500) const COLOR_MAGENTA = '#d946ef'; // 霓虹紫 (Fuchsia 500) const COLOR_GRID = '#1e293b'; // 网格色 (Slate 800) // --- 辅助 Hook: 动画循环 --- const useAnimationFrame = (callback) => { const requestRef = useRef(); const previousTimeRef = useRef(); const

在一个深色渐变背景上,设计一个极简风格的小人奔跑动画。小人由

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1200; const VIEW_HEIGHT = 600; const COLOR_BG = '#0f172a'; const COLOR_ACCENT = '#38bdf8'; // Sky blue / Cyan const COLOR_ACCENT_2 = '#c084fc'; // Purple const COLOR_GRID = '#1e293b'; // Helper for animation loop const useAnimationFrame = (callback) => { const requestRef = useRef(); const previousTimeRef = useRef(); const animate = time => { if (previousTimeRef.current != undefined

在一个深色渐变背景上,设计一个极简风格的小人奔跑动画。小人由

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useMemo, useRef } from 'react'; export const OnlineLearningAnimation = () => { const VIEW_WIDTH = 800; const VIEW_HEIGHT = 450; const CENTER_X = VIEW_WIDTH / 2; const CENTER_Y = VIEW_HEIGHT / 2; // 动画状态管理 const [phase, setPhase] = useState(0); // 0: Connecting (连接中) // 1: Teacher Speaking (外教提问) // 2: Student Thinking/Speaking (学员回答) // 3: Correction/Optimization (纠正/优化) // 4: Success/Score (完成) const [waveOffset, se

线上学习外教口语的动画

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; const BACKGROUND_COLOR = '#0f172a'; // ----------------------------------------------------------------------------- // Constants & Configuration // ----------------------------------------------------------------------------- const COLORS = { thesis: '#06b6d4', // Cyan (Thesis) antithesis: '#f43f5e', // Rose (Antithesis) synthesis: '#8b5cf6', //

绘制事物发展过程中,矛盾运动的动态示意图。