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

阿里云服务器wordpress建站教程表格制作软件app

阿里云服务器wordpress建站教程,表格制作软件app,百度一下网址大全,网站建设合同路径 引用百度百科的解释#xff1a; 路径通常指存在于多种计算机图形设计软件中的以贝塞尔曲线为理论基础的区域绘制方式。路径在Canvas、SVG上都有相关定义#xff0c;一般用来创建形状。在threejs中#xff0c;也可以用来创建形状#xff0c;除此之外#xff0c;还可…路径 引用百度百科的解释 路径通常指存在于多种计算机图形设计软件中的以贝塞尔曲线为理论基础的区域绘制方式。路径在Canvas、SVG上都有相关定义一般用来创建形状。在threejs中也可以用来创建形状除此之外还可以用作物体运动的轨迹。下面就说说这两种用法。 在threejs中Path类代表路径Path继承自CurvePath曲线路径CurvePath继承自Curve曲线。CurvePath和Curve都是抽象类在threejs文档中指出CurvePath用来连接多条曲线也就是Curve其实质上就是一个Curve数组。其实直接用Path类就可以了对于CurvePath和Curve无需关心。 另外还有一个ShapePath类这个类可以将形状转成一系列路径来表示比如将svg绘制的图形转成threejs的路径。 使用路径创建形状 关于使用路径创建形状可以参考【创建平面几何形状一文】其中的Shape类就是Path类的子类这里不多说。 使用路径作为物体运动轨迹 如果我们想要物体沿着某一条曲线运动有两种办法 1、算出曲线的公式动态的计算出物体当前时刻的位置 2、创建一条代表该曲线的路径然后动态的在该曲线上取点将其位置赋给物体 一般路径类会提供多种创建路径的方法所以第2种方式通常比较好用。 下面就使用threejs提供的Path类创建一条移动轨迹然后把相机在这条轨迹上移动。开始的开始先创建一条路径如下 path new THREE.Path();path.bezierCurveTo(10,100,20,-30,30,19);path.bezierCurveTo(40,-5,50,150,60,-39);path.closePath();接着在render循环中动态的从路径中取点设置成相机的位置 var progress 0; function render(){requestAnimationFrame(render);progress 0.003;let point path.getPointAt(progress);if(point){camera.position.set(point.x,point.y,300);}else{progress 0;}renderer.render(scene,camera); }上面的progress是比例范围从0~1.完整示例请看【完整示例】 将svg形状转成路径 svg是一种矢量图形格式同时javascript也有创建和修改这种图形格式的接口。各种表示矢量图形的技术如Canvas、SVG本质上是相同或相通的只不过是实现和接口不一样所以是有转化的可能的。 在svg中下面的代码创建了一条从(0,0)到100,100的直线路径 path dM0 0 L 100 100/而在threejs中使用ShapePath创建一条直线路径使用 let path new ShapePath(); path.moveTo(0,0); path.lineTo(100,100);可见两者的形式是相近的从形式上来看简单的转换难度也不会很大。下面是一个转换的例子 function createShapes(){let dataString getSvgData(); //获取svg数据let shape transformToShapePath(dataString); //转换成ShapePath表示let geometry new THREE.ShapeGeometry(shape);let material new THREE.LineBasicMaterial({color:0xff0000});let mesh new THREE.Line(geometry,material);scene.add(mesh);camera.lookAt(mesh.position); }//获取svg数据数据来自w3cschool function getSvgData(){let svgData M153 334 C153 334 151 334 151 334 C151 339 153 344 156 344 C164 344 171 339 171 334 C171 322 164 314 156 314 C142 314 131 322 131 334 C131 350 142 364 156 364 C175 364 191 350 191 334 C191 311 175 294 156 294 C131 294 111 311 111 334 C111 361 131 384 156 384 C186 384 211 361 211 334 C211 300 186 274 156 274;return svgData; }//转换成ShapePath表示 function transformToShapePath(dataString){let path new THREE.ShapePath();let dataArr dataString.split( );var currIndex 0;while(currIndexdataArr.length){let command dataArr[currIndex][0];switch(command){case M : {let inc moveParse(currIndex,dataArr,path);currIndex inc;break;}case C : {let inc curveParse(currIndex,dataArr,path);currIndex inc;break;}default:{//出错处理currIndex;}}}return path.toShapes()[0]; }/**************下面是各种命令的转换器****************///moveTo命令转换器function moveParse(currIndex,dataArr,path){let paramsLength 2; //需要的参数个数let data [dataArr[currIndex].substring(1),dataArr[currIndex1]];toThreejsCoor(data);path.moveTo(data[0],data[1]);return paramsLength;}//Curve命令转换器function curveParse(currIndex,dataArr,path){let paramsLength 6; //需要的参数个数let data [ dataArr[currIndex].substring(1),dataArr[currIndex1],dataArr[currIndex2],dataArr[currIndex3],dataArr[currIndex4],dataArr[currIndex5]];toThreejsCoor(data);path.bezierCurveTo(data[0],data[1],data[2],data[3],data[4],data[5]);return paramsLength;}//屏幕坐标转threejs坐标function toThreejsCoor(data){for(let i 0 ; i data.length; i 2){data[i] data[i] - window.innerWidth/2;data[i1] window.innerHeight/2 - data[i1];}}上面的代码做了下面这几件事 从svg中提取图形的定义数据比如path标签的d属性将所提取数据中的坐标转换成threejs坐标分析所提取的数据里的操作用ShapePath执行这些操作调用ShapePath类的toShapes()方法获得一个Path对象数组用这个Path数组中的对象创建threejs图形。 这也是将svg转成Path的几个基本步奏。经过转换之后屏幕上会显示出如下图形 完整效果请戳【完整示例】
http://www.zqtcl.cn/news/785801/

相关文章:

  • 小语种网站建设wordpress 上传图片不显示
  • 建网站什么网最好重庆制作网站公司简介
  • 中国建站平台邯郸现代建设集团网站
  • 爱站seo排名可以做哪些网站宁波网站怎么建设
  • 洛阳市伊滨区建设局网站企业集团网站源码
  • 做修图网站电脑配置wordpress后台登录页面美化
  • 中国十大物联网公司广州网站快速排名优化
  • 发帖网站有哪些wordpress提请审批
  • 网页设计网站导航怎么弄红色字体的内蒙古住房与建设厅网站
  • 微信网站什么做百度官网认证
  • 怎么提升网站流量做五金建材市场的网站
  • 网站合作流程h5网站怎么做api对接
  • asp.net 网站 结构手机客户端网站建设
  • 图片网站怎么做SEO参与网站建设注意
  • 网站界面设计案例教程wordpress更新报错
  • Dw做网站怎么加logo如何申请小程序店铺
  • 官方网站下载官方版本wordpress文字可以动的插件
  • 企业网站模板 免费下载网站建设服务采购方案模板下载
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗做鱫视频网站
  • 网站建设360wordpress 音乐下载主题
  • 站群推广wordpress换logo
  • 苏州网站建设丶好先生科技电脑怎样做幻灯片的网站
  • 什么网站可以做线上邀请函大米网络营销推广方案
  • .net做网站实例 贴吧软件开发前景和发展
  • 合肥快速建站模板软件开发文档编制
  • 深圳免费网站设计平板做网站服务器
  • 注册或者浏览社交类网站时不恰当威宁做网站
  • 国外的电商网站有哪些方面沈阳医疗网站制作
  • 那个企业网站是用vue做的网站频道运营怎么做
  • 英语培训学校网站怎么做网站建建设公司和网络自建