SVG Animation Examples Gallery
Browse featured svg animation examples
Playback pauses when you leave
```javascript
'use client';
import React, { useState, useEffect, useMemo, useRef } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import * as Lucide from 'lucide-react';
export default function DataOverwriteAnimation() {
const WIDTH = 1200;
const HEIGHT = 700;
// Animation Phases:
// 0: Initial State (Full Disk)
// 1: Deletion (Marked as Free)
// 2: Insight (Data is still there)
// 3: Writing (Overwriting process)
// 4: Final (Data Lost)
const [phase
依据下面的原理生成一个MG动画,原理是:电脑删除文件后数据仍
Playback pauses when you leave
```tsx
'use client';
import React, { useState, useEffect, useMemo, useRef } from 'react';
// --- Configuration & Constants ---
const VIEW_WIDTH = 1200;
const VIEW_HEIGHT = 700;
const GRID_SIZE = 400; // Size of the central demonstration area
const CELL_COUNT = 4; // 4x4 squares (5x5 intersection points)
const CELL_SIZE = GRID_SIZE / CELL_COUNT;
const OFFSET_X = (VIEW_WIDTH - GRID_SIZE) / 2;
const OFFSET_Y = (VIEW_HEIGHT - GRID_SIZE) / 2;
const COLORS = {
bg: '#0f172a', // Slate 900
创建一个讲解围棋基本规则的动画
Playback pauses when you leave
import React, { useState, useEffect, useRef, useMemo } from 'react';
import { Shield, AlertTriangle, Activity, Server, Zap, Target } from 'lucide-react';
const WIDTH = 1200;
const HEIGHT = 700;
const CENTER_X = WIDTH / 2;
const CENTER_Y = HEIGHT / 2 + 50;
// 颜色定义
const THEMES = [
{ color: '#ef4444', name: '红区 (Alpha)', label: '核心数据库' }, // Red
{ color: '#3b82f6', name: '蓝区 (Beta)', label: '云端服务' }, // Blue
{ color: '#22c55e', name: '绿区 (Gamma)', label: '监控中心' }, // Green
{ color: '#
画一个网络阵地攻防的3D演示视屏,要求如下: 1. 存在6个
Playback pauses when you leave
```javascript
import React, { useState, useEffect, useRef, useMemo } from 'react';
// ==========================================
// CONFIGURATION & CONSTANTS
// ==========================================
const WIDTH = 1200;
const HEIGHT = 700;
const BACKGROUND_COLOR = '#0f172a';
const FPS = 60;
// Base configuration: 6 bases in a ring
const BASE_COLORS = [
'#ef4444', // Red
'#3b82f6', // Blue
'#10b981', // Green
'#f59e0b', // Orange
'#8b5cf6', // Purple
'#06b6d4', // Cyan
];
const
生成一个网络阵地攻防的3D大屏展示界面,要求如下: 1. 界
Playback pauses when you leave
import React, { useState, useEffect, useRef, useMemo } from 'react';
import { Activity, Dna, Lock, Zap, XCircle, Fingerprint } from 'lucide-react';
// ==========================================
// CONFIGURATION & CONSTANTS
// ==========================================
const VIEW_WIDTH = 1200;
const VIEW_HEIGHT = 600;
const FPS = 60;
const TOTAL_DURATION = 32; // seconds
// Colors
const COLORS = {
bg: '#0f172a',
initial: '#4ade80', // Light Green
desertBg: '#451a03', // Dark Orange/Brown
初始画面展示一群统一色调(如浅绿色)、形态柔和的圆形生物在平
Playback pauses when you leave
```javascript
'use client';
import React, { useState, useEffect, useRef, useMemo } from 'react';
// ----------------------------------------------------------------------
// CONFIGURATION & CONSTANTS
// ----------------------------------------------------------------------
const WIDTH = 1080;
const HEIGHT = 1920;
const SCENE_DURATION = 6000; // ms per scene
const TOTAL_SCENES = 6;
const FADE_DURATION = 800; // ms
// Colors
const COLORS = {
bgStart: '#07121A',
bgEnd: '#050A10',
cyan: '#0
生成横屏 SVG 动画,主题《一目均衡表:结构识别而非预测》
Playback pauses when you leave
'use client';
import React, { useState, useEffect, useRef, useMemo } from 'react';
const VIEW_WIDTH = 1000;
const VIEW_HEIGHT = 600;
const BG_COLOR = "#0f172a";
// -----------------------------------------------------------------------------
// Helpers & Math
// -----------------------------------------------------------------------------
const randomRange = (min, max) => Math.random() * (max - min) + min;
// Cubic Bezier point calculation
const getBezierPoint = (t, p0, p1, p2, p3) => {
c
1. 画面背景采用极具科技感的深邃靛蓝色调,SoC内部组件以
Sponsored
AdsPlayback pauses when you leave
'use client';
import React, { useState, useEffect, useMemo, useRef } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import * as Lucide from 'lucide-react';
import * as d3 from 'd3';
export const LiBaiJourneyMap = () => {
const [geoData, setGeoData] = useState(null);
const [loading, setLoading] = useState(true);
const [currentIndex, setCurrentIndex] = useState(0);
const [isPlaying, setIsPlaying] = useState(false);
const [progress, setProgress] = useState(0); //
做一个李白一生的轨迹地图动画,重要节点需要进行文字标注
Playback pauses when you leave
```javascript
'use client';
import React, { useState, useEffect, useMemo, useRef, useCallback, useLayoutEffect } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import * as Lucide from 'lucide-react';
import * as d3 from 'd3';
// -----------------------------------------------------------------------------
// Constants & Data
// -----------------------------------------------------------------------------
const TAIPING_PATH = [
{ name: "金田村", year: 1851, type: "uprisin
绘制一个太平天国运动轨迹动画,把最开始一幕金田村补上,其他不
Playback pauses when you leave
import React, { useState, useEffect, useRef, useMemo } from 'react';
const WIDTH = 1200;
const HEIGHT = 600;
const BG_COLOR = "#0f172a";
// 颜色定义
const COLORS = {
brain: "rgba(56, 189, 248, 0.3)",
brainHighlight: "rgba(56, 189, 248, 0.8)",
dopamineNormal: "#38bdf8", // 淡蓝
dopamineHigh: "#fbbf24", // 金色
drug: "#a855f7", // 紫色
drugToxic: "#22c55e", // 毒性绿
receptor: "#94a3b8",
receptorActive: "#cbd5e1",
damaged: "#475569",
};
// 粒子类定义
class Particle {
construc
主体背景设定为半透明、具有科技感的深蓝色人体大脑剖面,重点高
Playback pauses when you leave
'use client';
import React, { useMemo } from 'react';
import { motion } from 'framer-motion';
import { Cpu, Zap, Aperture, Wifi, ScanFace, Globe } from 'lucide-react';
export default function IPhone20Reveal() {
// 生成背景粒子,只计算一次
const particles = useMemo(() => {
return Array.from({ length: 20 }).map((_, i) => ({
x: Math.random() * 100,
y: Math.random() * 100,
size: Math.random() * 3 + 1,
duration: Math.random() * 3 + 2,
delay: Math.random() * 2,
}));
},