红果果
红果果
 `*{margin:0;padding:0}html{height:100%}body{height:100%;overflow:hidden}canvas{position:absolute}The wriggle sphereTHREE.TrackballControls=function(object,domElement){var _this=this;var STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4};this.object=object;this.domElement=(domElement!==undefined)?domElement:document;this.enabled=true;this.screen={left:0,top:0,width:0,height:0};this.rotateSpeed=1.0;this.zoomSpeed=1.2;this.panSpeed=0.3;this.noRotate=false;this.noZoom=false;this.noPan=false;this.staticMoving=false;this.dynamicDampingFactor=0.2;this.minDistance=0;this.maxDistance=Infinity;this.keys=[65,83,68];this.target=new THREE.Vector3();var EPS=0.000001;var lastPosition=new THREE.Vector3();var _state=STATE.NONE,_prevState=STATE.NONE,_eye=new THREE.Vector3(),_movePrev=new THREE.Vector2(),_moveCurr=new THREE.Vector2(),_lastAxis=new THREE.Vector3(),_lastAngle=0,_zoomStart=new THREE.Vector2(),_zoomEnd=new THREE.Vector2(),_touchZoomDistanceStart=0,_touchZoomDistanceEnd=0,_panStart=new THREE.Vector2(),_panEnd=new THREE.Vector2();this.target0=this.target.clone();this.position0=this.object.position.clone();this.up0=this.object.up.clone();var changeEvent={type:'change'};var startEvent={type:'start'};var endEvent={type:'end'};this.handleResize=function(){if(this.domElement===document){this.screen.left=0;this.screen.top=0;this.screen.width=window.innerWidth;this.screen.height=window.innerHeight}else{var box=this.domElement.getBoundingClientRect();var d=this.domElement.ownerDocument.documentElement;this.screen.left=box.left+window.pageXOffset-d.clientLeft;this.screen.top=box.top+window.pageYOffset-d.clientTop;this.screen.width=box.width;this.screen.height=box.height}};this.handleEvent=function(event){if(typeof this[event.type]=='function'){this[event.type](event)}};var getMouseOnScreen=(function(){var vector=new THREE.Vector2();return function(pageX,pageY){vector.set((pageX-_this.screen.left)/_this.screen.width,(pageY-_this.screen.top)/_this.screen.height);return vector}}());var...
 `code1canvas { position: absolute; top: 0; left: 0; }.codrops-demos { font-size: 0.8em; text-align:center; position:absolute; z-index:99; width:96%;}.codrops-demos a { display: inline-block; margin: 0.35em 0.1em; padding: 0.5em 1.2em; outline: none; text-decoration:...
 ` code5body { background: #060e1b; overflow: hidden;}canvas { //opacity: 0.5;}.codrops-demos { font-size: 0.8em; text-align:center; position:absolute; z-index:99; width:96%;}.codrops-demos a { display: inline-block; margin: 0.35em 0.1em; padding: 0.5em 1.2em; outline: none;...