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

新闻资讯网站怎么做最近一周热点新闻

新闻资讯网站怎么做,最近一周热点新闻,有什么做设计的兼职网站,漫蛙漫画网页版链接CG11下 多边形近似问题 用多边形近似平滑曲面时,颜色不连续,导致效果不佳。 Gouraud着色 对于多边形模型,Gouraud提出使用网格顶点周围法向量的平均值作为顶点法向量: n n 1 n 2 n 3 n 4 ∣ n 1 n 2 n 3 n 4 ∣ \mathbf…

CG11下

多边形近似问题

  • 用多边形近似平滑曲面时,颜色不连续,导致效果不佳。

  • Gouraud着色

    对于多边形模型,Gouraud提出使用网格顶点周围法向量的平均值作为顶点法向量:

    n = n 1 + n 2 + n 3 + n 4 ∣ n 1 + n 2 + n 3 + n 4 ∣ \mathbf{n}=\frac{\mathbf{n}_1+\mathbf{n}_2+\mathbf{n}_3+\mathbf{n}_4}{\left|\mathbf{n}_1+\mathbf{n}_2+\mathbf{n}_3+\mathbf{n}_4\right|} n=n1+n2+n3+n4n1+n2+n3+n4
    在这里插入图片描述

    • 在每个顶点使用Phong光照模型计算RGB颜色。
    • 通过线性插值计算多边形内点的颜色。
    • 插值公式:
    • 对于点 P 1 P_1 P1(在边 AB 上):

    s = ∥ P 1 − B ∥ ∥ A − B ∥ , ( R P 1 , G P 1 , B P 1 ) = s ( R A , G A , B A ) + ( 1 − s ) ( R B , G B , B B ) s=\frac{\left\|P_1-B\right\|}{\|A-B\|}, \quad\left(R_{P_1}, G_{P_1}, B_{P_1}\right)=s\left(R_A, G_A, B_A\right)+(1-s)\left(R_B, G_B, B_B\right) s=ABP1B,(RP1,GP1,BP1)=s(RA,GA,BA)+(1s)(RB,GB,BB)

    • 对于点 P P P(在P1P2之间):

    s = ∥ P − P 2 ∥ ∥ P 1 − P 2 ∥ , ( R P , G P , B P ) = s ( R P 1 , G P 1 , B P 1 ) + ( 1 − s ) ( R P 2 , G P 2 , B P 2 ) s=\frac{\left\|P-P_2\right\|}{\left\|P_1-P_2\right\|}, \quad\left(R_P, G_P, B_P\right)=s\left(R_{P_1}, G_{P_1}, B_{P_1}\right)+(1-s)\left(R_{P_2}, G_{P_2}, B_{P_2}\right) s=P1P2PP2,(RP,GP,BP)=s(RP1,GP1,BP1)+(1s)(RP2,GP2,BP2)
    在这里插入图片描述

Gouraud着色与高光问题

  • Gouraud着色的原理

    • 顶点处的光照计算

      • 顶点法线:Gouraud着色在顶点处进行光照计算。每个顶点都有一个法线向量,这个法线向量用于确定该顶点处的光照反射情况。顶点法线通常是通过对其相邻面的法线进行平均来得到的,这样可以近似模拟曲面的光照效果。
      • 光照模型:在顶点处,使用光照模型(如Phong光照模型)计算光照强度。光照模型考虑了环境光、漫反射光和镜面反射光等因素,通过顶点法线和光源方向等参数来计算每个顶点的颜色值。
    • 在Gouraud着色中,光照计算是在每个顶点处进行的。每个顶点的RGB颜色值是通过光照模型计算得出的。然后,这些颜色值在多边形的面上进行插值,以确定面上每个点的颜色。

  • 高光缺失的原因

    • 当使用Gouraud着色时,如果高光应该出现在多边形面的中心(例如点P),但该面的顶点(如A、B、C)远离高光区域,那么顶点处的光照计算可能不会包含高光。这是因为顶点处的法线方向与高光反射所需的条件不匹配,导致顶点处没有高光。
    • 由于Gouraud着色通过插值顶点颜色来确定面上的颜色,如果顶点处没有高光,那么整个面上的插值结果也不会包含高光。因此,面的内部区域(如点P)将无法正确显示高光。

