zoukankan      html  css  js  c++  java
  • 图形学-基础数学

    opengl只接受凸多边形

    凸多边形: 指多边形任意非相邻的两点的连线位于多边形的内部。

    计算漫反射颜色的方法:

    Cdiff = max{N • L, 0} * Cmat * Cli

    其中N代表顶点的单位法线, L代表从顶点指向光源的单位向量。Cmat 是表面的材料颜色, Cli是光源的颜色。Cdiff则计算出来的结果。在例子中我们使用的是白光,所以我们可以直接忽略掉Cli 因为乘以{1, 1, 1, 1}结果不变。

    点乘==内积,得到的是一个数值

    叉乘==外积,得到的是一个向量

    面的法向量: 就是两个面中向量的外积

    点的法向量: 就是包含这个点的所有面的法向量之和

    克莱因瓶:

    莫比乌斯带:

    莫比乌斯带是个“不可定向的”曲面(non-orientable surface)。而普通的纸带圈或者球面是可定向(orientable)的。直观上可以这样解释:在球面或者普通纸带圈的每一个点,可以找两个方向相反的箭头与该曲面垂直,比如一个向外的箭头和一个向内的箭头。我们只取其中一个,比如向外的那个。我们可以连续地把这个箭头在曲面上移动,使之始终与曲面垂直并且指向外。我们把这个箭头称做曲面的一个定向。

    上述两者是同构的,把克莱因瓶沿一条线剪开就是莫比乌斯带

    opengl和dx使用的矩阵乘法的不同:

    行矩阵:(dx使用)
        三个轴向量为前三行,最后一行为位移变换
        连乘时从左到右接合,左边的变换先应用
        变换向量时为vector * matrix
    列矩阵:(opengl使用)
        三个轴向量为前三列,最后一列为位移变换
        连乘时从右到左接合,右边的变换先应用,注意这和*运算符的接合顺序相反
        变换向量时为matrix * vector

    dx的变换矩阵:

    平移:

    绕x轴旋转:

    绕y轴旋转:

    绕z轴旋转:

    缩放:

     从图上看,旋转矩阵其实描述的是,一个圆上的两点之间的相对关系

  • 相关阅读:
    人工智能
    华盛顿邮报启用核查事实机器人,新闻行业路指何方
    被算法控制的网络
    新型机器人闯入职场:到底是工作缔造者还是工作终结者?华盛顿邮报
    有情感会说话,虚拟人脸Zoe诞生
    IBM Watson将最终适应智能机,可以进行疾病诊断
    我们用大数据创造没人能理解的人工智能
    在DNA中存储数据成为现实
    matlab 工具箱
    背后的原因——是时候让计算机理解我们的意图、而非表面意思
  • 原文地址:https://www.cnblogs.com/bornfish/p/4598290.html
Copyright © 2011-2022 走看看