three.js 之旅 (三)

复制自:http://www.cnblogs.com/ssrsblogs/p/5611332.html

创建模型:

 1.长方体:

  THREE.CubeGeometry(width, height, depth, widthSegments, heightSegments, depthSegments)   

  width是x方向上的长度;

    height是y方向上的长度;

  depth是z方向上的长度;

    后三个参数分别是在三个方向上的分段数,如widthSegments3的话,代表x方向上水平分为三份。一般情况下不需要分段的话,可以不设置后三个参数,后三个参数的缺省值为1.

2:长方形:
  THREE.PlaneGeometry(width, height, widthSegments, heightSegments)

    width是x方向上的长度;

    height是y方向上的长度;

    后两个参数同样表示分段。
3.球形:

  THREE.SphereGeometry(radius, segmentsWidth, segmentsHeight, phiStart, phiLength, thetaStart, thetaLength)    radius是半径;

  segmentsWidth表示经度上的切片数;

  segmentsHeight表示纬度上的切片数;

  phiStart表示经度开始的弧度;

  phiLength表示经度跨过的弧度;

  thetaStart表示纬度开始的弧度;

  thetaLength表示纬度跨过的弧度;

4.圆形或者扇形:

  THREE.CircleGeometry(radius, segments, thetaStart, thetaLength)    new THREE.CircleGeometry(3, 18, Math.PI / 3, Math.PI / 3 * 4)可以创建一个在x轴和y轴所在平面的三分之二圆的扇形:

5.圆柱体:

  THREE.CylinderGeometry(radiusTop, radiusBottom, height, radiusSegments, heightSegments, openEnded)

  radiusTop:顶面半径
  radiusBottom:底面半径
  当这两个参数设置为不同的值时,实际上创建的是一个圆台;
  height是圆柱体的高度;

  radiusSegmentsheightSegments可类比球体中的分段;

  openEnded是一个布尔值,表示是否没有顶面和底面,缺省值为false,表示有顶面和底面
6.标准圆柱体:

   new THREE.CylinderGeometry(2, 2, 4, 18, 3)创建一个顶面与底面半径都为2,高度为4的圆柱体

7.正四面体、正八面体、正二十面体:

  正四面体(TetrahedronGeometry)、正八面体(OctahedronGeometry)、正二十面体(IcosahedronGeometry)的构造函数较为类似,分别为:
  THREE.TetrahedronGeometry(radius, detail)

  THREE.OctahedronGeometry(radius, detail)
  THREE.IcosahedronGeometry(radius, detail)

   radius是半径;

   detail是细节层次(Level of Detail)的层数,

    对于大面片数模型,可以控制在视角靠近物体时,显示面片数多的精细模型,而在离物体较远时,显示面片数较少的粗略模型。这里我们不对detail多作展开,一般可以对这个值缺省。

8.圆环面(圆环面(TorusGeometry)就是甜甜圈的形状)
    THREE.TorusGeometry(radius, tube, radialSegments, tubularSegments, arc)

  radius是圆环半径;

  tube是管道半径;

  radialSegmentstubularSegments分别是两个分段数;

  arc是圆环面的弧度;

  缺省值为Math.PI * 2;
9.圆环结(如果说圆环面是甜甜圈,那么圆环结(TorusKnotGeometry)就是打了结的甜甜圈):    THREE.TorusKnotGeometry(radius, tube, radialSegments, tubularSegments, p, q, heightScale)
时间: 2024-10-09 05:36:44

three.js 之旅 (三)的相关文章

Ext JS学习第三天 我们所熟悉的javascript(二)

•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类型,创建函数一共有三种方式.每种方式他们都会有区别,分别为: –function语句形式 –函数直接量形式 –构造函数形式 •函数中的arguments对象 –argument的作用一:接受函数的实际参数 –argument的作用二:用于做递归操作 栗子代码 1 //Function 函数 2 //

Ajax之旅(三)-- 异步更新

