你好朋友最近我制作了一个 3d 引擎,我可以在其中绘制任何 3d 形状它只需要坐标例如:
// this makes a cube in my 3d engine
int size = 150;
double[][] cube = {
{0, 0, 0}, {size, 0, 0},
{size, 0, 0}, {size, size, 0},
{size, size, 0}, {0, size, 0},
{0, size, 0}, {0, 0, 0},
{0, 0, size}, {size, 0, size},
{size, 0, size}, {size, size, size},
{size, size, size}, {0, size, size},
{0, size, size}, {0, 0, size},
{0, 0, 0}, {0, 0, size},
{size, 0, 0}, {size, 0, size},
{size, size, 0}, {size, size, size},
{0, size, 0}, {0, size, size}
};
MAKE3D(cube, g, new Color(0,0,0), degx, degy, degz);
//degx, y, z means rotation angles by which I can rotate the 3d model.
我正在为动画使用 for 循环
for(double f=1;f!=360;f+=0.05){
// ROTATION degree(ANGLES)
double degx=f;
double degy=f;
double degz=f;
int size = 150;
double[][] cube = {
{0, 0, 0}, {size, 0, 0},
{size, 0, 0}, {size, size, 0},
{size, size, 0}, {0, size, 0},
{0, size, 0}, {0, 0, 0},
{0, 0, size}, {size, 0, size},
{size, 0, size}, {size, size, size},
{size, size, size}, {0, size, size},
{0, size, size}, {0, 0, size},
{0, 0, 0}, {0, 0, size},
{size, 0, 0}, {size, 0, size},
{size, size, 0}, {size, size, size},
{0, size, 0}, {0, size, size}
};
MAKE3D(cube, g, new Color(0,0,0), degx, degy, degz);
MAKE3D(cube,g,new Color(255,255,255),degx,degy,degz);
g2d.clearRect(0, 0, 4000, 4000);
}
在这段代码中,我只是在每一帧的立方体线上放了一条白线来擦除最后一帧。
是否有任何其他方法可以在循环结束时使立方体的线条透明。因为使用白线移除最后一帧变得很明显并且影响它后面的其他 3d 模型的颜色
注意:- 我正在使用 java 及其 g2d 图形库,我正在使用 g2d.drawLine() 方法来制作立方体的线条。