three模拟无人机飞行避障算法可视化代码
代码语言:html
所属分类:三维
代码描述:three模拟无人机飞行避障算法可视化代码
代码标签: three 模拟 无人机 飞行 避障 算法 可视化 代码
下面为部分代码预览,完整代码请点击下载或在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>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
overflow: hidden;
background: #000;
}
#canvas-container {
width: 100vw;
height: 100vh;
}
/* 控制面板 */
.control-panel {
position: absolute;
top: 20px;
left: 20px;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 20px;
border-radius: 10px;
min-width: 300px;
max-height: 90vh;
overflow-y: auto;
backdrop-filter: blur(10px);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.control-panel h2 {
margin-bottom: 15px;
color: #00ff88;
font-size: 18px;
border-bottom: 2px solid #00ff88;
padding-bottom: 10px;
}
.control-group {
margin-bottom: 15px;
}
.control-group label {
display: block;
margin-bottom: 5px;
color: #aaa;
font-size: 12px;
}
.control-group input[type="range"] {
width: 100%;
}
.control-group input[type="number"] {
width: 100%;
padding: 5px;
background: rgba(255, 255, 255, 0.1);
border: 1px solid #444;
color: white;
border-radius: 3px;
}
.btn {
width: 100%;
padding: 10px;
margin: 5px 0;
border: none;
border-radius: 5px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s;
}
.btn-primary {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
}
.btn-success {
background: linear-gradient(135deg, #00ff88 0%, #00cc88 100%);
color: black;
}
.btn-danger {
background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);
color: white;
}
.btn-warning {
background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
color: black;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
.info-panel {
position: absolute;
top: 20px;
right: 20px;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 20px;
border-radius: 10px;
min-width: 250px;
backdrop-filter: blur(10px);
}
.info-item {
display: flex;
justify-content: space-between;
margin: 8px 0;
padding: 5px 0;
border-bottom: 1px solid #333;
}
.info-label {
color: #aaa;
}
.info-value {
color: #00ff88;
font-weight: bold;
}
.algorithm-selector {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 5px;
margin: 10px 0;
}
.algorithm-btn {
padding: 8px;
background: rgba(255, 255, 255, 0.1);
border: 2px solid #444;
color: white;
cursor: pointer;
border-radius: 5px;
transition: all 0.3s;
}
.algorithm-btn.active {
background: #00ff88;
color: black;
border-color: #00ff88;
}
.status-indicator {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
margin-right: 5px;
}
.status-indicator.running {
background: #00ff88;
box-shadow: 0 0 10px #00ff88;
}
.status-indicator.stopped {
background: #ff6b6b;
}
.status-indicator.paused {
background: #ffa500;
}
/* 滚动条样式 */
.control-panel::-webkit-scrollbar {
width: 8px;
}
.control-panel::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 10px;
}
.control-panel::-webkit-scrollbar-thumb {
background: #00ff88;
border-radius: 10px;
}
</style>
</head>
<body>
<div id="canvas-container"></div>
<!-- 控制面板 -->
<div class="control-panel">
<h2>🚁 无人机控制中心</h2>
<div class="control-group">
<label>避障算法</label>
<div class="algorithm-selector">
<button class="algorithm-btn active" data-algorithm="apf">人工势场</button>
<button class="algorithm-btn" data-algorithm="rrt">RRT算法</button>
<button class="algorithm-btn" data-algorithm="astar">A*算法</button>
<button class="algorithm-btn" data-algorithm="dwa">DWA算法</button>
</div>
</div>
<div class="control-group">
<label>飞行速度: <span id="speed-value">2</span> m/s</label>
<input type="range" id="speed" min="0.5" max="10" step="0.5" value="2">
</div>
<div class="control-group">
<label>检测范围: <span id="detection-value">50</span> m</label>
<input type="range" id="detection-range" min="20" max="100" step="5" value="50">
</div>
<div class="control-group">
<label>安全距离: <span id="safety-value">10</span> m</label>
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0