上篇博文中,已经为大家在理论上讲述了什么是XMLHttpRequest对象,它是Ajax实现异步更新的核心对象.下面,我们就通过一个实例,来了解XMLHTTPRequest对象的使用或者说异步更新的实现. 实例:判断用户代码是否重复        方案一:同步更新.原理如下图所示: 从上图中可以看到,当我们在浏览器用户代码输入框中输入"用户代码"后,只能等待服务器的响应,当服务器将结果反馈给浏览器后,我们才可以进行下一个操作,也就是继续输入"用户名称". 这就是同步

【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物

覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在一张地图上,除了底层的底图(瓦片图,矢量图),控件(有功能可操作的工具),最重要最不可缺少的就是覆盖物了.覆盖物有多种,包括,标注.折线.多边形.信息窗口.聚合marker.麻点图和图片覆盖物.本文会详细介绍每一种覆盖物的概念,添加方法,修改方法,移除方法等.最后会提供示例和源代码下载. 示例demo:http://zhaoziang.com/amap/zero_3_1.html ----------------------------

JS运动基础(三) 弹性运动

加减速运动速度不断增加或减少速度减小到负值,会向反方向运动弹性运动在目标点左边,加速:在目标点右边,减速根据距离,计算加速度带摩擦力的弹性运动弹性运动+摩擦力 弹性:速度 += (目标点 - 当前值)/系数;  //6 , 7 , 8速度 *= 摩擦系数;   // 0.7 0.75终止条件距离足够近 并且 速度足够小 缓冲:var 速度 = (目标点 - 当前值)/系数;速度取整 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <me

【高德地图API】从零开始学高德JS API(三)覆盖物

摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在一张地图上,除了底层的底图(瓦片图,矢量图),控件(有功能可操作的工具),最重要最不可缺少的就是覆盖物了.覆盖物有多种,包括,标注.折线.多边形.信息窗口.聚合marker.麻点图和图片覆盖物.本文会详细介绍每一种覆盖物的概念,添加方法,修改方法,移除方法等.最后会提供示例和源代码下载. 示例demo:http://zhaoziang.com/amap/zero_3_1.html -------------------------

js数组(三)

今天写第三题: rt:移除数组汇总的元素,但是不能修改原数组 如: var arr = [1,2,3,4,5]; //传入5 //返回 [1,2,3,4] //console.log(arr) //返回[1,2,3,4,5] 之前说过数组的处理方法 先解题: 1.一般循环 var arr = [1,2,3,4,5]; var num = []; function removes(val){ for(let i = 0;i<arr.length;i++){ if(arr[i] != val){ n

JavaScript的作用;JS常见的三种对话框;==和===的区别;函数内部参数数组arguments在函数内部打印实参;JS的误区:没有块级作用域

JS:客户端(浏览器)脚本语言 弱类型 基于原型 事件驱动 不需要编译(直接运行) JS的作用:表单验证,减轻服务端的压力 添加页面动画效果  动态更改页面内容  Ajax网络请求 (一)常见的对话框 alert()对话框:该方法是window对象的方法,在浏览器中弹出一个对话框(该方法没有返回值)  prompt()对话框:2个参数,一个是浏览器提示信息,第二个是默认的输入框的值,返回值就是输入框的信息  confirm()对话框:在浏览器弹出一个对话框,用户只能选择正确或者取消,返回值对应为

Js学习第三天----字符集

字符集 JS程序是用Unicode字符集编写的.Unicode是ASCII和Latin-l的超集,并持之地球上几乎所有再用的语言.ECMAScript 3要求JS的实现必须支持Unicode2.1以及后续版本,ECMAScript5则要求支持Uniocde 3及以后版本. 区分大小写 JS是区分大小写的语言.也就是说,关键字,变量,函数名和所有的标识符都必须采取一致的大小写形式.比如,关键字"while"必须写成"while",而不能写成"WHILE&qu

JS常用的三种匿名函数

第一种: var f1=function(p1,p2){ return p1+p2; };//将函数赋值给一个变量 alert(f1(1,3)); 匿名函数没法调用,只能赋值给一个变量,由于是赋值语句,后面要加分号 应用: ///document.getElementById(‘btn’).onclick=function(){} 第二种(*): (function(p1,p2){alert(p1+p2);})(20,30); 直接声明一个匿名函数,立即使用.用匿名函数省得定义一个用一次就不用的