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

合肥市庐阳区住房和城乡建设局网站怎么建设网站电话

合肥市庐阳区住房和城乡建设局网站,怎么建设网站电话,什么是电子商务模式,南京seo培训👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.LatheGeometry1.1.1 …

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


文章目录

  • 一、🍀前言
    • 1.1 ☘️THREE.LatheGeometry
      • 1.1.1 ☘️代码示例
      • 1.1.2 ☘️构造函数
      • 1.1.3 ☘️属性
      • 1.1.4 ☘️方法
  • 二、🍀使用LatheGeometry旋转体(榫卯体)几何体
    • 1. ☘️实现思路
    • 2. ☘️代码样例


一、🍀前言

本文详细介绍如何基于threejs在三维场景中使用LatheGeometry旋转体(榫卯体)几何体,亲测可用。希望能帮助到您。一起学习,加油!加油!

1.1 ☘️THREE.LatheGeometry

THREE.LatheGeometry创建具有轴对称性的网格,比如花瓶。车削绕着Y轴来进行旋转。

1.1.1 ☘️代码示例

代码示例

const points = [];
for ( let i = 0; i < 10; i ++ ) {points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 10 + 5, ( i - 5 ) * 2 ) );
}
const geometry = new THREE.LatheGeometry( points );
const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
const lathe = new THREE.Mesh( geometry, material );
scene.add( lathe );

1.1.2 ☘️构造函数

LatheGeometry(points : Array, segments : Integer, phiStart : Float, phiLength : Float)
points — 一个Vector2对象数组。每个点的X坐标必须大于0。 Default is an array with (0,-0.5), (0.5,0) and (0,0.5) which creates a simple diamond shape.
segments — 要生成的车削几何体圆周分段的数量,默认值是12。
phiStart — 以弧度表示的起始角度,默认值为0。
phiLength — 车削部分的弧度(0-2PI)范围,2PI将是一个完全闭合的、完整的车削几何体,小于2PI是部分的车削。默认值是2PI。

基于参数创建一个LatheGeometry。

1.1.3 ☘️属性

共有属性请参见其基类BufferGeometry。

.parameters : Object : Color
一个包含着构造函数中每个参数的对象。在对象实例化之后,对该属性的任何修改都不会改变这个几何体。

1.1.4 ☘️方法

共有方法请参见其基类BufferGeometry。

二、🍀使用LatheGeometry旋转体(榫卯体)几何体

1. ☘️实现思路

  • 1、初始化renderer渲染器。
  • 2、初始化Scene三维场景scene。
  • 3、初始化camera相机,定义相机位置 camera.position.set,设置相机方向camera.lookAt。
  • 4、加载几何模型:定义createMesh方法,使用MeshNormalMaterial网格法向材质和MeshBasicMaterial基础材质,生成mesh网格对象。定义generatePoints方法生成LatheGeometry旋转体数据latheGeometry,方法内调用createMesh方法创建旋转体网格对象latheMesh,场景scene添加latheMesh。加入gui控制,控制分段数、起始角度、车削部分的弧度。具体代码参考下面代码样例。
  • 5、加入stats监控器,监控帧数信息。

2. ☘️代码样例

<!DOCTYPE html>
<html>
<head><title>学习threejs,使用LatheGeometry旋转体(榫卯体)几何体</title><script type="text/javascript" src="../libs/three.js"></script><script type="text/javascript" src="../libs/stats.js"></script><script type="text/javascript" src="../libs/dat.gui.js"></script><style>body {margin: 0;overflow: hidden;}</style>
</head>
<body><div id="Stats-output">
</div>
<!-- Div which will hold the Output -->
<div id="WebGL-output">
</div><!-- Js 代码块 -->
<script type="text/javascript">// 初始化function init() {var stats = initStats();// 创建三维场景var scene = new THREE.Scene();// 创建透视相机var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);// 创建渲染器var webGLRenderer = new THREE.WebGLRenderer();webGLRenderer.setClearColor(new THREE.Color(0xEEEEEE, 1.0));webGLRenderer.setSize(window.innerWidth, window.innerHeight);webGLRenderer.shadowMapEnabled = true;// 设置相机位置和方向camera.position.x = -30;camera.position.y = 40;camera.position.z = 50;camera.lookAt(new THREE.Vector3(10, 0, 0));// 渲染器绑定html要素document.getElementById("WebGL-output").appendChild(webGLRenderer.domElement);var step = 0;var spGroup;// 旋转体网格对象var latheMesh;generatePoints(12, 2, 2 * Math.PI);// gui控制设置var controls = new function () {this.segments = 12;this.phiStart = 0;this.phiLength = 2 * Math.PI;this.redraw = function () {scene.remove(spGroup);scene.remove(latheMesh);generatePoints(controls.segments, controls.phiStart, controls.phiLength);};};var gui = new dat.GUI();gui.add(controls, 'segments', 0, 50).step(1).onChange(controls.redraw);gui.add(controls, 'phiStart', 0, 2 * Math.PI).onChange(controls.redraw);gui.add(controls, 'phiLength', 0, 2 * Math.PI).onChange(controls.redraw);render();function generatePoints(segments, phiStart, phiLength) {var points = [];var height = 5;var count = 30;for (var i = 0; i < count; i++) {points.push(new THREE.Vector3((Math.sin(i * 0.2) + Math.cos(i * 0.3)) * height + 12, 0, ( i - count ) + count / 2));}spGroup = new THREE.Object3D();var material = new THREE.MeshBasicMaterial({color: 0xff0000, transparent: false});points.forEach(function (point) {var spGeom = new THREE.SphereGeometry(0.2);var spMesh = new THREE.Mesh(spGeom, material);spMesh.position.copy(point);spGroup.add(spMesh);});// add the points as a group to the scenescene.add(spGroup);// 创建旋转几何体var latheGeometry = new THREE.LatheGeometry(points, segments, phiStart, phiLength);latheMesh = createMesh(latheGeometry);scene.add(latheMesh);}function createMesh(geom) {//  var meshMaterial = new THREE.MeshBasicMaterial({color:0x00ff00, transparent:true, opacity:0.6});var meshMaterial = new THREE.MeshNormalMaterial();meshMaterial.side = THREE.DoubleSide;var wireFrameMat = new THREE.MeshBasicMaterial();wireFrameMat.wireframe = true;// 创建网格对象var mesh = THREE.SceneUtils.createMultiMaterialObject(geom, [meshMaterial, wireFrameMat]);return mesh;}function render() {stats.update();spGroup.rotation.x = step;latheMesh.rotation.x = step += 0.01;requestAnimationFrame(render);webGLRenderer.render(scene, camera);}function initStats() {var stats = new Stats();stats.setMode(0);stats.domElement.style.position = 'absolute';stats.domElement.style.left = '0px';stats.domElement.style.top = '0px';document.getElementById("Stats-output").appendChild(stats.domElement);return stats;}}window.onload = init;
</script>
</body>
</html>

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


