three实现可交互三维毕达哥拉斯树(Pythagoras Tree)效果代码

代码语言:html

所属分类:三维

代码描述:three实现可交互三维毕达哥拉斯树(Pythagoras Tree)效果代码,毕达哥拉斯树(Pythagoras Tree)是一种分形图形,由荷兰数学家Albert E. Bosman于1942年创造。这个图形是基于毕达哥拉斯定理(即直角三角形中,斜边的平方等于两直角边的平方和)的几何构造。 毕达哥拉斯树的基本构造步骤如下: 从一个正方形开始,这个正方形被称为“树干”。 在正方形的上方,构造一个直角三角形,使得正方形的顶边是直角三角形的一条直角边。 在直角三角形的两条直角边上分别构造两个新的正方

代码标签: three 交互 三维 毕达哥拉斯树 Pythagoras Tree

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">
 


 
 
<style>
@import url("https://fonts.googleapis.com/css2?family=Space+Mono&display=swap");

body
,
html
{
       
margin: 0;
       
overflow: hidden;
       
font-family: "Space Mono", monospace;
}
canvas
{
       
display: block;
}
#panel {
       
position: absolute;
       
width: 250px;
       
top: 10px;
       
left: 10px;
       
background-color: rgba(0, 0, 0, 0.5);
       
color: white;
       
padding: 10px;
       
border-radius: 5px;
       
font-family: Arial, sans-serif;
       
font-size: 14px;
       
box-sizing: border-box;
       
overflow-y: auto;
}

#panel-toggle {
       
cursor: pointer;
       
padding: 5px;
}

.slider {
       
width: 230px;
}

.color-picker {
       
width: 50px;
       
height: 25px;
       
border: none;
       
outline: none;
       
cursor: pointer;
}

button
{
       
background-color: #4caf50;
       
border: none;
       
color: white;
       
padding: 10px 15px;
       
text-align: center;
       
text-decoration: none;
       
display: inline-block;
       
font-size: 14px;
       
margin: 10px 0;
       
cursor: pointer;
       
border-radius: 3px;
       
font-family: "Space Mono", monospace;
       
width: 100%;
}

.slider-value {
       
float: right;
       
width: 30px;
       
text-align: right;
}
</style>


 
 
</head>

<body translate="no">
 
<div id="panel">
       
<span id="panel-toggle"></span>
       
<div id="panel-content">
               
<br />
               
<label for="recursion">Recursion Depth: <span class="slider-value" id="recursionValue">6</span></label>
               
<div><input type="range" id="recursion" min="2" max="12" value="6" class="slider" oninput="updateRecursion(this.value)"></div>
               
<label for="zoom">Zoom: <span class="slider-value" id="zoomValue">30</span></label>
               
<div><input type="range" id="zoom" min="10" max="100" value="30" class="slider" oninput="updateZoom(this.value)"></div>
               
<label for="rotation">Rotation: <span class="slider-value" id="rotationValue">0</span></label>
               
<div><input type="range" id="rotation" min="0" max="360" value="0" class="slider" oninput="updateRotation(this.value)"></div>
               
<br>
               
<div>Color:
                        <input type="color" id="colorPick.........完整代码请登录后点击上方下载按钮下载查看

网友评论0