三维画立体画技术(100分)

  • 主题发起人 主题发起人 coolbaby
  • 开始时间 开始时间
C

coolbaby

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁研究过三维立体画么,或者知道它的生成算法么?
 
用OpenGL 或 DirectX 实现。
教程中都有原理。
 
我说的不是象3d max之类的那种
是那种看花眼了才出来的那种呀
是平面的
 
用OPENGL或者DirectX,具体下面几个网站你可以参考一下:
http://www.crazyentertainment.net/
http://www.opengl.org/
http://www.sulaco.co.za/
 
原来是看花眼了才出来的那种呀:
http://liuhs.51.net
 
呵呵,谢谢gxcooo
http://liuhs.51.net
我很早就去过了
我想知道他的生成算法
 
主要是它的算法原理
 
感兴趣,关注。
 



http://liuhs.51.net/3d.htm
http://liuhs.51.net/prg.htm
 
OpenGL是通过矩阵产生种图形,包括移动,变形,旋转都是用矩阵左乘完成。
 
老猫
你给的网址楼上的给了
不知道算法的原理不好看呀
 
http://liuhs.51.net/java.htm
Java 立体画,查看源文件
 
唉,关键时不知道原理
没有相关的算法资料,:(
 
const
cLevelCount = 6;
cLevelList: array[0 .. Pred(cLevelCount)] of TRecordLevel =
(
(rColor: clWhite; rLevel: 0),
(rColor: clRed; rLevel: 1),
(rColor: clBlue; rLevel: 2),
(rColor: clYellow; rLevel: 3),
(rColor: clGreen; rLevel: 4),
(rColor: clBlack; rLevel: 5)
);

type
TRecordLevel = record
rColor: TColor;
rLevel: Byte;
end;

{
例子:
Picture3D(Image3D.Picture.Bitmap, Image2D.Picture.Bitmap,
ImageMask.Picture.Bitmap, cLevelList);

}
procedure Picture3D(mBitmap3D,mBitmap2D,mBitmapMask:TBitmap;mLevelList:array of TRecordLevel);//制作三维立体画
var
X, Y, I, J, W: Integer;
vColor: TColor;
begin
mBitmap3D.Assign(nil);
W := mBitmapMask.Width;
mBitmap3D.Width := W * Succ(mBitmap2D.Width div W);
mBitmap3D.Height := mBitmap2D.Height;
mBitmap3D.Canvas.Draw(0, 0, mBitmapMask);
for I := 0 to (mBitmap2D.Width div W) do begin
for Y := 0 to mBitmapMask.Height - 1 do begin
for X := 0 to Pred(W) do begin
vColor := mBitmap2D.Canvas.Pixels[X + W * I, Y];
for J := Low(mLevelList) to High(mLevelList) do
if mLevelList[J].rColor = vColor then begin
if X + mLevelList[J].rLevel >= W then
mBitmapMask.Canvas.Pixels[X, Y]
:= mBitmapMask.Canvas.Pixels[X + mLevelList[J].rLevel - W, Y]
else
mBitmapMask.Canvas.Pixels[X, Y]
:= mBitmapMask.Canvas.Pixels[X + mLevelList[J].rLevel, Y];
Break;
end;
end;
end;
mBitmap3D.Canvas.Draw(W * Succ(I), 0, mBitmapMask);
end;
end;
 
谢谢form2,待我分析一下
有相关的资料么
我如果在国外google上找,要用什么关键字
 
form2,
你贴的不全呀
里面用到的好几个函数你没贴出来?
能否贴出全文,或出处
多谢
 
出处我忘了, 网上拷贝的。
刚试了一下,渣都没少一个
就是type要在const之前
ImageMask放风景图,Image2D放自己的名字,Image3D为空
多按几次运行,慢慢可以看出来变化了

3d图我不会看,不过看得我快哭了,却看出来了,估计是泪水的作用吧,哈
 
form2:
thanks,倒是我孤陋寡闻
以前没用过succ函数,sorry
哈哈,你不会看3d图呀,那也太可惜了
你测试一遍程序都费劲呢,:)

对了,如果想起来出处,麻烦告诉我一声
我想连接更详细一点的知识,谢谢
发分了
:)
 
多人接受答案了。
 
后退
顶部