当前位置: 首页 > 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/382921.html

相关文章:

  • 做实验教学视频的网站网站运营工作内容
  • 网站 工商备案今日头条荆州新闻
  • 简述网页建站流程kol推广是什么意思
  • 搭建网站实时访问地图郑州网站推广哪家专业
  • 网站开发费的税率是多少优化营商环境存在问题及整改措施
  • 天津市住房城乡建设部网站国内最近的新闻大事
  • 怎么做网站相关关键词seo点击排名源码
  • 企业建设网站网站建设公司推广软件平台
  • 怎样提高网站转化率国外seo网站
  • 深圳网站外包公司网络服务器配置与管理
  • 旅游网站开发现状推广之家app
  • 网站推广的方案设计怎么写搜索引擎调价工具哪个好
  • 东莞手机网站建设入门店铺seo是什么意思
  • 百度创建网站网站的推广方法
  • wordpress做表格插件seo优化报价
  • 百度糯米网站怎么做stp营销战略
  • 基层单位不能建设网站qq推广工具
  • 贵阳讯玛网站建设成都排名seo公司
  • 给政府做网站怎么报价b2b采购平台
  • 网站如何建设广告投放平台排名
  • 外贸网站用什么语言优化设计答案五年级上册
  • 云平台开发网站朋友圈广告推广平台
  • 一个网站收录很高 但外链很少是什么原因太原seo培训
  • 购物网站设计说明软文接单平台
  • 如何做简易网站建立网站流程
  • fireworks cs6如何做网站网页设计需要学什么
  • 网站建设和优化优化大师tv版
  • 开发商破产清算赔偿五大顺序滨州seo排名
  • 北京制作网站报价兰州模板网站seo价格
  • 做网站公司职员工资百度如何收录网站