• OpenGL基础


    20' 抛物面,法向量

    10' 抛物面

    #define DELTA 0.1

    #define PI2 2*3.14159

    double parabolicSurf[36][10][3];

    void MakeParabolicSurface()

    {

        for (int a = 0; a < 36; a++)

        {

            for (int r = 0; r < 10; r++)

            {

                parabolicSurf[a][r][0] = (DELTA*r)*cos(a*PI2 / 36.0);

                parabolicSurf[a][r][1] = (DELTA*r)*sin(a*PI2 / 36.0);

                parabolicSurf[a][r][2] = (DELTA*r)*(DELTA*r);

            }

        }

    }

    10' 法向量

    void Normal(double a[3], double b[3], double c[3], double n[3])

    {

        int i;

        double p[3], q[3];

        for (i = 0; i < 3; i++)

        {

            p[i] = b[i] - a[i];

            q[i] = c[i] - a[i];

        }

        n[0] = p[1] * q[2] - p[2] * q[1];

        n[1] = p[2] * q[0] - p[0] * q[2];

        n[2] = p[0] * q[1] - p[1] * q[0];

        double t = n[0] * n[0] + n[1] * n[1] + n[2] * n[2];

        t = sqrt(t);

        for (i = 0; i < 3; i++)

            n[i] /= t;

    }

    20'切平面方程,曲率

    切平面方程:高等数学(下)p123—p128

    曲率:高等数学(上)p208-p211

    20'几何变换,齐次坐标

    例题:

    20'名词解释

    参数样条曲线

    样条是一根富有弹性的细木条或类似物,其两端连接着起固定作用的压铁。通过调整样条两端的压铁可以改变样条的形态,它是手工绘制自由曲线的一种工具。沿着样条绘制的曲线称为样条曲线

    贝塞尔曲线的凸包性

    贝塞尔基函数

    自由曲线

    形状比较复杂、不能用二次方程来表示的曲线(曲面)称为自由曲线(曲面),也称为复杂曲线(曲面),通常以三次参数方程来表示。

    曲线拟合

    给定一个点列,用该点列来构造曲线的方法称为曲线拟合

    曲线插值

    已知曲线上的一个点列,求曲线上的其他点的方法称为曲线插值

    参数多项式曲线

    样条曲线可以表示为参数多项式曲线或分段参数多项式曲线。

    齐次坐标表示法

    所谓齐次坐标表示法就是用n+1维向量表示一个n维向量,即n维空间中的点的位置向量(P1,P2,…Pn)被表示为具有n+1个坐标分量的向量(hP1,hP2,…,hPn,h)。

    规范化过程

    从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为规范化过程。

    直线反走样

    通常,我们把由离散量表示连续量引起的失真称为走样;把减少或克服走样效果的技术称为反走样技术,简称反走样。

    直线如何反走样

    把像素作为一个有限区域,对区域采样来调整像素的亮度,以光顺边界来减小锯齿现象

    20' Hermite样条曲线

    例题:已知平面上三点P1(0,0),P2(1,1)和P2(2,0),用自由端约束条件计算三次Hermite样条曲线Q(t)使得它拟合点列{P1,P2,P3},并将Q(t)表示为参数序列{0,1,2}上的分段参数多项式函数。

    解:由Hermite样条曲线二阶导数的连续性及自由端约束条件得到

    解方程组得到

    由控制点的坐标得到

    由Hermite曲线方程

    得到

    所求曲线方程为:

  • 相关阅读:
    java 数据结构(六):数组与集合
    java 数据结构(七):Collection接口
    java 数据结构(八):Iterator接口与foreach循环
    java 数据结构(九):Collection子接口:List接口
    java 数据结构(十):Collection子接口:Set接口
    java 数据结构(十一):Map接口
    java 数据结构(十二):Collections工具类的使用
    java 面向对象(三十二):泛型一 泛型的理解
    java 面向对象(三十三):泛型二 泛型在集合中的使用
    iOS下JS与OC互相调用(四)--JavaScriptCore
  • 原文地址:https://www.cnblogs.com/kexinxin/p/10049916.html
Copyright © 2020-2023  润新知