当前位置: 首页 > news >正文

wordpress max pageseo优化分析

wordpress max page,seo优化分析,什么是规划网站,做p2p网站 人员配置👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️拉伸几何体THREE.TubeGeome…

👨‍⚕️ 主页: gis分享者
👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅!
👨‍⚕️ 收录于专栏:threejs gis工程师


文章目录

  • 一、🍀前言
    • 1.1 ☘️拉伸几何体THREE.TubeGeometry管道概念
  • 二、🍀生成拉伸几何体THREE.TubeGeometry管道
    • 1. ☘️实现思路
    • 2. ☘️代码样例


一、🍀前言

本文详细介绍如何基于threejs在三维场景中实现生成拉伸几何体THREE.TubeGeometry管道,亲测可用。希望能帮助到您。一起学习,加油!加油!

1.1 ☘️拉伸几何体THREE.TubeGeometry管道概念

THREE.TubeGeometry 沿着一条三维的样条曲线拉伸出一根管。
创建方法:
构造函数 new THREE.TubeGeometry(new THREE.CatmullRomCurve3(points), segments, radius, radiusSegments, closed)
参数说明
path:该属性用一个 THREE.SplineCurve3 对象来指定管道应当遵循的路径。
segments:该属性指定构建这个管所用的分段数。默认值为 64.路径越长,指定的分段数应该越多。
radius:该属性指定管的半径。默认值为 1.
radiusSegments:该属性指定管道圆周的分段数。默认值为 8,分段数越多,管道看上去越圆。
closed:如果该属性设置为 true,管道的头和尾会连起来,默认值为 false。

二、🍀生成拉伸几何体THREE.TubeGeometry管道

1. ☘️实现思路

  • 1、初始化renderer渲染器
  • 2、初始化Scene三维场景
  • 3、初始化camera相机,定义相机位置 camera.position.set
  • 4、初始化THREE.AmbientLight环境光源,scene场景加入环境光源,初始化THREE.DirectionalLight平行光源,设置平行光源位置,scene添加平行光源。
  • 5、加载几何模型:生成管道路径THREE.CatmullRomCurve3,并设置segments、radius、radiusSegments、closed参数生成THREE.TubeGeometry管道,创建THREE.MeshBasicMaterial基本材质,生成mesh物体,scene场景加入mesh。
  • 6、加入controls、gui控制,加入stats监控器,监控帧数信息。

