通知

 
  • 欢迎大家选修《数字几何处理》课程!2015.03.01
  • 课程简介

     

    《数字几何处理》是计算机科学与技术专业本科教学中的一门方向选修课程,是计算机图形学领域的基础课程。其主要特点是理论与实践结合性强,是许多后续课程(如图像处理,模式识别,多媒体技术,虚拟现实,计算机视觉等)的基础课程,在CAD/CAM、(汽车、船舶、飞机的)外形设计、计算机动画、计算机艺术、过程控制、系统环境模拟、地理信息系统、科学计算的可视化等领域都有重要的应用。本课程主要学习3D模型在计算机中表示方法、数据结构、建模方法、形状编辑和分析方法等。掌握OpenGL的基本知识并能够应用于图形生成。在此基础上,通过编写算法实现程序加深对3D图形基本内容的理解,提高用理论指导实践的能力,为学生今后学习其他相关课程和从事3D图形处理及其应用方面的研究打下坚实基础,为学生就业提供一定的基础知识和技能训练。

    任课老师:陈中贵
    个人主页:http://graphics.xmu.edu.cn/~zgchen/
    课程助教:涂锦灿     Email:1125439800@qq.com

    参考教材:
    1. Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, Bruno Levy. "Polygon Mesh Processing". AK Peters, 2010
    2. Schroder Peter, Sweldens Wim. "Digital Geometry Processing", ACM SIGGRAPH Course Notes, 2001.
    3. 王仁芳,张三元. 《数字几何处理的若干问题研究进展》, 清华大学出版社,2012

    成绩评定:
    10%平时成绩 + 40%编程实验 + 50%考试
    1. 平时成绩包括课堂表现和出勤;
    2. 每隔几周会布置一个编程实验题目,每个人独立完成,禁止抄袭;
    3. 上交源码实验报告,报告内容包括对问题的描述、解法方法、代码实现、实验结果和分析总结。

    教学内容

     

    章或节

    主要内容

     

    1 数字几何处理简介

    1.1 研究内容
    1.2 发展的历史回顾
    1.3 应用及研究前沿
    1.4 图形设备

    2 3D模型表示方法和编程基础

    2.1 网格模型的半边数据结构
    2.2 OpenMesh介绍
    2.3 OpenGL介绍

    3 离散微分几何

    3.1 微分几何基本概念
    3.2 离散算子

    4 曲面光顺

    4.1 拉普拉斯光顺
    4.2 保特征光顺方法

    5 曲面展开和参数化

    5.1 固定边界参数化方法
    5.2 自由边界参数化方法

    6 网格优化和重新网格化

    6.1 网格质量度量
    6.2 基于CVT的优化方法

    7 网格简化

    7.1 形状逼近度量
    7.2 LOD技术

    8 曲面修复

    8.1 薄膜覆盖方法
    8.2 基于几何图片的合成方法

    9 3D模型形变

    9.1 基于几何的形变
    9.2 基于物理的形变

    前沿讲座

    介绍几何数字几何处理的最新进展

     

    课件下载

     

     课程相关电子书、课件、例子程序可到课程ftp站点下载: ftp://graphics.xmu.edu.cn   用户名为dgp   密码在课堂上提供

     

    网络资源(更多资源见刘利刚教授主页)

     

     

    C++ coding styles

    Computer Program Documentation Standards

    Advices on Researches:

    Mesh Models:

    Mesh library on the internet:

    Model formats:

    • The Graphics File Formats Page
    • dxflib — for reading DXF models
    • lib3ds — for reading 3D studio files
    • ply 1.1 — an older version of the PLY library from Stanford
    • PLYtools — Greg Turk’s code for working with PLY files
    • trimesh — a C++ library for working with PLY files from Szymon Rusinkiewicz [not quite as general as the libraries above]
    • Wotsit’s List — as with the image formats, a rather comprehensive list

    OpenGL programming:

    GUI toolkits:

    • FLTK — cross-platform toolkit with good OpenGL support
    • GLUT — standard but minimal OpenGL cross-platform toolkit
    • freeglut — Open Source reimplementation of GLUT
    • GLUI — implements typical GUI widgets with OpenGL in GLUT windows
    • GLOW — another OpenGL-based widget set
    • PUI — similar in spirit to GLUI
    • GLGooey — another widgets-in-OpenGL library
    • Cpw — application framework for OpenGL programs (Windows only)

    Renders:

    Useful coding related sites on the internet: