首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获得在重心坐标下构成较小三角形的顶点?

在重心坐标下构成较小三角形的顶点可以通过以下步骤获得:

  1. 确定原始三角形的三个顶点坐标,分别记为A(x1, y1),B(x2, y2),C(x3, y3)。
  2. 计算原始三角形的重心坐标,即三个顶点坐标的平均值。重心坐标记为G(xg, yg),其中xg = (x1 + x2 + x3) / 3,yg = (y1 + y2 + y3) / 3。
  3. 根据重心坐标和原始三角形的顶点坐标,可以得到构成较小三角形的顶点坐标。
    • 假设要构成的较小三角形的重心坐标为G'(xg', yg'),其中xg'和yg'可以根据实际需求进行调整。
    • 通过重心坐标和原始三角形的顶点坐标,可以得到较小三角形的顶点坐标。假设较小三角形的顶点分别为A'(x1', y1'),B'(x2', y2'),C'(x3', y3')。
    • 较小三角形的顶点坐标可以通过以下公式计算得到: A'(x1', y1') = (xg' - xg) + x1, (yg' - yg) + y1 B'(x2', y2') = (xg' - xg) + x2, (yg' - yg) + y2 C'(x3', y3') = (xg' - xg) + x3, (yg' - yg) + y3
  • 得到较小三角形的顶点坐标后,可以根据实际需求进行进一步处理和应用。

这种方法可以用于在重心坐标下构成较小三角形的顶点。在实际应用中,可以根据具体需求进行调整和优化。腾讯云提供了丰富的云计算服务和产品,可以根据实际需求选择适合的产品进行开发和部署。具体推荐的腾讯云产品和产品介绍链接地址可以根据实际情况进行选择。

相关搜索:如何在没有最大值的情况下获得ArangoDB图遍历中的所有顶点?在python中如何在没有[]的情况下获得输出,在没有[none]的情况下如何获得输出在较小的屏幕尺寸下,如何使左侧的图像内容在右侧并具有响应性?在没有SymbolFinder的情况下,如何在诊断中获得符号引用?在没有子骨骼的情况下,如何获得骨骼尾端的世界位置?在Map<String,List<String>>中给定值的情况下,如何获得a键?如何使用CountVectorizer在不计算短语中单词的情况下获得该短语的计数?在django中,如何在每次都不访问DB的情况下获得请求用户查询?如何使用DFSORT在不影响相邻字段的情况下将较小的字符串替换为较大的字符串?如何从处理过的循环中获得列表形式的打印输出?或者,在没有打印的情况下获得相同的结果?在IronPython中,如何获得选中的单选按钮并将按下的按钮等同于文本变量?如何在不将其保存到文件的情况下,在提前停止后获得最佳模型?在不使用jQuery的情况下,如何在JavaScript中获得一个直接的子元素?在不知道数据结构类型的情况下,如何获得通用数据结构的长度?如何在不包括周末的情况下,在两个日期之间的分钟内获得差异在Rosetta2下运行的x86_64进程中,如何获得系统时钟的真实值?在使用robot框架时,如何在不添加额外逗号的情况下获得DB查询结果如何使用Jenkins git插件在不签出文件的情况下获得分支上的最新提交如何在不将秒乘以1000的情况下,在C中获得从unix纪元开始经过的毫秒数?在python中,如何在不改变整个数组的情况下获得范围内整数的随机排列?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

进阶渲染系列(一)——平坦和线框着色(导数和几何体)

修复线宽度2.7 配置线 本文重点: 1、使用屏幕空间导数查找三角形法线 2、通过几何着色器找出三角形法线 3、使用生成的重心坐标创建线框 4、是线框固定宽度并且可配置 本教程介绍如何添加对平面着色的支持以及如何显示网格的线框...这可以通过将三角形的重心坐标添加到插值数据中来完成。 什么是重心坐标? 三角形具有三个分量的坐标。每个分量沿一个边为0,在与该边相对的顶点为1,在这两个边之间线性过渡。这些坐标也用于插值顶点数据。...给每个顶点一个重心坐标。哪个顶点获得什么坐标都没有关系,只要它们是有效的即可。 ? 请注意,重心坐标总是加起来为1。因此,只要传递两个就足够了,通过从1中减去其他两个来推导第三个坐标。...这意味着我们必须内插一个较小的数字,让我们进行更改。 ? 现在是否已使用重心坐标插补了我们的重心坐标? 是。但是,我们还不能直接使用用于插值顶点数据的重心坐标。...由于各种原因,GPU可以决定在最终进入顶点程序之前将三角形拆分为较小的三角形。所以,GPU用于最终插值的坐标可能与预期的不同。

2.5K21

WebGL 单通道wireframe渲染

而要显示的线框,正好是三角形的边,如果在绘制的时候,给三角形的边一个不同的颜色,便可以实现在对象上面绘制线框的效果。 那么现在的问题是,如何确定三角形的边呢?...有关重心坐标的的说明 对于三角形而言,重心坐标可以这样定义: 三角形所在平面上的任意一点P(笛卡尔坐标),可以通过三角形的三个顶点A、B、C(笛卡尔坐标)来表示: P = Ax + By + C *...代码实现 基于上面说的原理,首先需要定义顶点的重心坐标,对于一个三角形来说,可以把三个顶点的中心坐标分别指定为(1,0,0)、(0,1,0)、(0,1,0)即可。...0,1,0, 0,0, 1, 1,0,0, ]; 然后,在着顶点色器中定义对应的attribute变量,由于重心坐标最终需要传递到片元着色器中,所以还需要对应的varying变量:...其实此时,只需要调整下顶点的重心坐标即可,在前文中,一个四边形的四个顶点的重心坐标如下: var barycentric = [ 1,0,0, 0,1,0, 0,0, 1, 1,0,0

84220
  • 【GAMES101】Lecture 09 重心坐标

    我们之前说着色过程中以及这个计算法线的时候需要用到这个插值(Interpolation),然后插值是通过这个重心坐标(Barycentric Coordinates)来实现的 重心坐标 注意哈我们这里说的三角形的重心坐标并不是指这个三角形重心的坐标...,β,γ)就是这个点的重心坐标,当α,β,γ都非负时,这个点在三角形内 自然三角形的三个顶点的重心坐标就是A(1,0,0)、B(0,1,0)、C(0,0,1)了 那如何计算任意一个点的重心坐标呢,这个是可以通过面积比来计算的...,对于三角形内的任意一个点,它可以和三个顶点连线形成三个小三角形,那么这个点的重心坐标就是对应小三角形和大三角形的面积比 由此我们可以知道三角形重心的重心坐标是什么,因为重心和三个顶点连线所形成的三个三角形面积相等嘛...,然后重心的重心坐标就是(⅓,⅓,⅓) 实际上由刚刚的面积比计算方法可以推出一种《简化》的计算方法 插值 有了重心坐标后,对于已知三角形三个顶点的属性(比方说位置、纹理、坐标、颜色、法线、深度、材质等等...我们不是已经有重心坐标(α,β,γ)了吗,那么对于任意点的属性都可以通过三个顶点的属性进行(α,β,γ)的线性组合得到 这里需要注意的是,在投影变换的时候,应该先做这个插值再投影

    30110

    图形学入门(三):基础着色

    Phong 着色法 前文讨论了如何计算一个着色点的颜色,但对于一个三角形而言,我们一般只会设置其三个顶点的属性,那么三角形中其他着色点的颜色又应该如何计算呢?...例如在 Phong 着色法中我们对法线进行插值,在使用纹理的时候也会对 UV 坐标进行插值,下面我们就来讨论一下在三角形中这个插值如何计算。...基于重心坐标插值 我们这里讨论的重心坐标9,是由三角形顶点定义的坐标系。也就是给定一个三角形,我们有一个重心坐标系,换一个三角形则坐标系也会跟着变换。...那么对于任意点的重心坐标我们怎么算呢?这里给出重心坐标的几何视角的定义,对于任意三角形而言,将待求的点 (x,\ y) 与该三角形的每个顶点连线,此时会形成三个三角形。...根据这个公式,我们就能知道如何计算正确的顶点属性插值了。

    1.6K40

    【GAMES101-现代计算机图形学课程笔记】Lecture 09 Shading 3 (纹理映射)

    其实在上一节中已经介绍过,像Phong Shading这样的算法,它需要在已知顶点法向后对每个像素求出法向,因此需要用到插值算法,更进一步的目的是希望能够在三角形内部获得一个平滑的过渡。...下图中三角形三个顶点分别是A,B,C(假设是2D空间), 其中红点可以是三角形内任意的点,该点的真实坐标为 (x,y) ,重心坐标为 (\alpha,\beta,\gamma) ,真实坐标和重心坐标满足如下关系...我们知道三角形重心的直角坐标是顶点坐标的算术平均,即 x_c=\frac{1}{3}(x_A+x_B+x_C) ,那么很自然重心的重心坐标就是 (\frac{1}{3},\frac{1}{3},\frac...举例来说,假如我们要求投影后三角形内所有点的深度信息,我们不能根据2D空间中三个顶点的深度信息做插值,而需要先计算出3D空间中的三角形内每个点的重心坐标,然后计算出3D空间中该点插值后的深度信息,最后将该深度信息填充到对应的...我们知道像素是图片构成的基本单元,也是屏幕空间的基本单元,大部分情况下是方的,而纹素是纹理图片空间的基本单元,可以看成是纹理的组成“像素”,这里让它区别于像素,主要是为了强调它的应用方式。

    2.3K80

    【十天自制软渲染器】DAY 03:画一个三角形(向量叉乘算法 & 重心坐标算法)

    :toyRenderer-day3-draw-triangle[1] 1.如何画一个三角形? 在正式开始这一小节前,我们先想一下如何利用上一节的画线算法绘制一个实心的三角形。...那么这时候问题就转换为,如何把这个空心的三角形变为一个实心的三角形? 我想大家这时候已经有思路了,就是一行一行地扫描像素,把两个边界点之间的像素全部涂满上色就可以了。 ?...和 是向量 和 的模长,而 则是一个与 、 所构成的平面垂直的单位向量,方向由右手定则决定。...后台回复「图形学」领取经典教材 3.利用三角形重心坐标画三角形 本小节介绍一个更通用的定理——重心坐标(Barycentric Coordinate)。...0 时,P 在某个顶点上 再对第一个式子做一下变形,可以得到下式: 因为三角形位于笛卡尔坐标系内,我们可以把上面的式子沿 和 轴拆分为两个式子,他们和上式是等价的: 观察这个式子,我们可以转换为矩阵乘法的形式

    1.3K30

    【GAMES101-现代计算机图形学课程笔记】Lecture 09 Shading 3 (纹理映射)

    其实在上一节中已经介绍过,像Phong Shading这样的算法,它需要在已知顶点法向后对每个像素求出法向,因此需要用到插值算法,更进一步的目的是希望能够在三角形内部获得一个平滑的过渡。...下图中三角形三个顶点分别是A,B,C(假设是2D空间), 其中红点可以是三角形内任意的点,该点的真实坐标为$(x,y)$,重心坐标为$(\alpha,\beta,\gamma)$,真实坐标和重心坐标满足如下关系...-几何] 我们知道三角形重心的直角坐标是顶点坐标的算术平均,即$x_c=\frac{1}{3}(x_A+x_B+x_C)$,那么很自然重心的重心坐标就是$(\frac{1}{3},\frac{1}{3}...举例来说,假如我们要求投影后三角形内所有点的深度信息,我们不能根据2D空间中三个顶点的深度信息做插值,而需要先计算出3D空间中的三角形内每个点的重心坐标,然后计算出3D空间中该点插值后的深度信息,最后将该深度信息填充到对应的...我们知道像素是图片构成的基本单元,也是屏幕空间的基本单元,大部分情况下是方的,而纹素是纹理图片空间的基本单元,可以看成是纹理的组成“像素”,这里让它区别于像素,主要是为了强调它的应用方式。

    1K00

    【GAMES101】Lecture 08 着色频率

    ,平面着色 Gouraud shading(顶点着色) 对于每个三角形的顶点,我们可以计算出每个顶点的shading对吧,然后每个三角形顶点都有自己的颜色,那对于三角形内部怎么处理呢,这个可以通过插值的方法来让三角形内部的颜色有一个平滑的过渡...,具体还得看这个物体本身采样的面的数量,如果说这个模型足够精细,那实际上平面着色和顶点着色的效果也会很好 如何计算法线 我们刚刚说这个三种着色频率都需要计算这个法线,那么怎么计算呢,三角形平面的法线比较好算...,直接两条边向量做一个叉乘就可以得到这个平面的方向向量了 那这个三角形顶点的法线如何计算呢?...我们说一个顶点它肯定会是几个三角形的顶点对吧,因为用三角形表示这个物体肯定是闭合的,然后对于一个顶点周围的三角形平面都可以计算出一个法线,那我们取这些法线的平均是不是就可以近似的表示这个顶点的法线,那有的三角形面积大...,有的三角形面积小,它们的法线对顶点的法线的影响可能不一样,这里就做一个加权平均就行 还有就是两个顶点之间的像素如何计算法线,是根据重心坐标做插值实现的,这个重心坐标具体后面课程会讲解

    12910

    进阶渲染系列(二)——曲面细分(细分三角形)

    (如果你没有足够的三角形,就多生成一些) 1 Hull 和 Domains 曲面细分是将事物切成较小部分的艺术。在我们的例子中,我们将细分三角形,因此最终会得到覆盖相同空间的较小三角形。...Domain程序将获得使用的细分因子以及原始补丁的信息,原始补丁在这种情况下为OutputPatch类型。 ? 细分阶段确定补丁的细分方式时,不会产生任何新的顶点。相反,它会为这些顶点提供重心坐标。...函数里面,我们必须生成最终的顶点数据。 ? 为了找到该顶点的位置,我们必须使用重心坐标在原始三角形范围内进行插值。X,Y和Z坐标确定第一,第二和第三控制点的权重。 ? 以相同的方式插值所有顶点数据。...它们的所有边均被分成两个子边,从而每个三角形产生三个新顶点。同样,在每个三角形的中心添加了另一个顶点。这样就可以在每个原始边缘生成两个三角形,因此每个原始三角形已被六个较小的三角形替换。...由于四边形由两个三角形组成,因此现在总共有十二个三角形。 如果将所有因子设置为3,则每个边将被分为三个子边。这时,将没有中心顶点。而是在原始三角形内添加了三个顶点,从而形成了一个较小的内部三角形。

    4.7K61

    Computer Graphics note(4):Shading

    2.Shader 图像管线中存在可编程的部分,所以可以人为控制顶点和像色着色部分,而决定顶点和像素如何处理运作的代码即为Shader。...属性包括纹理映射,顶点颜色,Phong shading中的顶点法线等等。插值通过重心坐标完成。 2.重心坐标 重心坐标是针对三角形的,不同的三角形有着不同的重心坐标系统。...而对于三角形的重心而言,三角形的重心是三角形三条中线的交点,重心是三点坐标的平均值,并且重心和三角形3个顶点组成的3个三角形面积相等,可以得到其重心坐标如下: (α,β,γ)=(13,13,13)...需要注意的是重心在投影下不能保证不变的。也就是说如果想要对三维空间的某种属性进行插值的话,就应该在三维空间下计算重心坐标系统,不能在投影之后的三角形上计算。...比如光栅化阶段三角形已经被投影到屏幕空间上时,此时如果要对深度进行插值,不能直接在该三角形内计算,而是应该在三维空间下的三角形先计算好重心坐标,插值完成后再投影到屏幕空间上。

    1.7K30

    【笔记】《计算机图形学》(1&2)——导言与数学工具

    重心,对于均质物体等同于形心,三角形的重心位于三角形三边中线的交点上 而重心坐标系是在三角形中描述一个点的非常实用的坐标系,在图形学中由于三角形是大多数图形程序中组成模型的最基本元素,因此用三角形定位各个三角形内部点的坐标非常重要...重心坐标系的关键是利用三角形的边和顶点来定位坐标,如下图我们二维中可以用三角形的一点a和两条边作为基描述中间蓝点p的坐标 ?...此时如果α,β,γ中有哪个坐标在[0,1]之外,则表示这个点在此三角形外 那么重心坐标的好处在哪里呢,好处在于我们可以轻松从坐标α,β,γ中很方便地进行图形学中很关键的三角形颜色插值,而且可以很简单地得到点到边的距离比值...同理可以得到其他的分量值 第三种是面积法,这里我们要知道重心坐标的分量比恰好就是三角形被划分出的子三角形的面积比,具体的证明在很多地方都可以找到。由于面积比定理,我们可以通过计算面积来得到坐标 ?...然后我们可以用下面的公式计算出重心坐标,其中三个额外的向量是目标点到子三角形其中一个顶点的向量,用来计算子三角形的坐标 ?

    2K52

    开源篇--精准定位 模型重心坐标

    Part1前言 模型重心坐标就是在模型正中心那个点的坐标。本文介绍一种方法,可以通过代码的方式自动获取模型重心坐标。本方式适用于常用的所有模型。...Part2重心坐标 我们都学过初中几何,可以知道三角形重心是三角形三条中线的交点。当几何体为匀质物体时,重心与形心重合。下图中O为三角形的重心。...换算成笛卡尔坐标系 三角形三个顶点为 那么重心坐标 = 到了我们三维模型中,重心坐标依旧和这个公式类似,等于所有三角面重心点之和的平均值。...分为以下几个步骤: 1、加载模型获取aiScene 2、遍历aiScene下RootNode下的所有节点 3、获取aiMesh来计算模型的重心 1加载模型 加载模型示例代码如下: auto inFile...由于模型存在右手坐标系以及Y轴向上和Z轴向上,所以求出的模型重心坐标在各自坐标系下都有稍许区别。

    1.6K20

    【笔记】《计算机图形学》(8)——图形管线

    这一章是图形学基础渲染流程的核心部分,介绍了图形学中一个由顶点和面构成的模型是如何被着色显示到屏幕上的,大多数内容都是偏向编程流程的介绍,但是理解了这一套管线的运行才能更好的优化自己的图形学程序,一定要牢记于心...但是和绘制线段不一样的是,对三角形进行光栅化是为了将其转为片元,那么就需要得到三角形上的纹理坐标,从而表示出各个像素的着色 对三角形内部的点进行着色最常见的方法是使用前面2.7讲到的三角形重心坐标系,按照三角形内的点对应的重心坐标值从三个顶点处取颜色加权融合起来...但是这仅仅是最简单的着色方法,实际中三角形常常是互相连接出现的,如何对两个三角形之间的公共边进行着色呢?...在绝大多数情况下,三角形的边都不能正好符合像素的排列,在这种情况下所谓的公共边也就不成为题了,因为那些像素一定是输入其大部分区域所在的三角形的颜色值,我们通过下面的伪代码进行对应的着色。...这个代码有一个显而易见的缺点,就是对于每个想要着色的三角形都需要遍历屏幕上所有的点来保证着色的正确,因而下面的伪代码又缩小了搜素的范围,因为需要着色的点只可能可能处于三角三个顶点构成的矩形内,通过这个优化大幅加速了计算的过程

    2.7K31

    【笔记】《Phong Deformation: ...》的思路

    这个变形在二维上我们可以看作由下图左边的普通线性插值变形和右边的顶点混合插值变形融合为中间的Phong变形. ? 为了更好地解释顶点变形问题, 我们需要介绍一下拉格朗日描述下的网格变形....更详细的介绍我在【笔记】《计算机图形学》(1&2)——导言与数学工具的2.7中有记录, 下面是求解任意点对应一个四面体计算重心坐标的公式流程....重心插值的好处就是即便我们改变了这个三角形的形状其中的点的相对位置依然可以保证, 这很适合表面变形问题因此在图形学中广为应用. ?...另一个问题是我们要如何得到各个顶点上的梯度F呢. ? ---- PartC 顶点梯度估计 首先是第二个问题, 如何得到顶点梯度F....这个式子实际上就是利用其它三角形重心的梯度Fc来按照距离对当前顶点进行加权平均. 那么现在的问题就转化为如何找到合适的权值wk. ?

    99220

    PhysX4.1 Capsule-Heightfield地形碰撞检测源码分析

    Segment和Triangle的最短距离及线段和三角形上对应的点 我们先从求点P和三角形ABC最短距离的思路说起 我们知道三角形可以表示为重心坐标:T(s,t)=A+s(B-A)+t(c-A),其中...s≥0,t≥0,s+t≤1 那么P的最近点为二次函数d(s,t)=||T(s,t)-P||^2最小值,包括三种情形:某一顶点处、某一条边上以及三角形内部。...这种方法是向量微分的方法,学校解题中一般也只会谈这种方法,不过对于计算机中实现和这个特定应用来说,我们使用的是另外一种方法:考虑P位于三角形的哪一个区域(Voronoi域),将P正交投影至该特征域即可获得最近点...后根据不同的情况分类讨论,fr为线段上的参数,fs,ft分别为三角形uv,比较不同情况下segment-segment,point-triangle的距离 https://www.zhihu.com...激活edge是在处理每个三角形之前处理的,大致是遍历三角形的相邻三角形,只处理edge两边三角形为锐角的部分,这大概也能理解,如果是退化或非凸的边缘,不应该拿来做SAT

    48810

    基于图像的单目三维网格重建

    作者发现,通过反转渲染器,就可以获得对通用3D推理任务的密集像素级监督,这是传统方法无法实现的。 但是在传统的图形通道中,渲染过程不是可微的。...与标准光栅化器只选择观察方向上最接近的三角形的颜色不同,作者提出所有三角形对每个渲染像素都有概率贡献,这可以在屏幕空间上建模为概率图。...软光栅器 1.可微渲染通道:下图展示了标准渲染管道(上分支)与本文的渲染框架(下分支)之间的比较,作者定义了环境设置的外部变量(相机P和照明条件L)和描述模型特定属性的内部属性(三角形网格M和顶点外观A...(a)像素到三角形距离的定义;(b)-(d)不同σ生成的概率图 3.聚合函数:对于每个网格三角形fj,通过使用重心坐标插值顶点颜色,在图像平面上的像素Pi处定义其颜色映射Cj。...然而,对于OpenDR,由于局部过滤操作,顶点只能从近距离内的相邻像素接收梯度。对于NMR,没有从白色区域内的像素定义相对于三角形顶点的梯度。

    1.2K10

    表面着色

    漫反射 有一些物体看起来比较粗糙,比如纸,石头等,如果我们盯着该类物体的一个地方看,同时也做各种旋转,会发现没什么变化,也就是不会出现高光,这类物体就叫 Lambertian objects.接下来就介绍如何给这类物体着色...在给物体着色的时候,如果直接使用上面介绍到的着色公式,会发现表面看起来是多面的,针对这个问题可以用三角形来近似每个表面,然后计算三角形每个顶点处的法线,针对法线计算顶点处的颜色,然后再利用三角形重心坐标公式即可插值出三角形内部各个点的颜色...如下所示: image.png 从上图可以看出,高光是在观察角和入射光的反射方向接近情况下出现的,那么就可以用下面公式来表示: image.png 这儿的参数p是为了增大衰减的速度,可以看到下图:...如果在直接光栅化的时候,可以利用冯法线插值来对法线进行插值: image.png 这样只要只要各个顶点处的法线,就可以计算出三角形内部某个像素处的法线。...在画线的时候,人工绘画与真实世界的一个区别是前者会绘制轮廓。绘制轮廓的条件如下: image.png n是两个相邻三角形的法线,e是从公共变到观察点的向量。

    57310

    图形管线

    这时候的算法如下: image.png 简单理解下这个算法,在起点和终点之间,每次增加x都需要有一个点位于该线段上,默认是水平的,如果满足某个条件,那么就更新y坐标。 那如何表示该条件呢?...三角形 光栅化三角形需要区分出在三角形内的像素点和对三角形内像素点的颜色进行插值。这两个都可以通过重心坐标来完成。...阴影 在涉及到阴影的时候,就需要考虑是在顶点着色时处理还是片元着色时处理。定点着色会比较简单,按照顶点计算是否应该在阴影中,然后其余交给光栅化去插值。...好处是运算量小,不过效果可能不会很好,由于是按照图元顶点来的,那么小于图元的细节就处理不了了。如下图所示: image.png 可以看到高光处有明显的三角形痕迹。...另外一个方法就是在片元处理的时候计算阴影,由顶点着色器将光源的方向和点的法线信息传过来。好处是效果好一些,不过运算量会大一些。

    67320

    【笔记】《计算机图形学》(10)——表面着色

    不过在记笔记时多少也会参考一下中文版本 这一篇包含了原书中第十章的内容,简单介绍了图形学中传统的明暗着色方法,还简单介绍了如何进行艺术化着色。...之所以这样做是因为当着色是对应物体面片时,明暗在面片上不变因此会显得很粗糙,解决方法就是先计算出三角形顶点上的法线,然后三角形的内部的颜色由三个顶点的着色来进行重心插值得到 而若模型没有给出三角形顶点的法线...,可以使用顶点周围的多个三角形面片的法线求平均得到,求平均后的法线记得要进行单位化。...经过这样的处理我们可以用较小的性能代价在低面数的表面上绘制出比较真实的光照效果 ---- 10.2 Phong着色 对于非郎伯物体,例如台球之类的光滑物体,光线找到表面会产生高光。...表面法向量插值 前面在散射着色的时候我们试过了用重心坐标系插值来得到顶点的法线。

    1.5K20

    n维空间的多面体的有向测度和重心

    缘起 在《三维凸包》中我们学习了如何求三维空间中的点集凸包,本文来论述二维、三维甚至高位几何体的测度和重心的计算. 所谓测度,对于二维,指的是面积,对于三维,指的是体积....三角形的面积和重心 这个在之前的学习中早就知道了,三角形的有向面积使用叉积可以方便的计算出来. ? 则三角形的有向面积是 ? 其中, 是 A 在平面的坐标, 下同....大家可以对比一下二维三角形的有向面积S和这里的三维四面体的有向体积V的计算公式, 四不四发现了墙裂的美感?...是把第 i 个面剖分为 个三角形之后, 第 j ( )个三角形 和坐标原点 O 构成的四面体的重心....此时,多面体的面是 n - 1 维空间(更一般的,是 n - 1 维流形),而每个 n - 1 维面又由若干 n - 2 维面构成,如此不断分解,直至二维面由若干顶点构成.

    3.5K30
    领券