Phong着色(Phong Shading)是一种用于计算机图形学中光照效果的技术,它与传统的Gouraud着色不同,Phong着色插值的是法向量而非颜色。这使得Phong着色能够精确模拟每个像素的光照,特别是高光和复杂的光照效果,从而提供更细致、真实的图像。

Phong着色算法流程

  1. 计算每个顶点的法向量
    • 每个顶点都有一个法向量。通常,这些法向量是通过计算与相邻多边形的法向量的平均值来得到的。通过这种方式,可以确保法向量在整个模型表面上是平滑过渡的。
  2. 边上插值
    • 对于每个边上的点(如 P 1 P_1 P1, P 2 P_2 P2),根据相邻顶点(例如 A A A, B B B)的法向量,通过线性插值得到这些点的法向量。这个插值过程基于相邻顶点的法向量进行,从而确保边缘的法向量也是平滑过渡的。
  3. 多边形内部插值
    • 对于多边形内部的点(例如点 P P P),法向量由相邻边上的法向量插值得到。具体来说,如果我们有两个边(例如边 P 1 P P_1P P1P 和边 P 2 P P_2P P2P),则点 P P P 的法向量由这两个边上的插值法向量得到。
  4. 计算光照
    • 使用Phong光照模型计算点 P P P 的RGB颜色。具体来说,Phong模型包括三个主要部分:漫反射光、镜面反射光和环境光。
      • 漫反射光:与表面法向量和光源方向的关系有关,遵循Lambert’s Cosine Law。
      • 镜面反射光:模拟高光,通常与观察者视角和反射光线之间的夹角有关。
      • 环境光:提供一个基本的、均匀的照明,模拟从所有方向照射的光。
    • 法向量的插值使得每个像素的光照计算更加精确,特别是在模拟表面高光和复杂的反射效果时。

发现没?gouraud插值的是光照颜色,而phone插值的是法向量值

过程总结

  • 顶点法向量:首先计算每个顶点的法向量。
  • 边法向量插值:在每条边的每个点上,基于顶点的法向量进行插值。
  • 内部法向量插值:在多边形内部的每个点上,基于相邻边的法向量进行插值。
  • 光照计算:利用插值后的法向量,使用Phong光照模型来计算每个点的颜色。

在这里插入图片描述

曲面细分(Subdivision Surface)是计算机图形学中的一种方法,用于将粗糙的多边形网格细化为平滑的曲面。细分算法通过递归地分割网格中的每个多边形,逐步使曲面变得光滑,最终形成一个极限曲面。

Catmull-Clark细分算法

Catmull-Clark细分算法是最著名和广泛应用的细分算法之一。它适用于四边形网格,旨在通过多次细分,将粗糙的网格转变为光滑的曲面。该算法是由Edwin Catmull和Jim Clark于1978年提出的。

Catmull-Clark细分基本概念
  1. 面点(Face Points)
    面点是一个新点,它位于一个四边形面的中心,坐标为四个角点的平均值。即对于一个四边形面(由四个顶点组成),面点坐标 f f f 可以计算为:
    f = 1 n ∑ i = 1 n p i f = \frac{1}{n} \sum_{i=1}^n p_i f=n1i=1npi
    其中, n n n 是四边形的角点数, p i p_i pi 是这些角点的坐标。

  2. 边点(Edge Points)
    边点是位于每个边的中点,坐标是两个端点和相邻面点的平均值。对于一条边(由两个顶点组成)和它相邻的两个面,边点的计算公式为:
    e = p 1 + p 2 + f 1 + f 2 4 e = \frac{p_1 + p_2 + f_1 + f_2}{4} e=4p1+p2+f1+f2
    其中, p 1 p_1 p1 p 2 p_2 p2 是边的两个端点, f 1 f_1 f1 f 2 f_2 f2 是相邻面的面点。

  3. 顶点(Vertex Points)
    顶点的更新更复杂。它是原始顶点位置与相邻面点和边点的加权平均。公式为:
    p ′ = n − 3 n p + 2 n 2 ∑ j e j + 1 n 2 ∑ j f j p' =\frac{n-3}{n} p+\frac{2}{n^2} \sum_j e_j+\frac{1}{n^2} \sum_j f_j p=nn3p+n22jej+n21jfj
    其中:

    • p p p 是原始顶点坐标。
    • n n n 是顶点的度数(即顶点相邻的面数)。

    此外,异常点(degree ≠ 4的顶点)需要特殊处理。

