p5.js编写一棵递归分形树代码
代码语言:html
所属分类:动画
代码描述:p5.js编写一棵递归分形树代码,树枝角度使用sin(millis())实现动画效果。树技合随着屋级弯银的鱼从棕色。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>动态递归分形树</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.0/p5.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@700;900&family=Noto+Sans+SC:wght@300;400;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
<style>
:root {
--bg: #0d1117;
--fg: #e2e8f0;
--muted: #7b8a9e;
--accent: #d4a04a;
--card: rgba(14, 22, 32, 0.88);
--border: rgba(255, 255, 255, 0.07);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: var(--bg);
color: var(--fg);
font-family: 'Noto Sans SC', sans-serif;
overflow: hidden;
height: 100vh;
width: 100vw;
}
#canvas-container {
position: fixed;
inset: 0;
z-index: 1;
}
#canvas-container canvas { display: block; }
/* 左上角标题 */
.overlay-title {
position: fixed;
top: 28px;
left: 36px;
z-index: 10;
pointer-events: none;
}
.overlay-title h1 {
font-family: 'Cinzel', serif;
font-size: 2.2rem;
font-weight: 900;
color: var(--fg);
letter-spacing: 0.06em;
text-shadow: 0 2px 30px rgba(0,0,0,0.6);
opacity: 0.92;
}
.overlay-title p {
font-size: 0.82rem;
color: var(--muted);
margin-top: 5px;
font-weight: 300;
letter-spacing: 0.04em;
}
/* 控制面板 */
.control-panel {
position: fixed;
top: 50%;
right: 26px;
transform: translateY(-50%);
z-index: 10;
background: var(--card);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border: 1px solid var(--border);
border-radius: 18px;
padding: 22px 22px 18px;
width: 256px;
transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 8px 40px rgba(0,0,0,0.35);
}
.control-panel.collapsed {
width: 48px;
padding: 14px;
border-radius: 14px;
}
.control-panel.collapsed .panel-body { display: none; }
.control-panel.collapsed .panel-header h2 { display: none; }
.panel-header {
display: flex;
align-items: center;
justify-content: space-between;
.........完整代码请登录后点击上方下载按钮下载查看















网友评论0