高分求答。图形学实验题目。急。分不够再加

netbian 2005-06-09 08:49:38
1、编写一个通用的子程序(如:类或多个函数),其功能可以完成基本二维图形变换(平移、旋转、变比、反射)。通过调用此子程序,实现下列变换:(1)将一平行四边形做平移变换;(2)将平行四边形以原点为中心,以10o为间隔做360o旋转;(3)将一三角形在x和y方向均缩小为原来一半。绘制各种基本图形可以使用系统函数。

2、绘制立方体的平行投影效果图和一点透视效果图。在程序中给出立方体的顶点坐标。视点方向为从z轴正方向看原点,视线平行于z轴。投影面为XOY平面,投影中心位于z轴负轴某点,当改变投影中心位置时,查看一点透视效果的变化。绘制各种基本图形可以使用系统函数。

开发工具不限,最好用c# 呵呵
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzwu 2005-06-17
  • 打赏
  • 举报
回复
在作3d图形时,要作旋转、平移、放大缩小、透视、投影等一些列变换,

投影通常是其中最简单的一种变换:只要把3d点P(x,y,z)的z改为0,
变成为P'(x,y,0), 就是P(x,y,z)在X-Y平面的投影了;

透视也很简单,把点P(x,y,z)改为P'(x/(1+rz),y/(1+rz),z), 就构成
最常用的一点透视,其中r是常数(透视率),z愈大,图形就愈小。
netbian 2005-06-17
  • 打赏
  • 举报
回复
r值是自己随便设定吧
netbian 2005-06-17
  • 打赏
  • 举报
回复
明白了 谢谢
zzwu 2005-06-17
  • 打赏
  • 举报
回复
我想我已经讲清楚了,但你还不懂,
所以希望你把下面7句话中不懂的那一句话讲出来:

1。只要把3d点P(x,y,z)的z改为0,
2。变成为P'(x,y,0),
3。就是P(x,y,z)在X-Y平面的投影了;

4。把点P(x,y,z)改为P'(x/(1+rz),y/(1+rz),z),
5。就构成最常用的一点透视,
6。其中r是常数(透视率),
7。z愈大,图形就愈小。

我再想想你为什么不懂。

zzwu 2005-06-17
  • 打赏
  • 举报
回复
我想我已经讲清楚了,但你还不懂,
所以希望你把下面4句话中不懂的那一句话讲出来:

1。只要把3d点P(x,y,z)的z改为0,变成为P'(x,y,0),
2。就是P(x,y,z)在X-Y平面的投影了;

3。把点P(x,y,z)改为P'(x/(1+rz),y/(1+rz),z),
4。就构成最常用的一点透视,
5。其中r是常数(透视率),
6。z愈大,图形就愈小。

我再想想你为什么不懂。
netbian 2005-06-17
  • 打赏
  • 举报
回复
楼上的能讲的具体点 初学 呵呵 不是太懂
zzwu 2005-06-16
  • 打赏
  • 举报
回复
1.问题并不深
2.但牵涉步骤较多
3.用C#就麻烦了:不是每个人都了解
netbian 2005-06-16
  • 打赏
  • 举报
回复
那就用其他的实现也一样
最原始的投影算法和透视算法那位高手能给一下。谢谢了

4,447

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