p5实现宇宙星体行星运行动画效果代码
代码语言:html
所属分类:动画
代码描述:p5实现宇宙星体行星运行动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
* { margin:0; padding:0; }
html, body { width:100%; height:100%; overflow: hidden; background:black;}
canvas { display:block; }
</style>
</head>
<body translate="no">
<div id="controls"></div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/p5-1.9.0.js"></script>
<script >
let numArcs = 2000;
let zoomScale = 3;
function setup (){
createCanvas();
colorMode(HSB, 1, 1, 1);
windowResized();
}
let spaceObject = ({col, hue, len, angle, radius, speed, target, isPlanet=false}) =>
({col, hue, len, angle, radius, speed, target, isPlanet});
let rInt = (b, a=0) => floor(random(min(a, b), max(a, b)));
let init = () => {
window.arcs = [];
window.planets = [];
window.stars = [];
window.numCircles = rInt(70, 120);
window.radius = min(width, height)*.45;
window.arcSize = radius/numCircles;
window.center = {x:0, y:0, radius, len:radius/2};
window.baseHue = random();
window.hueRange = random(.2, .7)*(random() < .5 ? -1 : 1);
window.colorMap = (amt, hueShift=0) => [(baseHue+amt*hueRange+hueShift)%1, amt, 1-amt];
let variance = random(.05, .4);
for (let i = 0; i < numArcs; i++){
let radius = rInt(numCircles);
let amt = radius/numCircles + random(-variance, variance);
amt = constrain.........完整代码请登录后点击上方下载按钮下载查看
网友评论0