Three.js中文网 Three.js中文网
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
Web3D系统课程视频
  • 0.学前说明

  • 1.Three.js快速入门

  • 2.几何体BufferGeometry

  • 3.模型对象、材质

  • 4.层级模型

  • 5.顶点UV坐标、纹理贴图

  • 6.加载外部三维模型(gltf)

  • 7.PBR材质与纹理贴图

  • 8.渲染器和前端UI界面

  • 9.生成曲线、几何体

    • 1. 生成圆弧顶点
    • 2. 几何体方法.setFromPoints()
    • 3. 曲线Curve简介
    • 4. 椭圆、圆
      • 5. 样条曲线
      • 6. 贝塞尔曲线
      • 7. 样条、贝塞尔曲线应用
      • 8. 组合曲线CurvePath拼接曲线
      • 9. 曲线路径管道TubeGeometry
      • 10. 旋转成型LatheGeometry
      • 11. 轮廓填充ShapeGeometry
      • 12. 拉伸ExtrudeGeometry
      • 13. 扫描ExtrudeGeometry
      • 14. 多边形轮廓Shape简介
      • 15. 多边形轮廓Shape(圆弧)
      • 16. 多边形Shape(内孔.holes)
      • 17. 模型边界线EdgesGeometry
      • 18. 几何体顶点颜色数数据
      • 19. 一段曲线颜色渐变
      • 20. Color颜色渐变插值
      • 21. 查看或设置gltf几何体顶点
      • 22. 山脉地形高度可视化
    • 10.相机基础

    • 11.光源和阴影

    • 12.精灵模型Sprite

    • 13.后处理EffectComposer

    • 14.射线拾取模型

    • 15.场景标注标签信息

    • 16.关键帧动画

    • 17.动画库tween.js

    • Three.js教程
    • 9.生成曲线、几何体
    郭隆邦
    2023-01-29
    目录

    4. 椭圆、圆

    # 椭圆和圆

    接着上节课内容给大家介绍椭圆和圆曲线。

    # 椭圆弧线EllipseCurve

    EllipseCurve( aX, aY, xRadius,yRadius, aStartAngle, aEndAngle, aClockwise )
    
    参数 含义
    aX, aY 椭圆中心坐标
    xRadius 椭圆x轴半径
    yRadius 椭圆y轴半径
    aStartAngle 弧线开始角度,从x轴正半轴开始,默认0,弧度单位
    aEndAngle 弧线结束角度,从x轴正半轴算起,默认2 x Math.PI,弧度单位
    aClockwise 是否顺时针绘制,默认值为false
    // 参数1和2表示椭圆中心坐标  参数3和4表示x和y方向半径
    const arc = new THREE.EllipseCurve(0, 0, 100, 50);
    

    椭圆曲线x和y方向半径相同,就是一个圆的效果。

    // 参数1和2表示椭圆中心坐标  参数3和4表示x和y方向半径
    const arc = new THREE.EllipseCurve(0, 0, 50, 50);
    

    # 圆弧线ArcCurve

    圆弧线ArcCurve的父类是椭圆弧线EllipseCurve,语法和椭圆弧线EllipseCurve相似,区别是参数3和参数4不同,椭圆需要定义xRadius和yRadius两个半径,圆只需要通过参数3定义半径aRadius即可。

    //参数:0, 0圆弧坐标原点x,y  100:圆弧半径    0, 2 * Math.PI:圆弧起始角度
    const arc = new THREE.ArcCurve(0, 0, 100, 0, 2 * Math.PI);
    
    ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise )
    
    参数 含义
    aX, aY 圆心坐标
    aRadius 圆弧半径
    aStartAngle 弧线开始角度,从x轴正半轴开始,默认0,弧度单位
    aEndAngle 弧线结束角度,从x轴正半轴算起,默认2 x Math.PI,弧度单位
    aClockwise 是否顺时针绘制,默认值为false

    # 曲线精度

    //曲线上取点,参数表示取点细分精度
    const pointsArr = arc.getPoints(50); //分段数50,返回51个顶点
    // const pointsArr = arc.getPoints(10);//取点数比较少,圆弧线不那么光滑
    

    # 弧线起始角度

    参数4和5表示圆弧线的起始角度,three.js默认是一个完整的圆弧,其实你也可以绘制一个半圆弧。

    // 完整圆弧
    const arc = new THREE.ArcCurve(0, 0, 100, 0, 2 * Math.PI);
    
    // 半圆弧
    const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI);
    
    // 四分之一圆弧
    const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI/2);
    

    # 顺逆时针

    参数6默认false,逆时针绘制圆弧

    const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI/2,false);
    

    参数6设置为true,顺时针绘制圆弧

    const arc = new THREE.ArcCurve(0, 0, 100, 0, Math.PI/2,true);
    
    3. 曲线Curve简介
    5. 样条曲线

    ← 3. 曲线Curve简介 5. 样条曲线→

    Theme by Vdoing | Copyright © 2016-2025 豫ICP备16004767号-2
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式