Contents

西南交通大学-计算机图形学实验4-2025年

Note
此笔记针对西南交通大学2025-2026学年上半学期开设的计图实验课
Success
学号单号和双号任务均已完成
Special thanks👍🏿
感谢李同学为本次实验提供的帮助!

https://img.shields.io/github/contributors/septemus/swjtu-computergraphics-exp4.svg?style=for-the-badge https://img.shields.io/github/forks/septemus/swjtu-computergraphics-exp4.svg?style=for-the-badge https://img.shields.io/github/stars/septemus/swjtu-computergraphics-exp4.svg?style=for-the-badge https://img.shields.io/github/issues/septemus/swjtu-computergraphics-exp4.svg?style=for-the-badge https://img.shields.io/github/license/septemus/swjtu-computergraphics-exp4.svg?style=for-the-badge


Logo

西南交通大学-计算机图形学实验4-2025年

三维图形建模实验
访问博客获得更多信息

View Demo · Report Bug · Request Feature

实验要求

根据实验参考资料 4,完成立方体模型构建。根据以下对应的任务,可在 CGRenderable

基础上派生出对应的图形对象类,实现相关模型构建。在场景中添加图形实例节点进行显示。

  1. 立方体模型构建(必选)
  2. 对应学号尾数为单号:
    • 球体类(参数是半径、经度与维度方向上的细分数量),默认模型坐标系原点在球体中心,环 Z 轴细分数(相当于经度细分)slice、沿 Z 轴方向细分数(相当于维度方向细分数)stack。场景实例要求完成球体模型的多实例绘制。可设计面板按钮分别调用弹出对话框输入参数,完成球体线框模型、球体表面模型的绘制。
  3. 对应学号尾数为双号:
    • 圆柱类(参数包括下底面半径、上顶面半径、高度、环 Z 轴细分数 slice、沿 Z 轴方向细分数 stack。要求当上顶面半径为 0 是能实现圆锥体。场景实例要求完成圆柱及体圆锥体的线框模型、球体表面模型的绘制。可设计面板按钮分别调用弹出对话框输入参数,完成圆柱及体圆锥体的多实例绘制。

/images/cg/exp4/demand1.png

/images/cg/exp4/demand2.png

(back to top)

实验工具

  • https://img.shields.io/badge/c++-000000?style=for-the-badge&logo=cplusplus&logoColor=white
  • https://img.shields.io/badge/opengl-000000?style=for-the-badge&logo=opengl&logoColor=white
  • https://img.shields.io/badge/Git-000000?style=for-the-badge&logo=git&logoColor=white

(back to top)

实验效果

  1. 立方体构建 /images/cg/exp4/result.png
  2. 球体构建
    • /images/cg/exp4/result2.png
    • /images/cg/exp4/result3.png
  3. 圆柱/锥体构建
    • /images/cg/exp4/result4.png
    • /images/cg/exp4/result5.png

(back to top)

使用教程

打开Visual Studio:

/images/step1.png

选择克隆存储库

/images/step2.png

粘贴github源代码仓库地址:https://github.com/Septemus/swjtu-computergraphics-exp4

/images/cg/exp4/step3.png

设置好路径后点击克隆

/images/step4.png

点击启动按钮

/images/step5.png

启动成功

/images/cg/exp4/step6.png

点击工具栏的三维图形类,可以看到按钮

/images/cg/exp4/step7.png

球体(学号单号)

点击球体,出现对话框设置球体属性

/images/cg/exp4/step8.png

设置球体属性

/images/cg/exp4/step9.png

点击确定,绘图区出现球体

/images/cg/exp4/step10.png

圆柱体(学号双号)

点击圆柱,出现对话框设置圆柱属性

/images/cg/exp4/step2-1.png

设置圆柱属性

/images/cg/exp4/step2-2.png

点击确定,绘图区出现圆柱

/images/cg/exp4/step2-3.png

开发路线

  • 在Windows 11,Visual Studio 2022上创建MFC APP实现
  • 在MacOS,QT6上创建QT APP实现

查看 open issues 获取功能和问题列表

(back to top)

开源贡献

正是贡献让开源社区成为了学习、启发和创造的绝佳场所。我们非常感谢您的任何贡献。

如果您有改进建议,请分叉仓库并创建拉取请求。您也可以简单地打开一个带有标签“增强”的问题。

别忘了给项目点个星!再次感谢!

  1. 分叉项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交您的更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

贡献者:

contrib.rocks image

(back to top)

License

Distributed under the Unlicense License. See LICENSE.txt for more information.

(back to top)

联系

博客留言 - 西南交通大学-计算机图形学实验4-2025年 - musketeerdt@gmail.com

项目源代码仓库: https://github.com/Septemus/swjtu-computergraphics-exp4

(back to top)