three.js(九):内置的路径合成几何体

这篇具有很好参考价值的文章主要介绍了three.js(九):内置的路径合成几何体。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TubeGeometry 管道

  • TubeGeometry(path : Curve, tubularSegments : Integer, radius : Float, radialSegments : Integer, closed : Boolean)
    • path — Curve - 一个由基类Curve继承而来的3D路径。 Default is a quadratic bezier curve.
    • tubularSegments — Integer - 组成这一管道的分段数,默认值为64。
    • radius — Float - 管道的半径,默认值为1。
    • radialSegments — Integer - 管道横截面的分段数目,默认值为8。
    • closed — Boolean 管道的两端是否闭合,默认值为false。
class CustomSinCurve extends Curve<Vector3> {
  constructor() {
    super();
  }
  getPoint(t: number, optionalTarget: Vector3 = new Vector3()) {
    const tx = t;
    const ty = Math.cos(8 * Math.PI * t) / 8;
    const tz = Math.sin(8 * Math.PI * t) / 8;

    return optionalTarget.set(tx, ty, tz);
  }
}
const path = new CustomSinCurve();
const geometry = new TubeGeometry(path, 64, 0.05, 8);

three.js(九):内置的路径合成几何体,three.js,three.js

LatheGeometry 车削

  • LatheGeometry(points : Array, segments : Integer, phiStart : Float, phiLength : Float)
    • points — 一个Vector2对象数组。每个点的X坐标必须大于0。
    • segments — 要生成的车削几何体圆周分段的数量,默认值是12。
    • phiStart — 以弧度表示的起始角度,默认值为0。
    • phiLength — 车削部分的弧度(0-2PI)范围,2PI将是一个完全闭合的、完整的车削几何体,小于2PI是部分的车削。默认值是2PI。
const points = [];
for (let i = 0; i < 1; i += 0.1) {
  const x = (Math.sin(i * Math.PI * 1.8 + 3) + 1) / 5 + 0.02;
  points.push(new Vector2(x, i));
}
const geometry = new LatheGeometry(points);

three.js(九):内置的路径合成几何体,three.js,three.js

ExtrudeGeometry 挤压

  • ExtrudeGeometry(shapes : Array, options : Object)

    • shapes — 形状或者一个包含形状的数组。
    • options — 一个包含有下列参数的对象:
      • steps — int,用于沿着挤出样条的深度细分的点的数量,默认值为1。
      • depth — float,挤出的形状的深度,默认值为1。
      • bevelEnabled — bool,对挤出的形状应用是否斜角,默认值为true。
      • bevelThickness — float,设置原始形状上斜角的厚度。默认值为0.2。
      • bevelSize — float。斜角与原始形状轮廓之间的延伸距离,默认值为bevelThickness-0.1。
      • bevelOffset — float. Distance from the shape outline that the bevel starts. Default is 0.
      • bevelSegments — int。斜角的分段层数,默认值为3。
      • extrudePath — THREE.Curve对象。一条沿着被挤出形状的三维样条线。Bevels not supported for path extrusion.
      • UVGenerator — Object。提供了UV生成器函数的对象。
  • 该对象可以将一个二维形状挤成一个三维几何体。

  • 当使用这个几何体创建Mesh的时候,如果希望分别对它的表面和它挤出的侧面使用单独的材质,你以使用一个材质数组。 第一个材质将用于其表面;第二个材质则将用于其挤压出的侧面。

const shape = new Shape();
shape.moveTo(0, 0);
shape.lineTo(0, 1);
shape.lineTo(1, 1);
shape.lineTo(1, 0);
shape.lineTo(0, 0);

const extrudeSettings = {
  steps: 1,
  depth: 1,
  bevelEnabled: true,
  bevelThickness: 0.2,
  bevelSize: 0.1,
  bevelOffset: 0,
  bevelSegments: 1,
};

const geometry = new ExtrudeGeometry(shape, extrudeSettings);

three.js(九):内置的路径合成几何体,three.js,three.js文章来源地址https://www.toymoban.com/news/detail-700870.html

