VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: 八戒2

擂台赛第26期[三维图形]

[复制链接]
发表于 2007-1-28 21:56:22 | 显示全部楼层
你那个边框时隐时现,并且断断续续
我总觉得有点...
回复 支持 反对

使用道具 举报

发表于 2007-1-28 22:22:04 | 显示全部楼层
原帖由 ben1222 于 2007-1-28 19:07 发表
加了表面的颜色...
解决了消隐的问题...爽...
不过同时...速度也下降了...
光照还没做...不知怎么做...


你的消隐是怎么做的??
回复 支持 反对

使用道具 举报

发表于 2007-1-28 22:44:32 | 显示全部楼层
我就用了一个判断...
而且速度只快不慢...
回复 支持 反对

使用道具 举报

发表于 2007-1-29 12:44:58 | 显示全部楼层
完了...
虽然想通了近大远小的搞法...
但是同时也发现我这个程序不能搞近大远小...
近大远小是三维坐标转二维坐标的方法造成的...
我在三维坐标转二维坐标的时候和大伙的不一样...
回复 支持 反对

使用道具 举报

发表于 2007-1-30 14:52:12 | 显示全部楼层
偶又来掺和一个了。
按鼠标中键斜向移动时,长方体沿Z轴旋转。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2007-1-30 20:46:36 | 显示全部楼层
原帖由 大脚 于 2007-1-28 22:22 发表
你的消隐是怎么做的??

我是把图片那些像素点放进一个数组...用的DIB...
然后建立一个相同大小的数组...记录每个点的深度...
然后画图时先将三维的点转换好方向换成2维坐标...附带一个深度值...
然后就去比对那个坐标点对应的原先的深度值...如果小...而且大于0...那么就用这个点覆盖过去...
直线则是把2个点枚举其所在直线经过的像素点...然后一个个比对深度...
面...还没做...暂时用画nnn条直线来代替了...
画完了就SetDIBitsToDevice...
字母嘛...画完3D后加上去的...所以看上去总在最前...
光影效果...该怎么做呢...

看起来这是最笨的办法了...速度更是慢的没法说...不过好像还算比较全面...
呃...又不满足题意了...又做了附加的功能了...而且左键X轴旋转,右键Y轴旋转这点也没做出来...还没想出如何解决...
回复 支持 反对

使用道具 举报

发表于 2007-1-31 10:03:58 | 显示全部楼层
总结了些规律...默认X轴水平向右,Z轴竖直向上,Y轴垂直OXZ平面向外
透视
  看上去是“近大远小”的效果,我个人感觉是根据Y轴坐标大小按比例放大或缩小X,Z的坐标
  Y>0时放大,Y<0时缩小
  至于这个所谓的比例貌似就是一个假定的视角,我试了一下,15度到30度时的效果比较好
消隐
  一种比较方便的方法就是求出平面的法向量(方向为背离原点方向)
  并求出该法向量和正视平面法向量(0,1,0)的夹角的余弦值
  若为正则可见,否则即被遮挡
填充
  逐点扫描比较没效率,还是画线比较快...
  填充一个任意凸四边形可以转化为填充2个三角形
光照
  还得求出平面的法向量和正视平面法向量(0,1,0)的夹角的余弦值,假设为T
  如果平面原有的颜色为RGB(R,G,B)
  则现在为RGB(T*R,T*G,T*B)
以上是我个人揣测,如有更好的方法请大家贴出来,我好趁机观摩
回复 支持 反对

使用道具 举报

发表于 2007-1-31 11:58:10 | 显示全部楼层
原帖由 superzmy 于 2007-1-28 16:55 发表
人能看到四个面,五个面也有可能,六个面才是不可能的呢……
因为人有两个眼睛啊!笨……


在透视变换时,如果视点,画面,物体三者之间的位置关系参数不对,或符号方向反了,就会由于不是汇聚到一点,而是发散,造成长方体看到3个以上的面。
回复 支持 反对

使用道具 举报

发表于 2007-1-31 12:12:17 | 显示全部楼层
修改了关于Z轴旋转的一点的小BUG。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 20:29:01 | 显示全部楼层
原帖由 ymismy 于 2007-1-31 12:12 发表
修改了关于Z轴旋转的一点的小BUG。



做的很好啊,消隐计算的很好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-1 01:11

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表