我有相关的资料(原版英文书), 但无法传递给你!!! 给你个实例程序:(太长,程序没发完) /* GRAPHICS DEMO FOR TURBO C 2.0 Copyright (c) 1987,88 Borland International. All rights reserved. From the command line, use: tcc bgidemo graphics.lib */ #ifdef __TINY__ #error BGIDEMO will not run in the tiny model. #endif #include #include #include #include #include #include #include #define ESC 0x1b /* Define the escape key */ #define TRUE 1 /* Define some handy constants */ #define FALSE 0 /* Define some handy constants */ #define PI 3.14159 /* Define a value for PI */ #define ON 1 /* Define some handy constants */ #define OFF 0 /* Define some handy constants */ char *Fonts[] = { "DefaultFont", "TriplexFont", "SmallFont", "SansSerifFont", "GothicFont" }; char *LineStyles[] = { "SolidLn", "DottedLn", "CenterLn", "DashedLn", "UserBitLn" }; char *FillStyles[] = { "EmptyFill", "SolidFill", "LineFill", "LtSlashFill", "SlashFill", "BkSlashFill", "LtBkSlashFill", "HatchFill", "XHatchFill", "InterleaveFill", "WideDotFill", "CloseDotFill" }; char *TextDirect[] = { "HorizDir", "VertDir" }; char *HorizJust[] = { "LeftText", "CenterText", "RightText" }; char *VertJust[] = { "BottomText", "CenterText", "TopText" }; struct PTS { int x, y; }; /* Structure to hold vertex points */ int GraphDriver; /* The Graphics device driver */ int GraphMode; /* The Graphics mode value */ double AspectRatio; /* Aspect ratio of a pixel on the screen*/ int MaxX, MaxY; /* The maximum resolution of the screen */ int MaxColors; /* The maximum # of colors available */ int ErrorCode; /* Reports any graphics errors */ struct palettetype palette; /* Used to read palette info */ /* */ /* Function prototypes */ /* */ void Initialize(void); void ReportStatus(void); void TextDump(void); void Bar3DDemo(void); void RandomBars(void); void TextDemo(void); void ColorDemo(void); void ArcDemo(void); void CircleDemo(void); void PieDemo(void); void BarDemo(void); void LineRelDemo(void); void PutPixelDemo(void); void PutImageDemo(void); void LineToDemo(void); void LineStyleDemo(void); void CRTModeDemo(void); void UserLineStyleDemo(void); void FillStyleDemo(void); void FillPatternDemo(void); void PaletteDemo(void); void PolyDemo(void); void SayGoodbye(void); void Pause(void); void MainWindow(char *header); void StatusLine(char *msg); void DrawBorder(void); void changetextstyle(int font, int direction, int charsize); int gprintf(int *xloc, int *yloc, char *fmt, ... ); /* */ /* Begin main function */ /* */ int main() { Initialize(); /* Set system into Graphics mode */ ReportStatus(); /* Report results of the initialization */ ColorDemo(); /* Begin actual demonstration */ if( GraphDriver==EGA || GraphDriver==EGALO || GraphDriver==VGA ) PaletteDemo(); PutPixelDemo(); PutImageDemo(); Bar3DDemo(); BarDemo(); RandomBars(); ArcDemo(); CircleDemo(); PieDemo(); LineRelDemo(); LineToDemo(); LineStyleDemo(); UserLineStyleDemo(); TextDump(); TextDemo(); CRTModeDemo(); FillStyleDemo(); FillPatternDemo(); PolyDemo(); SayGoodbye(); /* Give user the closing screen */ closegraph(); /* Return the system to text mode */ return(0); } /* */ /* INITIALIZE: Initializes the graphics system and reports */ /* any errors which occured. */ /* */ void Initialize(void) { int xasp, yasp; /* Used to read the aspect ratio*/ GraphDriver = DETECT; /* Request auto-detection */ initgraph( &GraphDriver, &GraphMode, "" ); ErrorCode = graphresult(); /* Read result of initialization*/ if( ErrorCode != grOk ){ /* Error occured during init */ printf(" Graphics System Error: %sn", grapherrormsg( ErrorCode ) ); exit( 1 ); } getpalette( &palette ); /* Read the palette from board */ MaxColors = getmaxcolor() + 1; /* Read maximum number of colors*/ MaxX = getmaxx(); MaxY = getmaxy(); /* Read size of screen */ getaspectratio( &xasp, &yasp ); /* read the hardware aspect */ AspectRatio = (double)xasp / (double)yasp; /* Get correction factor */ } /* */ /* REPORTSTATUS: Report the current configuration of the system */ /* after the auto-detect initialization. */ /* */ void ReportStatus(void) { struct viewporttype viewinfo; /* Params for inquiry procedures*/ struct linesettingstype lineinfo; struct fillsettingstype fillinfo; struct textsettingstype textinfo; struct palettetype palette; char *driver, *mode; /* Strings for driver and mode */ int x, y; getviewsettings( &viewinfo ); getlinesettings( &lineinfo ); getfillsettings( &fillinfo ); gettextsettings( &textinfo ); getpalette( &palette ); x = 10; y = 4; MainWindow( "Status report after InitGraph" ); settextjustify( LEFT_TEXT, TOP_TEXT ); driver = getdrivername(); mode = getmodename(GraphMode); /* get current setting */ gprintf( &x, &y, "Graphics device : %-20s (%d)", driver, GraphDriver ); gprintf( &x, &y, "Graphics mode : %-20s (%d)", mode, GraphMode ); gprintf( &x, &y, "Screen resolution : ( 0, 0, %d, %d )", getmaxx(), getmaxy() ); gprintf( &x, &y, "Current view port : ( %d, %d, %d, %d )", viewinfo.left, viewinfo.top, viewinfo.right, viewinfo.bottom ); gprintf( &x, &y, "Clipping : %s", viewinfo.clip ? "ON" : "OFF" ); gprintf( &x, &y, "Current position : ( %d, %d )", getx(), gety() ); gprintf( &x, &y, "Colors available : %d", MaxColors ); gprintf( &x, &y, "Current color : %d", getcolor() ); gprintf( &x, &y, "Line style : %s", LineStyles[ lineinfo.linestyle ] ); gprintf( &x, &y, "Line thickness : %d", lineinfo.thickness ); gprintf( &x, &y, "Current fill style : %s", FillStyles[ fillinfo.pattern ] ); gprintf( &x, &y, "Current fill color : %d", fillinfo.color ); gprintf( &x, &y, "Current font : %s", Fonts[ textinfo.font ] ); gprintf( &x, &y, "Text direction : %s", TextDirect[ textinfo.direction ] ); gprintf( &x, &y, "Character size : %d", textinfo.charsize ); gprintf( &x, &y, "Horizontal justify : %s", HorizJust[ textinfo.horiz ] ); gprintf( &x, &y, "Vertical justify : %s", VertJust[ textinfo.vert ] ); Pause(); /* Pause for user to read screen*/ } /* */ /* TEXTDUMP: Display the all the characters in each of the */ /* available fonts. */ /* */ void TextDump() { static int CGASizes[] = { 1, 3, 7, 3, 3 }; static int NormSizes[] = { 1, 4, 7, 4, 4 }; char buffer[80]; int font, ch, wwidth, lwidth, size; struct viewporttype vp; for( font=0 ; font wwidth ) moveto( 2, gety() + textheight("H") + 3 ); ++ch; /* Goto the next character */ } } else{ size = (MaxY < 200) ? CGASizes[font] : NormSizes[font]; changetextstyle( font, HORIZ_DIR, size ); ch = !; /* Begin at 1st printable */ while( ch < 127 ){ /* For each printable character */ buffer[0] = ch; /* Put character into a string */ outtext( buffer ); /* send string to screen */ if( (lwidth+getx()) > wwidth ) /* Are we still in window? */ moveto( 2, gety()+textheight("H")+3 ); ++ch; /* Goto the next character */ } } Pause(); /* Pause until user acks */ } /* End of FONT loop */ } /* */ /* BAR3DDEMO: Display a 3-D bar chart on the screen. */ /* */ void Bar3DDemo(void) { static int barheight[] = { 1, 3, 5, 4, 3, 2, 1, 5, 4, 2, 3 }; struct viewporttype vp; int xstep, ystep; int i, j, h, color, bheight; char buffer[10]; MainWindow( "Bar 3-D / Rectangle Demonstration" ); h = 3 * textheight( "H" ); getviewsettings( &vp ); settextjustify( CENTER_TEXT, TOP_TEXT ); changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 ); outtextxy( MaxX/2, 6, "These are 3-D Bars" ); changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); setviewport( vp.left+50, vp.top+40, vp.right-50, vp.bottom-10, 1 ); getviewsettings( &vp ); line( h, h, h, vp.bottom-vp.top-h ); line( h, (vp.bottom-vp.top)-h, (vp.right-vp.left)-h, (vp.bottom-vp.top)-h ); xstep = ((vp.right-vp.left) - (2*h)) / 10; ystep = ((vp.bottom-vp.top) - (2*h)) / 5; j = (vp.bottom-vp.top) - h; settextjustify( CENTER_TEXT, CENTER_TEXT ); for( i=0 ; i
1、打开桌面上的3dmax软件,进入操作界面。2、在上方功能区选项卡中找到“自定义”,点击,在下拉列表中选择“配置用户路径”,点击。如图所示3、弹出配置用户路径窗口。可以看到在文件“I/O”选项中,有缓存文件路径。4、在桌面上,找到我的电脑图标,打开我的电脑5、按照刚才的路径位置找到,缓存文件,时间最近的文件就是最新保存的6、找到文件后双击用3dmax打开(或直接拖入3dmax软件界面中),就能找回刚才来不及保存的文件
三维动画窗口的设置通常在三维动画软件的界面中进行。以下是一般的设置步骤:1. 打开三维动画软件,进入工作界面。通常会有一个主窗口显示当前项目的整体情况。2. 在主窗口中查找或选择“视图”或“窗口”菜单。这个菜单通常用于打开和关闭各种窗口。3. 在“视图”或“窗口”菜单中,找到与三维动画窗口相关的选项。这通常被称为“3D视图”、“视图窗口”或类似的名称。4. 选择该选项后,三维动画窗口将在软件界面中打开。这个窗口通常用来预览和编辑三维模型和动画。5. 可能需要进行一些额外的设置以适应个人的需求。这些设置可能包括窗口大小、分辨率、显示模式等等。这些选项通常可以在三维动画窗口的菜单栏或右键菜单中找到。不同的三维动画软件可能有不同的界面布局和命名方式,但总体的设置步骤应该是类似的。以上是一个一般的指引,具体操作还需要参考所用软件的帮助文档或教程。
三维动画窗口的设置位置取决于使用的软件或工具。以下是一些常见的设置方法:1. Autodesk Maya:在Maya中,三维动画窗口(Viewport)的设置可以通过菜单栏中的“窗口(Window)”选项找到。在“窗口”菜单下有一个名为“设置/首选项(Settings/Preferences)”的子菜单,在其中可以找到“自定义/首选项(Customize/Preferences)”选项。点击这个选项后会打开一个窗口,在窗口左侧可以选择“用户界面(Interface)”选项卡,在这个选项卡中可以找到“视口(Viewports)”选项。在这里可以设置三维动画窗口的大小、分辨率、背景颜色等参数。2. Blender:在Blender中,三维动画窗口的设置可以通过工作区面板来进行。在主界面的左上角可以找到一个下拉菜单,其中包含了不同的工作区选项。选择“布局(Layout)”选项后,主界面会切换为一个包含不同编辑器(Editor)的面板。其中一个编辑器就是三维动画窗口。通过调整面板的大小和位置,可以设置三维动画窗口的大小和布局。3. Unity:在Unity中,三维动画窗口的设置可以通过编辑器窗口进行。默认情况下,Unity主界面的右上角有一个“布局(Layout)”按钮,点击这个按钮可以切换不同的窗口布局。其中一个布局就是场景窗口,也可以将其看作是三维动画窗口。Unity还提供了自定义窗口布局的功能,可以通过菜单栏的“窗口(Window)”选项来进行设置。不同的三维动画软件或工具都提供了类似的设置选项,可以通过菜单栏、面板、编辑器窗口等不同的方式进行设置。具体的设置方法应根据使用的软件或工具来确定。
我有相关的资料(原版英文书), 但无法传递给你!!! 给你个实例程序:(太长,程序没发完) /* GRAPHICS DEMO FOR TURBO C 2.0 Copyright (c) 1987,88 Borland International. All rights reserved. From the command line, use: tcc bgidemo graphics.lib */ #ifdef __TINY__ #error BGIDEMO will not run in the tiny model. #endif #include #include #include #include #include #include #include #define ESC 0x1b /* Define the escape key */ #define TRUE 1 /* Define some handy constants */ #define FALSE 0 /* Define some handy constants */ #define PI 3.14159 /* Define a value for PI */ #define ON 1 /* Define some handy constants */ #define OFF 0 /* Define some handy constants */ char *Fonts[] = { "DefaultFont", "TriplexFont", "SmallFont", "SansSerifFont", "GothicFont" }; char *LineStyles[] = { "SolidLn", "DottedLn", "CenterLn", "DashedLn", "UserBitLn" }; char *FillStyles[] = { "EmptyFill", "SolidFill", "LineFill", "LtSlashFill", "SlashFill", "BkSlashFill", "LtBkSlashFill", "HatchFill", "XHatchFill", "InterleaveFill", "WideDotFill", "CloseDotFill" }; char *TextDirect[] = { "HorizDir", "VertDir" }; char *HorizJust[] = { "LeftText", "CenterText", "RightText" }; char *VertJust[] = { "BottomText", "CenterText", "TopText" }; struct PTS { int x, y; }; /* Structure to hold vertex points */ int GraphDriver; /* The Graphics device driver */ int GraphMode; /* The Graphics mode value */ double AspectRatio; /* Aspect ratio of a pixel on the screen*/ int MaxX, MaxY; /* The maximum resolution of the screen */ int MaxColors; /* The maximum # of colors available */ int ErrorCode; /* Reports any graphics errors */ struct palettetype palette; /* Used to read palette info */ /* */ /* Function prototypes */ /* */ void Initialize(void); void ReportStatus(void); void TextDump(void); void Bar3DDemo(void); void RandomBars(void); void TextDemo(void); void ColorDemo(void); void ArcDemo(void); void CircleDemo(void); void PieDemo(void); void BarDemo(void); void LineRelDemo(void); void PutPixelDemo(void); void PutImageDemo(void); void LineToDemo(void); void LineStyleDemo(void); void CRTModeDemo(void); void UserLineStyleDemo(void); void FillStyleDemo(void); void FillPatternDemo(void); void PaletteDemo(void); void PolyDemo(void); void SayGoodbye(void); void Pause(void); void MainWindow(char *header); void StatusLine(char *msg); void DrawBorder(void); void changetextstyle(int font, int direction, int charsize); int gprintf(int *xloc, int *yloc, char *fmt, ... ); /* */ /* Begin main function */ /* */ int main() { Initialize(); /* Set system into Graphics mode */ ReportStatus(); /* Report results of the initialization */ ColorDemo(); /* Begin actual demonstration */ if( GraphDriver==EGA || GraphDriver==EGALO || GraphDriver==VGA ) PaletteDemo(); PutPixelDemo(); PutImageDemo(); Bar3DDemo(); BarDemo(); RandomBars(); ArcDemo(); CircleDemo(); PieDemo(); LineRelDemo(); LineToDemo(); LineStyleDemo(); UserLineStyleDemo(); TextDump(); TextDemo(); CRTModeDemo(); FillStyleDemo(); FillPatternDemo(); PolyDemo(); SayGoodbye(); /* Give user the closing screen */ closegraph(); /* Return the system to text mode */ return(0); } /* */ /* INITIALIZE: Initializes the graphics system and reports */ /* any errors which occured. */ /* */ void Initialize(void) { int xasp, yasp; /* Used to read the aspect ratio*/ GraphDriver = DETECT; /* Request auto-detection */ initgraph( &GraphDriver, &GraphMode, "" ); ErrorCode = graphresult(); /* Read result of initialization*/ if( ErrorCode != grOk ){ /* Error occured during init */ printf(" Graphics System Error: %sn", grapherrormsg( ErrorCode ) ); exit( 1 ); } getpalette( &palette ); /* Read the palette from board */ MaxColors = getmaxcolor() + 1; /* Read maximum number of colors*/ MaxX = getmaxx(); MaxY = getmaxy(); /* Read size of screen */ getaspectratio( &xasp, &yasp ); /* read the hardware aspect */ AspectRatio = (double)xasp / (double)yasp; /* Get correction factor */ } /* */ /* REPORTSTATUS: Report the current configuration of the system */ /* after the auto-detect initialization. */ /* */ void ReportStatus(void) { struct viewporttype viewinfo; /* Params for inquiry procedures*/ struct linesettingstype lineinfo; struct fillsettingstype fillinfo; struct textsettingstype textinfo; struct palettetype palette; char *driver, *mode; /* Strings for driver and mode */ int x, y; getviewsettings( &viewinfo ); getlinesettings( &lineinfo ); getfillsettings( &fillinfo ); gettextsettings( &textinfo ); getpalette( &palette ); x = 10; y = 4; MainWindow( "Status report after InitGraph" ); settextjustify( LEFT_TEXT, TOP_TEXT ); driver = getdrivername(); mode = getmodename(GraphMode); /* get current setting */ gprintf( &x, &y, "Graphics device : %-20s (%d)", driver, GraphDriver ); gprintf( &x, &y, "Graphics mode : %-20s (%d)", mode, GraphMode ); gprintf( &x, &y, "Screen resolution : ( 0, 0, %d, %d )", getmaxx(), getmaxy() ); gprintf( &x, &y, "Current view port : ( %d, %d, %d, %d )", viewinfo.left, viewinfo.top, viewinfo.right, viewinfo.bottom ); gprintf( &x, &y, "Clipping : %s", viewinfo.clip ? "ON" : "OFF" ); gprintf( &x, &y, "Current position : ( %d, %d )", getx(), gety() ); gprintf( &x, &y, "Colors available : %d", MaxColors ); gprintf( &x, &y, "Current color : %d", getcolor() ); gprintf( &x, &y, "Line style : %s", LineStyles[ lineinfo.linestyle ] ); gprintf( &x, &y, "Line thickness : %d", lineinfo.thickness ); gprintf( &x, &y, "Current fill style : %s", FillStyles[ fillinfo.pattern ] ); gprintf( &x, &y, "Current fill color : %d", fillinfo.color ); gprintf( &x, &y, "Current font : %s", Fonts[ textinfo.font ] ); gprintf( &x, &y, "Text direction : %s", TextDirect[ textinfo.direction ] ); gprintf( &x, &y, "Character size : %d", textinfo.charsize ); gprintf( &x, &y, "Horizontal justify : %s", HorizJust[ textinfo.horiz ] ); gprintf( &x, &y, "Vertical justify : %s", VertJust[ textinfo.vert ] ); Pause(); /* Pause for user to read screen*/ } /* */ /* TEXTDUMP: Display the all the characters in each of the */ /* available fonts. */ /* */ void TextDump() { static int CGASizes[] = { 1, 3, 7, 3, 3 }; static int NormSizes[] = { 1, 4, 7, 4, 4 }; char buffer[80]; int font, ch, wwidth, lwidth, size; struct viewporttype vp; for( font=0 ; font wwidth ) moveto( 2, gety() + textheight("H") + 3 ); ++ch; /* Goto the next character */ } } else{ size = (MaxY < 200) ? CGASizes[font] : NormSizes[font]; changetextstyle( font, HORIZ_DIR, size ); ch = !; /* Begin at 1st printable */ while( ch < 127 ){ /* For each printable character */ buffer[0] = ch; /* Put character into a string */ outtext( buffer ); /* send string to screen */ if( (lwidth+getx()) > wwidth ) /* Are we still in window? */ moveto( 2, gety()+textheight("H")+3 ); ++ch; /* Goto the next character */ } } Pause(); /* Pause until user acks */ } /* End of FONT loop */ } /* */ /* BAR3DDEMO: Display a 3-D bar chart on the screen. */ /* */ void Bar3DDemo(void) { static int barheight[] = { 1, 3, 5, 4, 3, 2, 1, 5, 4, 2, 3 }; struct viewporttype vp; int xstep, ystep; int i, j, h, color, bheight; char buffer[10]; MainWindow( "Bar 3-D / Rectangle Demonstration" ); h = 3 * textheight( "H" ); getviewsettings( &vp ); settextjustify( CENTER_TEXT, TOP_TEXT ); changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 ); outtextxy( MaxX/2, 6, "These are 3-D Bars" ); changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); setviewport( vp.left+50, vp.top+40, vp.right-50, vp.bottom-10, 1 ); getviewsettings( &vp ); line( h, h, h, vp.bottom-vp.top-h ); line( h, (vp.bottom-vp.top)-h, (vp.right-vp.left)-h, (vp.bottom-vp.top)-h ); xstep = ((vp.right-vp.left) - (2*h)) / 10; ystep = ((vp.bottom-vp.top) - (2*h)) / 5; j = (vp.bottom-vp.top) - h; settextjustify( CENTER_TEXT, CENTER_TEXT ); for( i=0 ; i
答:第一种:机械设计使用的CAD三维软件,可利用软件自身带的动画、仿真功能,制作模拟机械运动的动画。例如下面这个利用机械设计软件SolidWorks制作的气球放大缩小动画。第二种,在电影电视动画行业,也使用三维设计软件,一般像Maya、3dmax、c4d等。以人物动画为例,他们往往通过3D建模,然后进行骨骼绑定,制作帧动画、渲染。下面是Maya的建模教程。
前期规划(剧本,造型设定,故事板) 1) 概念设计——业内通用的专业动画流程前期制作. 2) 内容包括根据剧本绘制的动画场景、角色、道具等的二维设计以及整体动画风格定位工作, 给后面三维制作提供参考。 3) 分镜故事板——根据文字创意剧本进行的实际制作的分镜头工作;手绘图画构筑出画面; 解释镜头运动;讲述情节给后面三维制作提供参考. 2.中期制作 4) 3D粗模——在三维中由建模人员制作出故事的场景、角色、道具的粗略模型,为Layout做准备 5) 3D故事板(Layout)——用3D粗模根据剧本和分镜故事板制作出Layout(3D故事板)。其中包括中摄像机机位摆放安排、基本动画、镜头时间定制等知识。 6) 3D角色模型D场景道具模型——根据概念设计以及客户、监制、等的综合意见,在三维中进行模型的精确制作,是最终动画成片中的全部“演员”。 7) 贴图材质——根据概念设计以及客户、监制、等的综合意见,对3D模型 “化妆”,进行色彩、纹理、质感等的设定工作,是动画制作流程中的必不可少的重要环节。 8) 骨骼蒙皮——根据故事情节分析,对3D中需要动画的模型(主要为角色)进行动画前的一些变形、动作驱动等相关设置,为动画师做好预备工作,提供动画解决方案。 9) 分镜动画——参考剧本、分镜故事板,动画师会根据Layout的镜头和时间,给角色或其它需要活动的对象制作出每个镜头的表演动画。 10)灯光——根据前期概念设计的风格定位,由灯光师对动画场景进行照亮、细致的描绘、材质的精细调节,把握每个镜头的渲染气氛。 3.后期制作 11)3D特效——根据具体故事,由特效师制作。若干种水、烟、雾、火、光效在三维(maya)中的实际制作表现方法。 12)分层渲染/合成——动画、灯光制作完成后,由渲染人员根据后期合成师的意见把各镜头文件分层渲染,提供合成用的图层和通道。 13)配音配乐——由剧本设计需要,由专业配音师根据镜头配音,根据剧情配上合适背景音乐和各种音效 14)剪辑——用渲染的各图层影像,由后期人员合成完整成片,并根据客户及监制、意见剪辑成不同版本,以供不同需要用。
AutoCAD本身可以制作简单的动画,其最简单的方法是在AutoCAD中将图制成一系列幻灯片连续放映,形成动画。我曾在DOS版的R12中作过,生成的动画不连续。还有一种方法是用AutoLISP语言编程控制,可以生成连续的动画,但制作动画的前提是掌握AutoLISP语言,除此之外还有一个问题就是生成的动画不能脱离AutoCAD环境,如果我们想要在其它平台上调用该动画就有困难。 一种更简单的方法。这种方法的思路是在AutoCAD中绘制动画关键帧,存成BMP格式的位图,然后利用一个动画生成器将位图串连起来生成动画。 在AutoCAD中将矢量图存成位图可以通过两种方法,第一种方法是直接用File选单下的Export命令,这种方法生成的位图与屏幕看到的一致。所谓一致包含两个方面:二者的图案以及背景色都是一致的;位图的尺寸、形状和内容都与AutoCAD当前绘图窗口一致。这种方法生成的图片精度较低。 第二种方法是用绘图命令Plot制作BMP文件,其具体作法如下: 在AutoCAD中使用Config命令配置绘图机;将系统绘图机设置为“Raster file export ADI4.3-by Autodesk Ins.”;定义适当的光栅图大小。要注意,如果光栅图定义得太大,文件会非常庞大,一般定义为800×600或640×480就可以了。最好将输出位图的长宽比定义得与所绘图的长宽比一致,这样可以在得到相同的动画效果的情况下使文件更小;定义输出文件格式为BMP文件;定义输出位图为256色;定义背景色:0———黑色,255———白色,其它颜色与AutoCAD的定义一致。输出位图过程比较简单,只是用Plot命令就可以了。 与第一种方法相比,第二种方法稍显复杂,但更灵活。最大的好处在于由于我们的目的是制作动画,所以必须制作一系列位图,它们的大小和位置必须完全一致。采用第一种方法,每次对图面进行修改后必须回到同一个画面存盘,否则最后制作出来的动画就会出现不该动的地方也在动,从而影响动画效果。采用第二种方法时,每次PLOT命令都会记住上一次点选的范围,并作为当前选择范围的默认值,因此根本不需要回到原画面,甚至不必重新选择输出范围就可以使所有的图片很好地对应起来。通过上述方法,就得到了一系列BMP图片,将这些连续的BMP文件制作成一个动画需要专门的软件。这里介绍一个名叫GIF Movie Gear的软件。这个软件使用通用Windows界面,非常简单。输入文件支持GIF、AVI、BMP、DIB、JPG、ANI、PSD等格式的图片及动画文件,输出文件支持AVI、GIF、ANI格式的动画文件。软件可以实现简单编辑,调整动画播放时间,还可以通过一些简单处理,减小文件大小。