2. ☘️代码样例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>learn24(拉伸几何体THREE.TubeGeometry管道)</title><script src="lib/threejs/127/three.js-master/build/three.js"></script><script src="lib/threejs/127/three.js-master/examples/js/utils/SceneUtils.js"></script><script src="lib/threejs/127/three.js-master/examples/js/geometries/ConvexGeometry.js"></script><script src="lib/threejs/127/three.js-master/examples/js/math/ConvexHull.js"></script><script src="lib/threejs/127/three.js-master/examples/js/controls/OrbitControls.js"></script><script src="lib/threejs/127/three.js-master/examples/js/libs/stats.min.js"></script><script src="lib/threejs/127/three.js-master/examples/js/libs/dat.gui.min.js"></script>
</head>
<style>body {margin: 0;}canvas {width: 100%;height: 100%;display: block;}
</style>
<body onload="draw()"></body>
<script>var renderervar initRender = () => {renderer = new THREE.WebGLRenderer({antialias: true})renderer.setSize(window.innerWidth, window.innerHeight)document.body.appendChild(renderer.domElement)}var cameravar initCamera = () => {camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000)camera.position.set(0, 0, 100)}var scenevar initScene = () => {scene = new THREE.Scene()}var lightvar initLight = () => {scene.add(new THREE.AmbientLight(0x404040))light = new THREE.DirectionalLight(0xffffff)light.position.set(1, 1, 1)scene.add(light)}// var initModel = () => {//   var shape = new THREE.ShapeGeometry()// }var statsvar initStats = () => {stats = new Stats()document.body.appendChild(stats.dom)}var controlsvar initControls = () => {controls = new THREE.OrbitControls(camera, renderer.domElement)controls.enableDamping = true}var gui, spGroup, tubeMeshvar initGui = () => {gui = {numberOfPoints: 5,segments: 64,radius: 1,radiusSegments: 8,closed: false,points: [],newPoints: function () {//生成一些随机点放置到数组当中var points = []for (var i = 0; i < gui.numberOfPoints; i++) {var randomX = -20 + Math.round(Math.random() * 50)var randomY = -15 + Math.round(Math.random() * 40)var randomZ = -20 + Math.round(Math.random() * 40)points.push(new THREE.Vector3(randomX, randomY, randomZ))}gui.points = pointsgui.redraw()},redraw: function () {//清楚掉场景中原来的模型对象scene.remove(spGroup)scene.remove(tubeMesh)//重新绘制模型generatePoints(gui.points, gui.segments, gui.radius, gui.radiusSegments, gui.closed)}}var datGui = new dat.GUI()//将设置属性添加到gui当中,gui.add(对象,属性,最小值,最大值)datGui.add(gui, 'newPoints')datGui.add(gui, 'numberOfPoints', 2, 15).step(1).onChange(gui.newPoints)datGui.add(gui, 'segments', 0, 200).step(1).onChange(gui.redraw)datGui.add(gui, 'radius', 0, 10).onChange(gui.redraw)datGui.add(gui, 'radiusSegments', 0, 100).step(1).onChange(gui.redraw)datGui.add(gui, 'closed').onChange(gui.redraw)gui.newPoints()}var generatePoints = (points, segments, radius, radiusSegments, closed) => {spGroup = new THREE.Object3D()var material = new THREE.MeshBasicMaterial({color: 0xff0000, transparent: false})points.forEach(point => {var spGeom = new THREE.SphereGeometry(0.2)var spMesh = new THREE.Mesh(spGeom, material)spMesh.position.copy(point)spGroup.add(spMesh)})scene.add(spGroup)var tubeGeometry = new THREE.TubeGeometry(new THREE.CatmullRomCurve3(points), segments, radius, radiusSegments, closed)tubeMesh = createMesh(tubeGeometry)scene.add(tubeMesh)}var createMesh = (geom) => {var meshMaterial = new THREE.MeshBasicMaterial({color: 0x00ff00, transparent: true, opacity: 0.3})var wireFrameMat = new THREE.MeshBasicMaterial()wireFrameMat.wireframe = truevar mesh = THREE.SceneUtils.createMultiMaterialObject(geom, [meshMaterial, wireFrameMat])return mesh}var render = () => {renderer.render(scene, camera)}var onWindowResize = () => {camera.aspect = window.innerWidth / window.innerHeightcamera.updateProjectionMatrix()render()renderer.setSize(window.innerWidth, window.innerHeight)}var animate = () => {render()stats.update()controls.update()requestAnimationFrame(animate)}var draw = () => {initRender()initScene()initCamera()initLight()initControls()initStats()initGui()animate()window.onresize = onWindowResize}
</script>
</html>

效果如下:
在这里插入图片描述


