three绘制电路图效果
代码语言:html
所属分类:布局界面
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
html,
body {
padding: 0;
margin: 0;
overflow: hidden;
height: 100vh;
width: 100vw;
background: #1B2B34;
}
</style>
</head>
<body translate="no">
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/three.js"></script>
<script >
console.clear();
const CellNeighbors = {
topLeft: 'topLeft',
top: 'top',
topRight: 'topRight',
left: 'left',
right: 'right',
bottomLeft: 'bottomLeft',
bottom: 'bottom',
bottomRight: 'bottomRight'
};
const rand = (min, max) => min + Math.random() * (max - min);
const notCrossedOver = (node, dir, visited) => {
let a;
let b;
switch (dir) {
case CellNeighbors.topRight:
a = node.getNeighbor(CellNeighbors.left);
b = node.getNeighbor(CellNeighbors.bottom);
break;
case CellNeighbors.bottomRight:
a = node.getNeighbor(CellNeighbors.left);
b = node.getNeighbor(CellNeighbors.top);
break;
case CellNeighbors.topLeft:
a = node.getNeighbor(CellNeighbors.right);
b = node.getNeighbor(CellNeighbors.bottom);
break;
case CellNeighbors.bottomLeft:
a = node.getNeighbor(CellNeighbors.right);
b = node.getNeighbor(CellNeighbors.top);
break;
default:
return true;
}
const aVisited = a && visited[a.index];
const bVisited = b && visited[b.index];
const onSamePath = aVisited && bVisited && visited[a.index] === visited[b.index];
return !onSamePath;
}
class Cell extends THREE.Box2 {
constructor(min, max, index, position = []) {
super(min, max);
this._position = [...(Array.isArray(position) ? position : .........完整代码请登录后点击上方下载按钮下载查看
















网友评论0