SVG动画案例库
浏览精选的SVG动画案例
移开即停止播放
'use client';
import React, { useState, useEffect, useMemo } from 'react';
const VIEW_WIDTH = 1000;
const VIEW_HEIGHT = 600;
// 硬件位置定义
const POS = {
SSD: { x: 150, y: 450, w: 160, h: 80 },
RAM: { x: 500, y: 300, w: 180, h: 60 },
CPU: { x: 250, y: 100, w: 140, h: 140 },
GPU: { x: 750, y: 100, w: 200, h: 100 },
};
// 动画阶段定义
type Phase = 'IDLE' | 'SSD_READ' | 'SSD_TO_RAM' | 'RAM_PROCESS' | 'RAM_DISTRIBUTE' | 'PROCESSING' | 'COMPLETE';
export default function HardwareSystemAnimation() {
制作一个演示计算机硬件(CPU、GPU、内存、硬盘)协同工作
移开即停止播放
'use client';
import React, { useState, useEffect, useRef, useMemo } from 'react';
// ==========================================
// 常量与配置
// ==========================================
const VIEW_WIDTH = 1200;
const VIEW_HEIGHT = 600;
const BG_COLOR = '#7b92c6';
const DISK_COLORS = ['#FF6B6B', '#FFD93D', '#6BCB77', '#4D96FF', '#9D4EDD'];
const DISK_COUNT = 4; // 碟子数量
const ANIMATION_SPEED = 1.5; // 速度系数
// 贝塞尔缓动函数
const easeInOutCubic = (t: number) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2
作一個和河內塔遞回解析的動畫
移开即停止播放
```tsx
'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 RADIUS = 200;
const BG_COLOR = "#0f172a";
// 辅助函数:计算正n边形的顶点坐标
const getPolygonPoints = (n: number, r: number, rotationOffset = -Math.PI / 2) => {
const points = [];
for (let i = 0; i < n; i++) {
const theta = (i / n) * 2 * Math.PI + rotationOffset;
points.push({
x:
割圆术如何计算圆周长
移开即停止播放
import React, { useState, useEffect, useMemo } from 'react';
const VIEW_WIDTH = 1000;
const VIEW_HEIGHT = 600;
const CAR_WIDTH = 220;
const CAR_LENGTH = 440;
export default function AutoSafetyResponse() {
const [phase, setPhase] = useState(0);
// 0: Cruising (L3 Scanning)
// 1: Impact Detected (Red Alert)
// 2: Hazards On (Blinking)
// 3: Unlock Doors
// 4: Open Windows
const [logs, setLogs] = useState<string[]>([]);
useEffect(() => {
let timeouts: NodeJS.Timeout[] = [
L3自动驾驶过程中发生事故,车辆能双闪预警、自动解锁车门、打
移开即停止播放
```javascript
'use client';
import React, { useState, useEffect, useRef } from 'react';
const VIEW_WIDTH = 800;
const VIEW_HEIGHT = 450;
const BG_COLOR = "#0f172a";
const PRIMARY_COLOR = "#38bdf8"; // Sky 400
const ACCENT_COLOR = "#f472b6"; // Pink 400
const SUCCESS_COLOR = "#4ade80"; // Green 400
const WARNING_COLOR = "#fbbf24"; // Amber 400
const DANGER_COLOR = "#f87171"; // Red 400
// 动画阶段定义
const PHASES = {
IDLE: 0,
SAMPLING: 1, // 取样
RINSING: 2, // 漂洗
LYSIS_ADD: 3,
口腔上皮细胞总DNA的提取操作流程:取样:受试者用无菌牙签轻
移开即停止播放
'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
移开即停止播放
```javascript
'use client';
import React, { useState, useEffect, useRef, useMemo } from 'react';
const VIEW_WIDTH = 1000;
const VIEW_HEIGHT = 600;
// 颜色定义
const COLORS = {
bg: '#0f172a',
crust: '#38bdf8', // 天蓝
mantle: '#f59e0b', // 琥珀
core: '#ef4444', // 红色
text: '#e2e8f0',
grid: '#1e293b',
accent: '#22d3ee'
};
// 随机数辅助
const random = (min, max) => Math.random() * (max - min) + min;
export default function EarthStructureSeismicView() {
// 动画状态
const [time, setTime] = us
地球内部可分为地壳、地幔、地核三个圈层。据统计,90%以上的
移开即停止播放
```jsx
'use client';
import React, { useState, useEffect, useRef, useMemo } from 'react';
const VIEW_WIDTH = 1000;
const VIEW_HEIGHT = 600;
const PADDING = 60;
const GRAPH_HEIGHT = VIEW_HEIGHT - PADDING * 2;
const GRAPH_WIDTH = VIEW_WIDTH - PADDING * 2;
// 辅助函数:生成高斯随机数
const randomNormal = (mean = 0, dev = 1) => {
let u = 0, v = 0;
while(u === 0) u = Math.random();
while(v === 0) v = Math.random();
return mean + dev * Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v );
男性高潮的階段圖
广告
Ads移开即停止播放
'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
移开即停止播放
'use client';
import React, { useState, useEffect, useRef, useMemo } from 'react';
const VIEW_WIDTH = 1000;
const VIEW_HEIGHT = 600;
const BACKGROUND_COLOR = '#0f172a';
const PRIMARY_COLOR = '#38bdf8'; // Cyan
const ACCENT_COLOR = '#f472b6'; // Pink
const TEXT_COLOR = '#e2e8f0';
// Gear configurations (Teeth count)
// Front is usually fixed in simple explanations, Rear changes.
const FRONT_TEETH = 44;
const REAR_GEARS = [
{ teeth: 32, label: '1挡 (爬坡)', type: 'Torque' },
{ teeth: 24, label
生成变速自行车的变速原理图
移开即停止播放
```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