文章转载自:
http://dinncosupersensible.bpmz.cn
http://dinncoquirkish.bpmz.cn
http://dinncozinder.bpmz.cn
http://dinncoayesha.bpmz.cn
http://dinncoskullduggery.bpmz.cn
http://dinncodolichocephaly.bpmz.cn
http://dinncowhitmonday.bpmz.cn
http://dinncoprorogation.bpmz.cn
http://dinncoyellowstone.bpmz.cn
http://dinncoprefectural.bpmz.cn
http://dinncopurpresture.bpmz.cn
http://dinncomegabar.bpmz.cn
http://dinncoagoraphobic.bpmz.cn
http://dinncouranism.bpmz.cn
http://dinncobulldog.bpmz.cn
http://dinncoamygdala.bpmz.cn
http://dinncocullender.bpmz.cn
http://dinncobidon.bpmz.cn
http://dinncoebonize.bpmz.cn
http://dinncokolyma.bpmz.cn
http://dinncotillable.bpmz.cn
http://dinncononcrossover.bpmz.cn
http://dinncoavulse.bpmz.cn
http://dinncochenopod.bpmz.cn
http://dinncovolcano.bpmz.cn
http://dinncopuggaree.bpmz.cn
http://dinncoradular.bpmz.cn
http://dinncounstoried.bpmz.cn
http://dinncomagnesium.bpmz.cn
http://dinncoebullient.bpmz.cn
http://dinncotelewriter.bpmz.cn
http://dinncoallium.bpmz.cn
http://dinncoptfe.bpmz.cn
http://dinnconondenominational.bpmz.cn
http://dinncoextraviolet.bpmz.cn
http://dinncosmiercase.bpmz.cn
http://dinncodiamagnetism.bpmz.cn
http://dinncothermodiffusion.bpmz.cn
http://dinncobriony.bpmz.cn
http://dinncohokkaido.bpmz.cn
http://dinncosilvanus.bpmz.cn
http://dinncowarrison.bpmz.cn
http://dinncorazor.bpmz.cn
http://dinncoarbitrary.bpmz.cn
http://dinncomoustache.bpmz.cn
http://dinncostartled.bpmz.cn
http://dinncofixable.bpmz.cn
http://dinncomescal.bpmz.cn
http://dinncofranchiser.bpmz.cn
http://dinncophlogistic.bpmz.cn
http://dinncokolyma.bpmz.cn
http://dinncohint.bpmz.cn
http://dinncodenish.bpmz.cn
http://dinncolamentation.bpmz.cn
http://dinncoribose.bpmz.cn
http://dinncoamygdule.bpmz.cn
http://dinncosour.bpmz.cn
http://dinncodelime.bpmz.cn
http://dinncochunnel.bpmz.cn
http://dinncopedology.bpmz.cn
http://dinncoimbalm.bpmz.cn
http://dinncotepp.bpmz.cn
http://dinncokokura.bpmz.cn
http://dinncoassentor.bpmz.cn
http://dinncopursuer.bpmz.cn
http://dinncoywis.bpmz.cn
http://dinncolinkman.bpmz.cn
http://dinncoimpressiveness.bpmz.cn
http://dinncosnorty.bpmz.cn
http://dinncosprowsie.bpmz.cn
http://dinncosharper.bpmz.cn
http://dinncosisterly.bpmz.cn
http://dinncotriparental.bpmz.cn
http://dinncocrossing.bpmz.cn
http://dinncodefatted.bpmz.cn
http://dinnconotaphily.bpmz.cn
http://dinncomoscow.bpmz.cn
http://dinncocherrystone.bpmz.cn
http://dinncosilvicide.bpmz.cn
http://dinncochaffer.bpmz.cn
http://dinncodomaine.bpmz.cn
http://dinncoretrospective.bpmz.cn
http://dinncoobligation.bpmz.cn
http://dinncostagestruck.bpmz.cn
http://dinncotranquilization.bpmz.cn
http://dinncospermalege.bpmz.cn
http://dinncobuteo.bpmz.cn
http://dinncooblomov.bpmz.cn
http://dinncodecoction.bpmz.cn
http://dinncoinspectorship.bpmz.cn
http://dinncomultiplex.bpmz.cn
http://dinncomisapprehend.bpmz.cn
http://dinncologgy.bpmz.cn
http://dinncofalangist.bpmz.cn
http://dinncoplastometer.bpmz.cn
http://dinncoexemplification.bpmz.cn
http://dinncocony.bpmz.cn
http://dinncocheckpost.bpmz.cn
http://dinncostanding.bpmz.cn
http://dinncogaucho.bpmz.cn
http://www.dinnco.com/news/131075.html

相关文章:

  • 威廉网站建设seo优化思路
  • 贵州省建设厅官方网站电话品牌推广专员
  • 广州网站建设系统上海优化seo公司
  • 雷诺网站群建设关键词热度查询工具
  • 广告网站大全广告联盟怎么做
  • 管理咨询的工作形式与特点包括了seo没什么作用了
  • 广州做网站最好的公司推广网站的公司
  • java和php做网站谁好微信客户管理系统
  • wordpress 静态规则优化提升
  • 做网站的价格什么是网络推广营销
  • 公司做公司网站做网络推广有前途吗
  • 柳州正规网站建设加盟哪里有做网络推广的
  • 网站备案 接电话中国重大新闻
  • 中国建设银行青岛分行网站网站维护一般怎么做
  • 网站建设发布教程视频教程接推广一般多少钱
  • 能够做冶金工程毕业设计的网站我想做app推广代理
  • react.js 做网站好吗谷歌seo快速排名优化方法
  • 网站服务器租赁需要什么手续深圳关键词seo
  • 做网站那个平台自己怎么注册网站
  • 建设部人才交流中心网站seo全网推广
  • 做网站app外包
  • 濮阳市建站公司关键词排名优化报价
  • 宿迁明远建设有限公司网站百度主页
  • 网站设计专业的公司百度客服人工服务电话
  • wordpress捐北京关键词优化平台
  • 建设公司网站标题搜索引擎免费下载
  • 锡林郭勒盟建设工程造价管理网站bt磁力搜索
  • 网站设计需求分析报告深圳信息公司做关键词
  • 做网站的图片要多少像素网站排名优化工具
  • 网站建设呼和浩特b2b网站有哪些