WebGL2 · GLSL ES 3.00 · Interactive Computer Graphics
实验五:三维模型的观察、投影与交互式复合变换
沿用实验四的三维Model矩阵,加入OBJ导入、虚拟相机View、投影Projection与鼠标键盘三维操作。每个任务有独立页面和JS文件;按A→E顺序完成并记录对照测试。
模型导入与规范化
选择球体/茶壶/兔子并导入本地OBJ,计算包围盒与归一化矩阵。
Task B · 25分 · 30分钟虚拟相机与多视角
用lookAt构建观察矩阵,完成正面、侧面、顶部、斜上方视图。
Task C · 20分 · 35分钟正交/透视与裁剪
控制FOV、正交高度、near/far,对比等尺寸物体的远近效果。
Task D · 20分 · 35分钟鼠标键盘复合变换
拖拽、键盘执行Model平移旋转缩放,滚轮调节相机距离。
Task E · 15分 · 40分钟综合三维观察工作台
整合所有模块并增加绕指定点运动的辅助标记,形成自主观察案例。
Challenge · 额外+10分 · 选做Challenge3 任意指定点旋转
实现 M=T(P)·R·T(-P)定点旋转,红色球体标记旋转中心,支持修改旋转点。
完成与提交提醒
必做A—E共90分,AI协作10分,总分100;Challenge额外最多10分。参考《实验五_实验指导书.md》。打开任务页无需网络;内置OBJ通过JS数据注册,本地OBJ通过文件选择读取。
提交时保留 index.html、所有任务页、common/、js/、models/、ai-log.md;打包为 实验5_学号.zip,邮件与课程平台两处提交同一ZIP。