到了这里,关于three.js(九):内置的路径合成几何体的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VTK 几何体连通区域分析 vtkPolyDataConnectivityFilter

    前言:    vtkPolyDataConnectivityFilter 使用过,但网上没有看到完事的教程;这里整理一下;   提取数据集中连通的多边形数据。 该类是一个滤波器,提取cell(区域) - 拥有公共点或者满足某个阈值 该类在提取连通区域时候有如下6种模式:    1 )提取数据集中的最大(最多

    2024年02月02日
    浏览(46)
  • Threejs学习05——球缓冲几何体背景贴图和环境贴图

    这是一个非常简单基础的threejs的学习应用!本节主要学习的是球面缓冲几何体的贴图部分,这里有环境贴图以及背景贴图,这样可以有一种身临其境的效果!这里环境贴图用的是一个.hdr的文件,可以在网上随便下载一些使用,我在这里的例子里面使用的hdr文件已经免费上传

    2024年02月11日
    浏览(24)
  • d3d12龙书阅读----绘制几何体(上)

    本节主要介绍了构建一个简单的彩色立方体所需流程与重要的api 下面主要结合立方体代码分析本节相关知识 输入装配器阶段的输入 首先,我们需要定义立方体的八个顶点 顶点结构体: 当然,对于更复杂的情况,我们不仅要定义顶点的位置与颜色,还要包括法线向量、纹理

    2024年03月27日
    浏览(54)
  • 【ThreeJS基础教程-初识Threejs】1.6各种各样的几何体

    本段内容会写在0篇以外所有的,本人所编写的Threejs教程中 对,学习ThreeJS有捷径 当你有哪个函数不懂的时候,第一时间去翻一翻文档 当你有哪个效果不会做的时候,第一时间去翻一翻所有的案例,也许就能找到你想要的效果 最重要的一点,就是,绝对不要怕问问题,越怕找

    2024年02月08日
    浏览(43)
  • Three.js指定路径漫游(站走切换、路径动画、展示路线、开始、暂停、继续、退出、镜头跟随)

    (由点生成曲线,npc沿曲线移动,相机跟随方式1)参考大佬: https://blog.csdn.net/weixin_40856652/article/details/125302355 (相机跟随方式2)参考大佬: https://lequ7.com/guan-yu-threejsthreejs-xi-lie-xie-yi-ge-di-yi-san-ren-cheng-shi-jiao-xiao-you-xi.html (模型站走切换)参考大佬: https://zhuanlan.zhihu.com/p

    2024年02月05日
    浏览(33)
  • 【计算机视觉|人脸建模】PanoHead:360度几何感知的3D全头合成

    本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题: PanoHead: Geometry-Aware 3D Full-Head Synthesis in 360 ∘ ^{circ} ∘ 链接:[2303.13071] PanoHead: Geometry-Aware 3D Full-Head Synthesis in 360 ∘ ^{circ} ∘ (arxiv.org) 最近,在计算机视觉和计算机图形领域,对3D人头的合成和重建引起了

    2024年02月07日
    浏览(48)
  • THREE.JS使用详细(three.js创建3d物体,three.js的使用方式)

    简述:three.js封装了WebGL的底层细节,是一款运行在浏览器中的 3D 引擎,可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象,目前在Git上已经拥有90k+的star,今天用three.js来构建一个三维模型; 1、首先,在项目中需要下载threejs的相关依赖; 2、在js页面引入使

    2024年01月23日
    浏览(55)
  • three.js(四):react + three.js

    绘制多个立方体 1.搭建react+ts 项目 react+ts 的用法可参考此链接: https://react-typescript-cheatsheet.netlify.app/docs/basic/setup 2.安装three依赖 3.安装路由 react-router-v6 的用法可参考此链接:https://juejin.cn/post/7088526716049555492 4.用路由组件包裹APP。 index.tsx 5.构建项目页面 src/view/Basics.tsx src/

    2024年02月11日
    浏览(41)
  • 【Three.js】Three.js快速上手教程

    官网对 Three.js 的介绍非常简单:“Javascript 3D library”。 即: three.js 是 JavaScript 编写的 WebGL 第三方库。提供了非常多的3D显示功能,是一个常见的 web 3D 库。 相关概念解释:three.js webGL openGL openGL 是一个跨平台3D/2D的绘图标准, webGL 则是 openGL 在浏览器上的一个实现。 web前端

    2024年01月16日
    浏览(41)
  • 《数字图像处理》dlib人脸检测获取关键点,delaunay三角划分,实现人脸的几何变换warpping,接着实现两幅人脸图像之间的渐变合成morphing

           这学期在上《数字图像处理》这门课程,老师布置了几个大作业,自己和同学一起讨论完成后,感觉还挺有意思的,就想着把这个作业整理一下 :   目录 1.实验任务和要求 2.实验原理 3.实验代码 3.1利用人脸特征点检测工具dlib获取人脸关键点 目录 1.实验任务和要求

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包