x= (xyz[i].x+xyz[i+1].x)/2; y=0.1;//线我是画在地面附近的,所以y默认0.1 z=(xyz[i].z+xyz[i+1].z)/2 再来求柱子线的长度
xw=xyz[i].x-xyz[i+1].x; zh=xyz[i].z-xyz[i+1].z; cheight=Math.sqrt(xw*xw+zh*zh);//圆柱体长度,勾股定理
cylinder.rotation.x -= Math.PI * 0.5;
θ = Math.asin(xw/cheight);//弧度制
scene.remove( lineGroup );
composer = new THREE.EffectComposer( renderer ); var renderPass = new THREE.RenderPass( scene, camera ); composer.addPass( renderPass ); outlinePass = new THREE.OutlinePass( new THREE.Vector2( window.innerWidth, window.innerHeight ), scene, camera ); composer.addPass( outlinePass ); var onLoad = function ( texture ) { outlinePass.patternTexture = texture; texture.wrapS = THREE.RepeatWrapping; texture.wrapT = THREE.RepeatWrapping; }; var loader = new THREE.TextureLoader(); loader.load( 'tri_pattern.jpg', onLoad ); effectFXAA = new THREE.ShaderPass( THREE.FXAAShader ); effectFXAA.uniforms[ 'resolution' ].value.set( 1 / window.innerWidth, 1 / window.innerHeight ); effectFXAA.renderToScreen = true; composer.addPass( effectFXAA );
selectedObjects = []; selectedObjects.push( lineGroup );//给选中的线条和物体加发光特效 selectedObjects.push( intersects[ 0 ].object ); outlinePass.selectedObjects = selectedObjects;