Catmull-Clark细分的几何更新规则

通过递归细分,新的网格逐渐平滑。每次细分后,网格的拓扑结构会发生变化,新顶点和边的生成使得曲面更加光滑。Catmull-Clark算法对于每个细分步骤都会根据上面列出的规则更新顶点、边和面。

Catmull-Clark细分公式
  • 面点公式
    f = 1 n ∑ i = 1 n p i f = \frac{1}{n} \sum_{i=1}^n p_i f=n1i=1npi

  • 顶点更新公式
    p ′ = n − 3 n p + 2 n 2 ∑ j e j + 1 n 2 ∑ j f j p' =\frac{n-3}{n} p+\frac{2}{n^2} \sum_j e_j+\frac{1}{n^2} \sum_j f_j p=nn3p+n22jej+n21jfj

  • 边点公式
    e = p 1 + p 2 + f 1 + f 2 4 e = \frac{p_1 + p_2 + f_1 + f_2}{4} e=4p1+p2+f1+f2

通过这些公式,Catmull-Clark算法在每次细分中更新网格,逐渐平滑曲面。

Catmull-Clark细分与其他细分算法的对比

  1. 线性细分(Linear Subdivision)
    • 规则:简单的边中点细分,顶点坐标为简单的平均值。
    • 效果:生成的网格平滑性较差,可能会保留棱角。
    • 计算成本:低,适用于快速原型或简单场景。
    • 适用场景:不适合复杂曲面,通常用于简单的几何体。
  2. Catmull-Clark细分
    • 规则:复杂的规则,面点、边点和顶点分别进行加权平均,考虑相邻面的影响。
    • 效果:生成的曲面更加平滑,接近B样条曲面。能够处理异常点,生成高质量的光滑曲面。
    • 计算成本:较高,但质量优异,适用于复杂场景。
    • 适用场景:广泛应用于动画、建模软件(如Maya、Blender等),常用于复杂几何体的建模和细化。

Shading in OpenGL

暂时略

http://www.dtcms.com/wzjs/106127.html

相关文章:

  • 好友介绍网站怎么做友情链接是免费的吗
  • 自己电脑做网站需要什么设备营销方式和渠道有哪些
  • json取数据做网站银徽seo
  • 建一个网络商城的网站素材搜集预算是什么西安网站推广助理
  • 跟黄聪学WordPress主题开发广州seo推广培训
  • ppt简约大气模板seo推广和百度推广的区别
  • 北京网站备案核验单免费卖货平台
  • 郑州富士康电子厂福清seo
  • 深圳二次源网站建设爱站网关键词查询
  • 怎么注册国外网站2023知名品牌营销案例100例
  • 哪个网站做供求信息百度排名
  • 广告位网站模板竞价托管 微竞价
  • 申请免费个人网站和域名百度推广员工工资怎么样
  • 做头像的网站横杆带字北京网站建设制作公司
  • 用vs做网站后台开发可以吗优就业seo怎么样
  • 江苏高端网站建设外汇交易平台
  • 做网站的技术理论个人网站制作源代码
  • 网站推广平台代理全国各城市疫情高峰感染高峰进度
  • ss网站模板免费下载佛山抖音seo
  • 西安做网站网络推广专员所需知识
  • 网站站外推广方式有哪些陕西seo快速排名
  • wordpress 美橙互联杭州seo搜索引擎优化
  • 响应式网站建设价位最近一周新闻大事件
  • 傻瓜式做网站正规网络推广服务
  • 漳州网站建设公司首选公司山西疫情最新情况
  • 网站建设电话营销百度的官方网站
  • 网站开发设计大概多少费用网络推广优化是干啥的
  • 潍坊网站建设500百度收录查询接口
  • 网站制作 苏州北京专门做seo
  • 网站风格代码怎么推广一个平台