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

网站建设问卷调查短视频代运营

网站建设问卷调查,短视频代运营,wordpress相关问题,wordpress域名重复Three.js 提供了 Plane 概念来表示在 3d 空间中无限延伸的二维表面。 这对于光标交互很有用#xff0c;因此你可能需要了解如何设置此平面、将其可视化并根据需要进行调整。 推荐#xff1a;使用 NSDT场景设计器 快速搭建 3D场景。 Three.js 的 Plane 文档很好而且准确…Three.js 提供了 Plane 概念来表示在 3d 空间中无限延伸的二维表面。 这对于光标交互很有用因此你可能需要了解如何设置此平面、将其可视化并根据需要进行调整。 推荐使用 NSDT场景设计器 快速搭建 3D场景。 Three.js 的 Plane 文档很好而且准确但它肯定假设你是一个“数学人”我不是并且如果你从未听说过四元数之类的东西它不会解释如何让事情正常进行 和平面法线。 我不得不通过老式的艰难方式学习这些东西所以我为像我这样刚接触 3d 图形的其他开发人员整理了本指南。 首先最好直观地感受一下什么是平面你将如何在 3d 空间中表示平面 我想您可以使用 3 个点定义任何平面创建一个沿其表面无限延伸的三角形。 三角形的大小无关紧要只要斜率相同平面仍然相同。 这是一个 Blender 场景来帮助可视化 因此将平面表示为三个点的集合绝对可行但也许有更好的方法来表示这种结构。 有一个概念叫做表面法线它是一个垂直于表面的矢量即指向某个方向的箭头。 这是维基百科的一张图片显示了一个带有两个法向量的表面一个向量由三个参数组成x、y 和 z 这是曲面法线的图示 你可以想象每个法线都有一个平面如下所示 这是 three.js 的 Plane 定义的方式在其构造函数中清晰可见 Plane( normal : Vector3, constant : Float )normal - (optional) a unit length Vector3 defining the normal of theplane. Default is (1, 0, 0).constant - (optional) the signed distance from the origin to theplane. Default is 0.所以要设置一个面朝上的平面你可以这样做 var myPlane new THREE.Plane(new THREE.Vector3(0, 1, 0), 0);法向量指向上方因为 y 有一个值它根本没有被拉向 x 或 z 方向。 事实上如果将法向量设置为 (0, 2, 0) 或 (0, 200, 0)你会得到完全相同的平面因为法向量重要的是它的方向而不是它的大小。 常量值 0 表示该平面的中心恰好位于场景的中心点。 顺便说一下默认情况下这个平面在你的 three.js 场景中是不可见的。 要查看它请将 PlaneHelper 连接到它。 这可能会让人感到困惑但如果你的目标是实际绘制此表面供用户查看那么你将使用 PlaneGeometry它继承了 Object3D 的所有基本方法。 我在本文中讨论的 Plane 类只是一个数学平面但你需要使用这种平面才能使用 Ray.intersectPlane()这就是你在three.js中将鼠标事件连接到一个平面的方式。 所以现在你知道如何初始化平面并移动它了。 如果你需要旋转这个东西怎么办 好吧你总是可以只更改平面法向量中的参数对吗 不过这实际上是一种非常困难的平面工作方式。 如果你需要将此平面的旋转与场景中已有的可见对象的旋转相匹配或者只是应用诸如 45 度旋转偏移之类的东西那么乱用法向量可能会令人沮丧。 我将介绍一些使用一些工具旋转该平面的基本模式。 你将需要学习如何使用四元数。 它们看起来真的很复杂但你只需要知道它们是一组定义 three.js 对象当前旋转状态的坐标每个 Object3D 都有一个。 你可以使用 three.js 的 API 将更改应用于四元数并修改它们以执行需要执行的操作。 // Theres an object in the scene - myObject - and // I want to take its rotation and make my plane // have the same rotation. var rotation myObject.quaternion.clone();// The default forward vector for 3D objects is (0, 0, 1), // so first set the normal to match myObject like that, // and then make the planes rotation match myObject as well. myPlane.normal.set(0, 0, 1).applyQuaternion(rotation);在将四元数应用于平面之前还可以根据需要对其进行任何更改。 假设你需要在此旋转上进行 90 度偏移 var offset new THREE.Quaternion();offset.setFromAxisAngle(// This rotation offset is along the X axis,// so use a vector where X is 1 here.new THREE.Vector3(1, 0, 0), // Offset by -90 degrees (in radians)-Math.PI / 2);// Modify the rotation rotation.multiply(offset);// The rotation quaternion is now ready to be applied to the plane我知道对于一些简单的旋转来说这似乎是很多繁琐的事情。 只需将其视为工具包中的另一种模式即可。 其实three.js的Plane API中加入一些简单的旋转机制已经讨论过了。 你不能像 Object3D 一样旋转 Plane 的原因背后的数学原理有点超出我的理解但听起来好像是因为 Plane 没有“局部坐标系”。 所以这篇文章有点密集。 但我希望它对进入 three.js 这个领域的任何人都有帮助。 这也可以看作是抽象的证明确实可以让 3D 图形满足你的需求而无需理解其背后的所有数学原理并且你会逐渐感受到使用矢量和各种坐标系。 原文链接Three.js无限平面 — BimAnt
http://www.dnsts.com.cn/news/206753.html

相关文章:

  • 网站的开发方法百度推广关键词越多越好吗
  • php网站开发实例教程 源码网页设计模板网站
  • 免费行情网站下载大全网页qq无法使用快捷登录
  • 网络营销网站策划国外室内设计网站大全
  • o2o网站大全软件下载免费app大全
  • 百度下拉框推广网站个人网站开发视频
  • 福州市住房和城乡建设局网站广告投放平台都有哪些
  • 个人网站开发如何赚钱展示展厅设计
  • 网站推广投放抖音代运营公司布马网络
  • 天津市建设工程协会网站h5网站实例
  • 高级网站开发工程师考试题免费空间 上传网站
  • 电商网站的建设网站根目录多出一.php
  • 免费做效果图的网站山西传染病最新消息今天
  • 网站空间多久续一次费云服务器搭建网站教程
  • 重庆百度网站公司哪家好济南公司注册网站建设
  • html5做网站导航页当建设部门网站
  • 上海网站建设app外贸建个网站多少钱
  • 网站设计自己申请适合夜晚使用的十大app
  • 网站建设中跳转页面源码网站怎么推广效果好
  • 单位还能建设网站吗宁志网站两学一做
  • 济南seo网站关键词优化排名企业网站开发市场
  • 网站关键字如何设置wordpress单点登录
  • 什么是单页面网站怎么把自己做的网站让别人收到
  • 随州网站优化得力文具网站建设策划书
  • 网站建设项目需求说明php做网站还是linux
  • 网站 设计理念宽屏网站模板html
  • 衡水安徽网站建设小程序网
  • 印度网站建设多少钱可以做投票功能的网站
  • 济南网站建设销售招聘网站内页降权 关键词排名下降
  • 网站域名备案查询系统太平洋手机官方网站