Three.js三角形Triangle

Three.js引擎定义了一个三角形类Triangle,该类封装了一系列和三角形几何计算相关的方法或属性。

// 创建一个三角形对象
var Triangle = new THREE.Triangle()
// 三角形顶点1
Triangle.a = new THREE.Vector3(20, 0, 0);
// 三角形顶点2
Triangle.b = new THREE.Vector3(0, 0, 10);
// 三角形顶点3
Triangle.c = new THREE.Vector3(0, 30, 0);

通过三角形对象Triangle.getArea()方法可以计算一个三角形区域的面积,如果你想计算一个网格模型的表面,就可以遍历网格模型对应几何体所有的三角形区域计算面积然后累加。

// .getArea()方法返回三角形面积
var S = Triangle.getArea();
console.log('三角形面积', S);

通过三角形对象Triangle.getMidpoint()方法计算三角形重心,封装的算法就是三个顶点坐标的算术平均值。

var Midpoint = new THREE.Vector3();
// 计算三角形重心,结果保存在参数Midpoint
Triangle.getMidpoint(Midpoint);
console.log('三角形重心', Midpoint);

通过三角形对象Triangle.getNormal()方法计算三角形法线方向,封装的算法简单说就是两条边构成的向量叉乘后获得垂直三角形面的向量。

var normal = new THREE.Vector3();
// 计算三角形法线方向,结果保存在参数normal
Triangle.getNormal(normal);
console.log('三角形法线', normal);

Three.js三角形Triangle相关推荐

  1. 337、用三角形triangle、方形square、圆形circle等“基本图形“来表示任意的 图形 如菱形 半圆

    今天碰到一个题目如下 用三角形triangle.方形square.圆形circle等"基本图形"来表示任意的 图形 如菱形 半圆等,用类图或者java c++等其他编程需要应当如何 ...

  2. [LeetCode 120] - 三角形(Triangle)

    问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶部至底部的最 ...

  3. 有一个三角形 Triangle,三边长分别为a, b, c (默认边长设为1) 写一类描述它。

    先添加一个类 my / Triangle.java package my; public class Triangle { public int a = 1; public int b = 1; pu ...

  4. Android OpenGL ES(十)绘制三角形Triangle .

    三角形为OpenGL ES支持的面,同样创建一个DrawTriangle Activity,定义6个顶点使用三种不同模式来绘制三角形: float vertexArray[] = {-0.8f, -0 ...

  5. 三角形(triangle)

    题目描述 平面上有n个点,求出用这些点可以构成的三角形数. 输入 第一行一个整数n. 接下来n行,每行两个整数,表示点的坐标. 输出 输出仅一个整数,表示所求答案. 输入样例复制 5 0 0 1 1 ...

  6. js 三角形质心计算

    三角形质心计算器 计算器会为输入的3个顶点的坐标找到三角形质心上的坐标. 三角形的所有三个中位数通过的点称为三角形的质心.每个中点连接一个顶点和相对侧的中点.也称为三角形的重心或重心.质心的坐标是顶点 ...

  7. java鱼雷3的几何_Three.js几何计算Line3、Triangle、Ray、Plane

    Three.js几何计算Line3.Triangle.Ray.Plane Threejs封装了一些和几何计算相关的API,比如线段Line3.三角形Triangle.射线Ray.平面Plane... ...

  8. p5.js 光速入门中文教程

    本文简介 点赞 + 关注 + 收藏 = 学会了 本文的目标是和各位工友一起有序的快速上手 p5.js ,会讲解 p5.js 的基础用法. 本文会涉及到的内容包括: 项目搭建 p5.js 基础2D图形 ...

  9. 原生js横幅广告轮播图

    手把手原生js简单轮播图 原生js实现图片轮播效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  10. 前端面试题 HTML、CSS、JS、Vue、Es6

    第一部分 HTML&CSS整理答案 什么是HTML5? 答:HTML5是最新的HTML标准. 注意:讲述HTML5推出的设计目的,以及现在市场的使用情况,浏览器支持情况等.... 设计目的 H ...

最新文章

  1. 【UIKit】解决iOS7状态栏问题
  2. ECMAScript5.1的运算符、类型转换总结
  3. Java加密与解密的艺术~RSA实现
  4. 超级猫超级签名分发源码
  5. 运行QTP测试脚本后,将编译结果写入指定文件(四)
  6. 小甲鱼 python11讲作业
  7. 应用计算机测线性电阻伏安特性曲线,测绘线性电阻和非线性电阻的伏安特性曲线.pdf...
  8. 正余弦信号的DFT频谱分析
  9. Unity3D游戏开发引擎的产品特点
  10. 【PHP学习】Yii2框架Gii模块使用
  11. hadoop1.2.1+zookeeper3.4.6+hbase0.94集群环境搭建
  12. Weex工具链的奥秘
  13. 京都计算机学院放假时间表,2019全年放假时间表
  14. js遍历 function(i,item)
  15. C++ STL begin()和end()函数(深入了解,一文学会)
  16. 从itms-services协议中获取ipa的下载地址
  17. 求助: 哪位大神有《 计算机图形学基础[第2版][陆枫/何云峰 》电子教案
  18. 支持win7的VSCode版本最高1.70.3
  19. iMeta|西工大钟杨权威等-根系菌群沿环境梯度的响应机制
  20. LeetCode517 超级洗衣机 Java

热门文章

  1. numpy之histogram
  2. html制作页面书签的步骤,网页制作基础教程(二)html标签
  3. mysql网游单机架设_网游单机架设直观教程终结版.doc
  4. 在html中书名号怎么写,html范本
  5. easypanel php.ini,虚拟主机控制面板(easypanel)下载_虚拟主机控制面板(easypanel)官方下载-太平洋下载中心...
  6. PAT 1082 射击比赛
  7. 端口输出报错**Error** test5.ASM(60) Constant too large
  8. pycharm中python的默认安装路径_PyCharm下载和安装详细步骤
  9. 基于Vue的标尺插件(刻度尺)
  10. 内置函数总结(待更新)C++