本人在一次编写3D的长方形的时候发现了这个函数。
int main()
{
int gdriver,gmode;
gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\tc");
bar3d(100,100,300,250,50,1);
getch();
closegraph();
return 0;
}
对bar3d这个函数。我第一次接触,然后查看过很多资料。但是所有的资料都几乎一样。
void far bar3d(
int left, int top,// 三维空间矩形长条图正面的左上角坐标
int right, int bottom, //三维空间矩形长条图正面的右上角坐标
int depth, //三维空间矩形长条图的深度(即阴影)
int topflag//设置是否绘制三维空间矩形长条图的顶部
);
都说int right,int bottom,是长条图正面的右上角坐标。
但是我经过把每个数变成0然后有观察了一次。结果是右下标的位置没动(改变前两个值int legt,int top)。但是我在改变后面两个值int right,int bottom就全变样了。我修改bottom为0时。图象在顶上。修改right时。图象在最左边。
所以我想问论坛里的高手。关于bar3d函数到底是怎么一回事。如果int right, int bottom指的是三维空间矩形长条图正面的右上角坐标。按照逻辑推理的话。是不可能和 int left, int top,// 三维空间矩形长条图正面的左上角坐标组成一个长方形的。因为两顶点的位置不同。两顶点分别向N个方向延长射线。相交的地方组成的也只是个三角形。
这是小弟的一点愚见。希望各位高手大哥们指出缺点。并告诉小弟到底是怎么回事。小弟感激不尽啊
关于函数bar3d的一个问题