文章转载自:

http://h77I50Yh.Lptjt.cn
http://U0Dret6x.Lptjt.cn
http://zVgKZi2i.Lptjt.cn
http://m5kGPs7y.Lptjt.cn
http://jpmwFfow.Lptjt.cn
http://VvbBnTQH.Lptjt.cn
http://A4I118VH.Lptjt.cn
http://5he13jJQ.Lptjt.cn
http://jm3IEYrW.Lptjt.cn
http://6VU3iDda.Lptjt.cn
http://cOKFKnsg.Lptjt.cn
http://FEaAEbVg.Lptjt.cn
http://i1X5VTJT.Lptjt.cn
http://whRfiuxA.Lptjt.cn
http://VBA75Kiv.Lptjt.cn
http://04ZYCR2x.Lptjt.cn
http://MgGj3ogm.Lptjt.cn
http://sq0WHLdD.Lptjt.cn
http://EQE2yWVM.Lptjt.cn
http://uD9qlp9B.Lptjt.cn
http://IIXGcuKW.Lptjt.cn
http://wXzE0r0Y.Lptjt.cn
http://RPYiDTE9.Lptjt.cn
http://pr5WHbTb.Lptjt.cn
http://LiDhiyoc.Lptjt.cn
http://xsGOsGT0.Lptjt.cn
http://NmwIlrh0.Lptjt.cn
http://QOmMSL9E.Lptjt.cn
http://us9tGjAF.Lptjt.cn
http://23yPB2KC.Lptjt.cn
http://www.dtcms.com/wzjs/707178.html

相关文章:

  • 商品展示网站模板广东哪里有网站建设
  • 成都市微信网站建设县区网站建设运行汇报
  • 官方网站建设公司排名官方网站怎么备案
  • 济南网站优化排名做旅游销售网站平台ppt
  • 上海专业的网站建设公司哪家好wordpress在文章里面加歌曲
  • 建立一个网站需要会什么软件浏览器怎么下载视频
  • 长沙别墅图纸网站建设建站 discuz
  • 制作旅游网站设计概述食品网站策划
  • 浦江网站建设微信开发吉林做网站公司
  • 网页传奇新开网站嵌入式软件开发是干嘛的
  • 成都网站设计很好个人做流量大的网站
  • 网站老提示有风险易无忧建站
  • 买网站做网站wordpress caller_get_posts
  • 高端网站官网论坛类网站如何备案
  • 一个wordpress两个站点郑州网络推广代理顾问
  • 网站建设硬件条件手机移动网站建设
  • 青岛专业餐饮网站制作wordpress app 服务端
  • 做网站设计需要学什么php婚庆网站源码
  • 网站开发一般多少钱选择网站建设公司应该注意什么
  • 梅州英文网站建设链家网站谁做的
  • 文章类型网站网站留言板功能
  • 网站设置在设备之间共享怎么开启网站虚拟建设策划
  • 贵州住房和城乡建设厅官方网站辽宁网站seo
  • 网站添加在线留言数码类网站名称
  • 百度网站评价高唐网站
  • 公司网站界面如何设计wordpress附近商家
  • 浙江做公司网站多少钱天津网站建设中心
  • 网站备案免费的吗做58网站怎么赚钱
  • 用易语言做网站重庆建设工程信息网官网入口网页
  • 桂林临桂区建设局网站电力建设网站进不去