SVG Animation Examples Gallery

Browse featured svg animation examples

Playback pauses when you leave
import React, { useEffect, useRef } from 'react'; const RedBlueWarfare = () => { const canvasRef = useRef(null); const containerRef = useRef(null); // 使用 Ref 存储动画状态,避免 React 渲染循环 const gameState = useRef({ frame: 0, width: 0, height: 0, redNodes: [], blueNodes: [], centerNode: { x: 0, y: 0, health: 100, maxHealth: 100, shield: 100 }, packets: [], // 传输的数据包/攻击 particles: [], // 爆炸碎片 logs: [], // 滚动日志 scanLineY: 0 }); useEffect(() => { c

生成一个红蓝对抗网络攻防的图片

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1200; const VIEW_HEIGHT = 700; const BG_COLOR = "#0f172a"; const PRIMARY_COLOR = "#38bdf8"; // sky-400 const ACCENT_COLOR = "#f472b6"; // pink-400 const SUCCESS_COLOR = "#4ade80"; // green-400 const GRID_COLOR = "#1e293b"; // 模拟神经网络结构 const LAYERS = [4, 6, 6, 3]; // Input, Hidden 1, Hidden 2, Output export const ModelTrainingView = () => { // 状态管理 const [phase, setPhase] = useState<'IDLE

生成一个训练模型完整的步骤

Playback pauses when you leave
import React, { useState, useEffect, useMemo } from 'react'; const ModelExplainer = () => { const [phase, setPhase] = useState(0); const [timer, setTimer] = useState(0); // Phases: // 0: Transformer (Base) // 1: BERT (Encoder-only) // 2: T5 (Encoder-Decoder Unified) // 3: ChatGPT/GPT (Decoder-only) // 4: Summary/Comparison const PHASE_DURATION = 8000; // ms per phase const TOTAL_PHASES = 5; useEffect(() => { const interval = setInterval(() => { setTimer(t =>

帮我讲解trafermer、bert、t5、ChatGPT模

Playback pauses when you leave
'use client'; import React, { useState, useEffect } from 'react'; const CSharpStringImmutability = () => { const [step, setStep] = useState(0); const [cycle, setCycle] = useState(0); // Animation constants const TIMINGS = { INIT: 800, LINE1_HIGHLIGHT: 800, LINE1_ALLOC: 1500, LINE2_HIGHLIGHT: 1000, LINE2_CALC: 1000, LINE2_ALLOC: 1500, LINE2_REPOINT: 1200, LINE3_HIGHLIGHT: 1000, LINE3_CALC: 1000, LINE3_ALLOC: 1500, LINE3_REPOINT: 1200, GC_

用動畫說明C# String 的不變性

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; // --------------------------------------------------------- // Constants & Config // --------------------------------------------------------- const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; const TOTAL_PACKETS = 20; const WINDOW_SIZE = 5; const PACKET_SIZE = 40; const GAP = 15; const SENDER_Y = 150; const RECEIVER_Y = 450; const TRAVEL_TIME = 1500; // ms for one way travel // Colors const COLORS = { bg: '

网络协议中的滑动窗口机制

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; // Coordinate Definitions const POSITIONS = { CLIENT: { x: 100, y: 500, label: '用户 (Client)' }, RESOLVER: { x: 400, y: 350, label: '递归解析器 (Local DNS)' }, ROOT: { x: 500, y: 100, label: '根域名服务器 (Root .)' }, TLD: { x: 750, y: 180, label: '顶级域名服务器 (TLD .com)' }, AUTH: { x: 850, y: 400, label: '权威域名服务器 (Auth example.com)' }, }; const COLORS = { bg: '#0f

域名解析的过程

Sponsored

Ads
Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; // 辅助函数:生成随机数据 const randomHex = () => Math.floor(Math.random() * 16).toString(16).toUpperCase(); const generateSectorData = (length = 8) => Array.from({ length }, () => randomHex()).join(''); export default function HardDriveAnimation() { // 动画状态 const [armAngle, setArmAngle] = useState(20); // 读写臂角度 const [dataParticles, setDataParticles] = useState<any

机械硬盘读取数据

Playback pauses when you leave
'use client'; import React, { useState, useEffect, useRef } from 'react'; export default function PhpTransportAnimation() { const VIEW_WIDTH = 800; const VIEW_HEIGHT = 400; // Animation States: 'IDLE', 'PREPARE_GET', 'SEND_GET', 'PROCESS_GET', 'PREPARE_POST', 'SEND_POST', 'PROCESS_POST' const [phase, setPhase] = useState('IDLE'); const [progress, setProgress] = useState(0); // 0 to 1 for movement const requestRef = useRef<number>(); const startTimeRef = useRef<number>();

php 中 post get 怎麼傳輸

Playback pauses when you leave
```javascript 'use client'; import React, { useState, useEffect, useRef, useMemo } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; // ---------------------------------------------------------------------- // CONSTANTS & DATA // ---------------------------------------------------------------------- const STAGES = [ { id: 'intel', title: '情报收集', sub: 'Reconnaissance', icon: 'TARGET' }, { id: 'analysis', title: '攻击面分析', sub: 'Attack Surface', icon: 'SEARCH' }, { id: 'acces

渗透测试或红队攻击一般遵循“情报收集 → 攻击面分析 → 初

Playback pauses when you leave
```javascript 'use client'; import React, { useState, useEffect, useRef } from 'react'; const VIEW_WIDTH = 1000; const VIEW_HEIGHT = 600; // Utility to format address to Hex string (e.g., 0x1000) const toHex = (num) => `0x${num.toString(16).toUpperCase()}`; export default function CPointerAnimation() { // --- State Management --- // Memory Array: Addresses and Values const [memoryBlock, setMemoryBlock] = useState([ { address: 0x1000, value: 10, highlight: false }, { address: 0x

**Create a professional, educa

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; // Colors const BG_COLOR = "#0f172a"; const UNITY_COLOR = "#ffffff"; // Unity White/Grey const UNITY_ACCENT = "#22d3ee"; // Cyan for tech feel const UNREAL_COLOR = "#ffffff"; // Unreal White const UNREAL_ACCENT = "#f472b6"; // Pink/Purple for contrast (or Blue) -> Let's use Unreal Blue #3b82f6 c

生成unity和Unreal Engine的比較動畫