double size = 5.0;
int shapeIndex =getshapeindex("fs3d\\Processor\\Processor.3ds");
double scaleFactor = size *viewpointradius(view).value / 100.0;
if (viewprojectiontype(view).value == 1)// orthographic projection
scaleFactor= size * 10.0 / viewmagnification(view).value;
fglScale(scaleFactor, scaleFactor,scaleFactor);
drawobject(view, shapeIndex, 0);
该示例代码绘制了一个处理器形状。您可以调整getshapeindex()的调用来绘制不同的形状。例如,使用“fs3d \\ General \\ Plane.3ds”绘制一个平面。
double size = 5.0;
int shapeIndex =getshapeindex("fs3d\\General\\Sphere.3ds");
double scaleFactor =size*viewpointradius(view).value/100.0;
if (viewprojectiontype(view).value == 1)
scaleFactor= size*10.0/viewmagnification(view).value;
fglTranslate(0.5, 0.5, 0.5);
fglScale(scaleFactor, scaleFactor, scaleFactor);
fglTranslate(-0.5, -0.5, -0.5);
drawobject(view, shapeIndex, 0);
或者在三维建模程序(如AC3D)中修改形状,使形状以原点为中心。一般的球体形状的位置是在它的原点,而不是它的中心。