ランダムドット・ステレオグラム ひでき 2008/01/28 23:57:58 ├(2)について 山中和義 2008/01/29 10:27:01 │└回転ランダムドット・ステレオグラムを作っ... ひでき 2008/01/31 23:42:09 ├(1)について 山中和義 2008/01/29 10:46:59 (修正1回) ├ワイヤーフレームのステレオ画像(擬似3D... 山中和義 2008/02/02 20:48:40
Re: ランダムドット・ステレオグラム |
返事を書く ノートメニュー |
山中和義 <drdlxujciw> 2008/02/02 20:48:40 | |
ワイヤーフレームのステレオ画像(擬似3DCG手法)
物体の回転角を左右ずらして、カメラ(視点)位置を変更したかのような画像を描きます。 ※SAMPLEフォアルダ内 3DPLOT.BASを修正 SUB rotx(x,y,z,a) LET y0=y*cos(a)-z*sin(a) LET z0=y*sin(a)+z*cos(a) LET y=y0 LET z=z0 END SUB SUB roty(x,y,z,a) LET x0=x*cos(a)+z*sin(a) LET z0=-x*sin(a)+z*cos(a) LET x=x0 LET z=z0 END SUB SUB rotz(x,y,z,a) LET x0=x*cos(a)-y*sin(a) LET y0=x*sin(a)+y*cos(a) LET x=x0 LET y=y0 END SUB SUB convert(x,y,z) CALL rotz(x,y,z,RAD(-30+B)) CALL rotx(x,y,z,RAD(-60)) END SUB SUB PlotTo(x,y,z) LET x1=x !save it LET y1=y LET z1=z CALL convert(x1,y1,z1) PLOT LINES:x1+A,y1; END SUB SUB PlotText(x,y,z,s$) CALL convert(x,y,z) PLOT TEXT ,AT x+A,y: s$ END SUB !DEF f(x,y)=x^2-y^2 !曲面 !DEF f(x,y)=(COS(x*5)+COS(y*5))/5 DEF f(x,y)=COS(SQR((x*15)^2+(y*15)^2))/8 SET bitmap SIZE 601,301 !表示領域 LET s=1.5 SET WINDOW -s*2.5,s*2.5,-s,s LET A=1.7 !左右の間隔 LET B=-3 !±回転角 CALL axes CALL DRAW LET A=-A LET B=-B CALL axes CALL DRAW SUB DRAW !ワイヤーフレームで曲面を描く FOR x=-1 TO 1 step 0.1 FOR y=-1 TO 1 step 0.1 LET z=f(x,y) CALL PlotTo(x,y,z) NEXT y PLOT LINES NEXT x FOR y=-1 TO 1 step 0.1 FOR x=-1 TO 1 step 0.1 LET z=f(x,y) CALL PlotTo(x,y,z) NEXT x PLOT LINES NEXT y END SUB SUB axes !xyz軸 SET LINE COLOR 4 CALL PlotTo(0,0,0) CALL PlotTo(1,0,0) PLOT LINES SET LINE COLOR 3 CALL PlotTo(0,0,0) CALL PlotTo(0,1,0) PLOT LINES SET LINE COLOR 2 CALL PlotTo(0,0,0) CALL PlotTo(0,0,1) PLOT LINES SET LINE COLOR 1 CALL PlotText(1,0,0,"x") CALL PlotText(0,1,0,"y") CALL PlotText(0,0,1,"z") END SUB END |
│└!2次元の絵(DRAW文)のステレオペア 山中和義 2008/02/04 11:59:05 (修正1回) └ネットで、ステレオグラムについて検索して... ひでき 2008/02/03 13:30:56