如何利用C语言实现动画?

基于擦除法的C语言动画设计与实现。

Movie design implement in C language base on erasure way。

 东华理工学院计算机与通信系 姜林 何月顺 江西 南昌 330013。

摘要:

 本文介绍了程序设计语言中动画设计的原理,在C语言中的动画设计常用方法,并提出了在C语言中新的动画设计方法――擦除法。阐述擦除法动画设计的原理,并通过一个具体的实例详细介绍了这种方法的设计实现,文中末尾总结了擦除法动画设计的优点及适用的范围。

关键字:擦除法;C语言;TurboC2.0;动画设计;原理;实现 

中图分类号:TP312。方椅365 一键论文降重_就用方椅365

Summary:。

Through the principium of movie design in program design language, the。

thesis present movie design general way in C language, and bring。

forward new movie design way――erasure . The thesis also expatiate。

the principium of erasure way, particular describe the design。

implement of erasure by a instance. The end summarize the excellence。

and range of erasure way. 。

Key words: erasure way; C language ; TurboC 2.0; movie design;。

principium; implement。

0. 引言。

动画技术是计算机图形学中的重要内容,它广泛用于游戏娱乐,辅助教学,科学实验模拟等计算机辅助设计。用于动画设计的程序设计语言有多种,并且有多种方法。其中C语言程序设计又广泛用于各种软件开发项目中。因此,掌握C语言的动画设计方法对于软件开发很有必要。

1. 程序设计中动画原理。

程序设计中动画设计的原理类似电影的方法,它利用人的视觉具有暂留的生理特点,即人眼对动态图像的变化仅能分辨出时间间隔为25毫秒左右的变化,如果图像变化太快,则人眼无法分辨。在程序设计中我们可以在屏幕上画出一张图像,而将这张图像在不同时间出现,然后一张张快速(时间间隔小于25毫秒)呈现在屏幕上,从视觉效果上看这些画面就如同电影在连续变化一样,给人以动的视觉感觉。

2. C语言动画设计常用方法。

 

C语言常用动画设计方法[1]:

2.1 利用动态开辟图视口方法。

在位置动态变化,但大小不变的图视口中(用setviewpot()函数[2]),设置固定图形,这样呈现在观察者面前的是当前图视口位置在动态变化,因而在屏上看到的图像就好像在动态变化一样。

2.2 利用显示页和编辑页交替变化。

将当前显示页和编辑页分开(用setvisualpage()和setactivepage()函数),在编辑页上。

画好图形后,立即令该页变为显示页,然后在上次显示页上进行画图,画好后,再交换,如此反复,在观察者的视觉上,就出现了动画的效果。

2.3 利用画面存储再重放的方法。

如同制作幻灯片一样,将整个动画过程变成一个个片断,然后存储到显示缓冲区内,当把它们按顺序重放到屏幕上时,就出现了动画效果。

2.4 直接对图像动态存储器进行操作。

利用显示适配器上控制图像显示的各种寄存器和图像存储器VRAM,对其进行直接操作和控制,从而可以高效快速的实现动画效果。

 上述4种方法均可以实现动画效果,但其操作比较复杂,且在程序中要对图像不断进行存取操作,这需要耗费大量内存资源。下面的擦除法动画设计可以解决上述问题。

3. 擦除法动画设计原理。

擦除法动画设计方法在很多的动画制作工具(如flash)中大量使用,但在程序设计中却鲜有人用。它的设计原理是:利用同色原理,当图形色与背景色相同时人眼不能感知。在动画设计中,当在一个位置画了一张图像时,使图像色与背景色相异,然后再到另一个位置画一张图像并使图像色与背景色也相异,此时将先前画的图像在原位置再画一张,并使图像色与背景色相同,这样人眼只能看到新画的一张图像而看不到先前画的图像,从而先前画的图像感觉被擦除了。这样连续画多张图像并在每画一张新的图像,将原来的图像擦除,从而在观察者来看就实现了动画的效果。

4. 擦除法的动画设计实现。

下面以一个上下翻滚的圆作为一个例子来讲解在TurboC2.0开发环境下用C语言来实现动画的设计过程,其中动画设计的方法是擦除法。具体的实现步骤如下:

4.1 TC的图形系统的初始化。

TurboC2.0为用户提供了一个功能强大的画图软件库,它包括图形库文件(graphics.lib),图形头文件(graphics.h)和许多图形显示器的驱动程序。在TurboC2.0开始进行图形设计前必须对之进行初始化,使系统知道要用什么类型的图形显示器的驱动程序,采用什么模式的图形方式,以及该适配器驱动程序的寻找路径名。这个初始化的函数是initgraph()。在本程序中的初始化如下:

gdriver=DETECT;。

initgraph(&gdriver, &gmode,。

"");//图形显示器、显示模式、路径自动检测。

4.2 画图。

setcolor(LIGHTRED);//设置圆的线条颜色为淡红色。

setlinestyle(0,0,1);//设置线条为形状为实线,线宽为一点宽。

setfillstyle(1,。

10);//设置圆的填充式样为以实填充,填充色为淡绿色。

circle(300,。

10+10*y,15);//画一个圆心在坐标(300,10+10y),半径为15的圆。

这个地方我们需要画一个圆(用draw()函数实现),并且设置圆的圆周线条的颜色(用setcolor()函数),设置线条类型(用setlinestyle()函数),设置圆的填充色和填充模式(用setfillstyle()函数),设置圆的填充色(用floodfill()),最后是画圆(用circle()函数)。在本程序(draw()函数)中的代码如下:

floodfill(300, 10+10*y,。

12);//给圆填充如上stfillstyle中的淡绿色。

为了实现擦除操作需在同一个位置再画一个圆(用clear()函数实现),该操作只需将上面的画圆函数(draw()函数)改动两个设置即可,如下示:

setcolor(BLUE);//设置圆的线条颜色为蓝色(与背景色相同)

setfillstyle(1,。

10);//设置圆的填充式样为以实填充,填充色为淡绿色。

4.3 动画实现。

本部分是核心部分,先设置背景色为蓝色(用setbkcolor()函数),再在屏幕上画一个填充色为淡绿色的圆(draw()函数)。设置一个循环控制语句实现在屏幕上不同的位置画圆,同时在每画一个圆后作一个时间的延迟(用delay()函数),再在延迟后实现擦除操作,即调用clear()函数。其流程图及代码如下:

setbkcolor(BLUE);//设置背景色为蓝色。

for(j=20;j>0;j=j-4)//控制动画实现的次数为20次。

{ for(i=j;i<30;i++)//实现动画从上向下闪烁。

{ draw(i);//画圆。

delay(100000);//延迟0.1秒。

clear(i);//擦除已画的圆。

}。

for(i=30;i>j;i--)//实现动画从下向上闪烁。

{ draw(i);//画圆。

delay(100000);//延迟0.1秒。

clear(i);//擦除已画的圆。

}。

}。

动画实现后的最后效果图如下示。

4.4 关闭图形系统。

当图形实现结束后需要关闭图形系统,利用函数closegraph()即可实现。

5. 总结。

 擦除法动画设计原理易于理解,便于操作。并且它的程序运行所需内存空间也比上述四种常用方法要少得多,因为它在程序执行过程中不需将图形存入内存再从内存调出,这节省了大量的内存空间。如果程序运行在内存紧张的环境中,如嵌入式系统中,这种方法尤其适用。

同学,怎么用C语言制作简单的动画啊?

因为C的图形处理功能太一般,不便于创作大型动画。制作动画用flash。

如何利用C语言实现动画

可以用windows.h的头文件。

然后里面system("cls");。

清除屏幕重新从第一行开始画。

还有tc环境画图下有graphics.h头文件有画图的函数,但是vc没有,如果想在控制台。

下画图,给你一段代码,直接添加你用的api函数就行了。

#include 。

#include 。

#include 。

#include 。

#include 。

extern "C"。

怎么用C语言写下雪的动画效果

#include 。

#include 。

#include 。

#include 。

/*。

* 清除屏幕的shell 命令/控制台命令,还有一些依赖平台的实现。

* 如果定义了 __GNUC__ 就假定是 使用gcc 编译器,为Linux平台。

*    否则 认为是 Window 平台。

*/。

#if defined(__GNUC__)。

//下面是依赖 Linux 实现。

#include 。

#define sleep_ms(m) \。

usleep(m * 1000)。

//向上移动光标函数 Linux。

static void __curup(int height)。

{。

int i = -1;。

while (++i

printf("\033[1A"); //先回到上一行  。

}。

#else 。

// 创建等待函数 1s 60 帧 相当于 16.7ms => 1帧, 我们取16ms。

// 咱么的这屏幕 推荐 1s 25帧吧 40ms。

// 这里创建等待函数 以毫秒为单位 , 需要依赖操作系统实现。

#include 。

#define sleep_ms(m) \。

Sleep(m)。

//向上移动光标。

static void __curup(int height)。

{。

COORD cr = {0,0};。

// GetStdHandle(STD_OUTPUT_HANDLE) 获取屏幕对象, 设置光标。

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cr);。

}。

#endif /*__GNUC__ 跨平台的代码都很丑陋 */。

// 定义初始屏幕的宽高像素宏。

#define _INT_WIDTH        (100)。

#define _INT_HEIGHT        (50)。

// 屏幕刷新帧的速率。

#define _INT_FRATE        (40)。

// 雪花飘落的速率,相对于 屏幕刷新帧 的倍数。

#define _INT_VSNOW        (10)。

/*。

* 错误处理宏,msg必须是""括起来的字符串常量。

* __FILE__        : 文件全路径。

* __func__        : 函数名。

* __LINE__        : 行数行。

* __VA_ARGS__    : 可变参数宏,。

* ##表示直接连接, 例如 a##b <=> ab。

*/。

#define cerr(msg,...) \。

fprintf(stderr, "[%s:%s:%d]" msg "\n",__FILE__,__func__,__LINE__,##__VA_ARGS__);。

/*。

*  屏幕结构体, 具有 宽高。

*  frate  : 绘制一帧的周期, 单位是 毫秒。

*  width  : 屏幕的宽,基于窗口的左上角(0,0)。

*  height : 屏幕的高。

*  pix    : 用一维模拟二维 主要结构如下。

*             0 0 0 1 0 0 1 0 1 0。

*             0 1 0 1 0 1 0 1 2 0。

*             . . .。

*             => 0表示没像素, 1表示1个像素,2表示2个像素....。

*/。

struct screen {。

int frate; // 也可以用 unsigned 结构。

int width;。

int height;。

char *pix;。

};。

/*。

* 创建一个 屏幕结构指针 返回。

*。

* int frate    : 绘制一帧的周期。

* int width    : 屏幕宽度。

* int height    : 屏幕高度。

* return        : 指向屏幕结构的指针。

* */。

struct screen* screen_create(int frate, int width, int height);。

/*。

* 销毁一个 屏幕结构指针, 并为其置空。

* struct screen** : 指向 屏幕结构指针的指针, 二级销毁一级的。

* */。

void screen_destory(struct screen** pscr);。

/**。

* 屏幕绘制函数,主要生成一个雪花效果。

*。

* struct screen* : 屏幕数据。

* return          : 0表示可以绘制了,1表示图案不变。

*/。

int screen_draw_snow(struct screen* scr);。

/**。

* 屏幕绘制动画效果, 绘制雪花动画。

*。

* struct screen* : 屏幕结构指针。

*/。

void screen_flash_snow(struct screen* scr);。

// 主函数,主业务在此运行。

int main(int argc, char *argv[])。

{。

struct screen* scr = NULL;。

//创建一个屏幕对象。

scr = screen_create(_INT_FRATE, _INT_WIDTH, _INT_HEIGHT);。

if (NULL == scr)。

exit(EXIT_FAILURE);。

//绘制雪花动画。

screen_flash_snow(scr);。

//销毁这个屏幕对象。

screen_destory(&scr);。

return 0;。

}。

/*。

* 创建一个 屏幕结构指针 返回。

*。

* int frate    : 绘制一帧的周期。

* int width    : 屏幕宽度。

* int height    : 屏幕高度。

* return        : 指向屏幕结构的指针。

* */。

struct screen*。

screen_create(int frate, int width, int height)。

{。

struct screen *scr = NULL;。

if (frate<0 || width <= 0 || height <= 0) {。

cerr("[WARNING]check is frate<0 || width<=0 || height<=0 err!");。

return NULL;。

}。

//后面是 为 scr->pix 分配的内存 width*height。

scr = malloc(sizeof(struct screen) + sizeof(char)*width*height);。

if (NULL == scr) {。

cerr("[FATALG]Out of memory!");。

return NULL;。

}。

scr->frate = frate;。

scr->width = width;。

scr->height = height;。

//减少malloc次数,malloc消耗很大,内存泄露呀,内存碎片呀。

scr->pix = ((char *)scr) + sizeof(struct screen);。

return scr;。

}。

/*。

* 销毁一个 屏幕结构指针, 并为其置空。

* struct screen** : 指向 屏幕结构指针的指针, 二级销毁一级的。

* */。

void。

screen_destory(struct screen** pscr)。

{。

if (NULL == pscr || NULL == *pscr)。

return;。

free(*pscr);。

// 避免野指针。

*pscr = NULL;。

}。

//构建开头 的雪花,下面宏表示每 _INT_SHEAD 个步长,一个雪花,需要是2的幂。

//static 可以理解为 private, 宏,位操作代码多了确实难读。

#define _INT_SHEAD (1<<2)。

static void __snow_head(char* snow, int len)。

{。

int r = 0;。

//数据需要清空。

memset(snow, 0, len);。

for (;;) {。

//取余一个技巧 2^3 - 1 = 7 => 111 , 并就是取余数。

int t = rand() & (_INT_SHEAD - 1);。

if (r + t >= len)。

break;。

snow[r + t] = 1;。

r += _INT_SHEAD;。

}。

}。

#undef _INT_SHEAD。

//通过 上一个 scr->pix[scr->width*(idx-1)] => scr->pix[scr->width*idx]。

//下面的宏 规定 雪花左右摇摆 0 向左一个像素, 1 表示 不变, 2表示向右一个像素。

#define _INT_SWING (3)。

static void __snow_next(struct screen* scr, int idx)。

{。

int width = scr->width;。

char* psnow = scr->pix + width*(idx - 1);。

char* snow = psnow + width;。

int i, j, t; // i索引, j保存下一个瞬间雪花的位置,t 临时补得,解决雪花重叠问题。

//为当前行重置。

memset(snow, 0, width);。

//通过上一次雪花位置 计算下一次雪花位置。

for (i = 0; i

for (t = psnow[i]; t>0; --t) { // 雪花可以重叠。

// rand()%_INT_SWING - 1 表示 雪花 横轴的偏移量,相对上一次位置。

j = i + rand() % _INT_SWING - 1;。

j = j<0 ? width - 1 : j >= width ? 0 : j; // j如果越界了,左边越界让它到右边,右边越界到左边。

++snow[j];。

}。

}。

}。

/**。

* 屏幕绘制函数,主要生成一个雪花效果。

*。

* struct screen* : 屏幕数据。

* return          : 0表示可以绘制了,1表示图案不变。

*/。

int。

screen_draw_snow(struct screen* scr)。

{。

// 静态变量,默认初始化为0,每次都共用。

static int __speed = 0;。

int idx;。

if (++__speed != _INT_VSNOW)。

return 1;。

//下面 就是 到了雪花飘落的时刻了 既 __speed == _INT_VSNOW。

__speed = 0;。

//这里重新构建雪花界面,先构建头部,再从尾部开始构建。

for (idx = scr->height - 1; idx > 0; --idx)。

__snow_next(scr, idx);。

//构建头部。

__snow_head(scr->pix, scr->width);。

return 0;。

}。

//buf 保存scr 中pix 数据,构建后为 (width+1)*height, 后面宏是雪花图案。

#define _CHAR_SNOW ‘*‘

static void __flash_snow_buffer(struct screen* scr, char* buf)。

{。

int i, j, rt;。

int height = scr->height, width = scr->width;。

int frate = scr->frate; //刷新的帧频率    。

//每次都等一下。

for (;;sleep_ms(frate)) {。

//开始绘制屏幕。

rt = screen_draw_snow(scr);。

if (rt)。

continue;。

for (i = 0;i

char* snow = scr->pix + i*width;。

for (j = 0; j

buf[rt++] = snow[j] ? _CHAR_SNOW : ‘ ‘;。

buf[rt++] = ‘\n‘;。

}。

buf[rt - 1] = ‘\0‘;。

//正式绘制到屏幕上。

puts(buf);。

//清空老屏幕,屏幕光标回到最上面。

__curup(height);。

}。

}。

#undef _CHAR_SNOW。

/**。

* 屏幕绘制动画效果, 绘制雪花动画。

*。

* struct screen* : 屏幕结构指针。

*/。

void。

screen_flash_snow(struct screen* scr)。

{。

char* buf = NULL;。

// 初始化随机数种子,改变雪花轨迹。

srand((unsigned)time(NULL));。

buf = malloc(sizeof(char)*(scr->width + 1)*scr->height);。

if (NULL == buf) {。

cerr("[FATAL]Out of memory!");。

exit(EXIT_FAILURE);。

}。

__flash_snow_buffer(scr, buf);。

//1.这里理论上不会执行到这,没加控制器. 2.对于buf=NULL,这种代码 可以省掉,看编程习惯。

free(buf);。

buf = NULL;。

}。

用C语言制作动画

flash制作动画:

打开Flash,点击【文件】→【新建】,在打开的“新建”窗口中选择“Flash文件(ActiveScript。

3.0)“,然后点击”确定“创建空白文档。

点击【插入】→【新建元件】,在打开的”新建元件“窗口中,将名称设置为”运动的小人“,勾选”影片剪辑“,然后点击”确定“按钮。

点击【文件】→【导入】→【导入到库】,然后在打开的”导入到库“窗口中,选择事先准备好的小人走动姿势图片,全部选择并点击”打开“按钮,导入到库。

把库中的“Result0”拖动到场景中。

点击“时间轴”上的“新建图层”按钮,创建图层2,然后在图层2的第5帧处,点击【插入】→【关键帧】,把库中的“Result1”拖动到场景中。

利用同样的原理,将”Result2“、

”Result3“和”Result4“分别到图层3、图层4和图层5中,对应的帧分别为10、15和20处。

最后调整各个图层图像的延续时间。至此,运动的小人影片剪辑制作完成。

切换至主场景中,使主场景处于活动状态,点击”属性“面板中的”大小“按钮,将场景的大小设置为”800*300“,同时将背景色设置为”黑色“点击”确定“按钮。

从库中将”运动的小人“影片剪辑拖动到场景左边外边。

然后在”时间轴“第30帧处,点击【插入】→【时间轴】→【关键帧】,在30帧处插入关键帧,然后将小人从场景的左侧外面拖动到场景右侧外面。至此,整个动画设置完成。

在1到30帧之间鼠标右击,选择”创建补间动画“。

最后按下键盘组合键”CTRL+Enter“进行测试。如果感觉小人运动不规律,可适当将1至30帧的距离调整的稍微大一些,直到满意为止。

怎么用C语言编程实现一个简单的动画

1.可以考虑用Turbo。

C的绘图函数(附加graphic.h库)或者用opengl+glut等来实现。 2.前者一般就是纯粹的画点画线。网上也能找到教程。3.主要说一下后者。可以导入图片,并且二维、三维动画都可以做,甚至是用来开发游戏。后者可以用vc6.0或者vs2005来开发。跨平台。参考教程:

http://www.owlei.com/DancingWind/看你的描述要做比较偏数学的东西,那你自己得弄明白如何去实现绘制算法。要实现的动画本身而搭的基本框架不会很复杂的,可能100行代码都不用。4.另外还有opencv、GDI之类的可能更适合二维图像处理库,但我自己不是很了解了,你也可以查一查用哪种绘图库比较适合你。

c语言中如何将静态图变成动态,形成动画效果

先在PS中做几个不同的层,再导入到ImageReady中,打开动画面板,新建帧,有几层就建几帧。然后每一帧分别显示一张图片。最后保存优化结果。OK!

用C语言怎么做动画

可以用windows.h的头文件。

然后里面system("cls");。

清除屏幕重新从第一行开始画。

还有tc环境画图下有graphics.h头文件有画图的函数,但是vc没有,如果想在控制台。

下画图,给你一段代码,直接添加你用的api函数就行了。

#include 。

#include 。

#include 。

#include 。

#include 。

extern "C"。

{。

WINBASEAPI HWND WINAPI GetConsoleWindow();。

}。

int main(int argc, char *argv[])。

//主线程运行结束,辅助线程也结束。

{。

HWND hwnd;。

HDC hdc;。

printf("There are some words in console。

window!\n在控制台窗口中绘图!\n");。

system("Color 3D");。

hwnd = GetConsoleWindow();。

hdc = GetDC(hwnd);。

MoveToEx(hdc,100,100,NULL);。

LineTo(hdc, 200, 300);。

Rectangle(hdc, 10, 30, 300, 50);。

TextOut(hdc, 10, 10, _TEXT("Hello World\nYesNoConcel!"), 20);。

ReleaseDC(hwnd, hdc);。

getch();。

printf("After drawing!\n");。

return 0;。

}。

这个好像是只有用c++编译器,具体我也忘了,如果.c后缀不行就用cpp后缀,基本语法c和c+差不多。

神经网络如何利用C语言实现动画?相关推荐

  1. Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略

    Python:利用python语言绘制多个子图经典案例.代码实现之详细攻略 目录 利用python语言绘制多个子图代码实现.经典案例 1.绘制多个子图框架 多个子图绘制的经典案例 1.绘制多个直方图 ...

  2. c语言格式化写入文件大小,利用C语言格式化读写文件

    "在C语言中进行格式化读写文件"按照字面意思通常大家都会理解为将读写文件进行格式化的操作,那么到底我们是不是真的将读写文件进行格式化的操作呢?下面课课家笔者就为大家简单介绍C语言中 ...

  3. 利用C#语言实现小闹钟

    本图文主要是15级团队学习成果的汇报" 利用C#语言实现小闹钟".

  4. 15级团队学习成果汇报 -- 利用C#语言实现展览厅

    本图文主要是15级团队学习成果的汇报" 利用C#语言实现展览厅".

  5. 利用C语言实现顺序表

    利用C语言实现静态顺序表 //---------- 头文件#include "SeqList.h" -------------------- #pragma once #inclu ...

  6. c语言编程能控制热风炉,利用C语言设计热风炉悬链线拱顶研究.pdf

    j|il ll_ ll梅 诋 融 技 j 萎 |.每薯tj n叠宣鞲s瓿 利用C语言设计热风炉悬链线拱顶 鄢 明 吴建霖 冯 飞 (柳钢设计院) 摘 要 :介绍 了利用 C语言求解两段 圆弧拟合悬链线 ...

  7. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  8. Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法

    Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...

  9. ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核)

    ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核) 目录 输出结果 设计思路 设计代码(部分代码) 输出结果 设计思路 设计代码(部分代码) var doTest = functi ...

  10. ML之RF:利用Js语言设计随机森林算法【DT之CART算法(gain index)】并应用随机森林算法

    ML之RF:利用Js语言设计随机森林算法[DT之CART算法(gain index)]&并应用随机森林算法 目录 输出结果 设计思路 代码实现(部分代码) 输出结果 设计思路 代码实现(部分代 ...

最新文章

  1. 7 centos 源码安装samba_在CentOS7.6里编译安装PHP7.4(最新版),很详细
  2. javascript与java的不同之处
  3. gbdt 算法比随机森林容易_机器学习(七)——Adaboost和梯度提升树GBDT
  4. python学习日记day2
  5. 太原工业学院单片机课程设计_我系举办2014年单片机应用技能竞赛开幕式
  6. linux可以使用的远程管理,linux下可以使用以下()方法进行远程管理
  7. PCA(主成分分析)思想及实现
  8. MySQL事务ACID实现原理
  9. Linux中的Diff和Patch
  10. 最新linux 5,Linux 5.5 正式发布
  11. asp网站服务器软件,asp服务器软件
  12. python 实例对象 浅拷贝_Python 对象的深拷贝与浅拷贝 -- (转)
  13. leetcode 125 valid-palindrome
  14. [经典好文] 谈笑色影间,人生本无忌 (转于色影无忌)
  15. Python小程序(3)--BMR(基础代谢率)计算器
  16. 他安息,只因天使离去
  17. Word2019 未找到 MathPage.wll 文件的解决方法
  18. 虚拟机打开时报错Operation inconsistent with current state。
  19. 辗转相除法和更相减损法原理和算法
  20. kgdb调试环境的建立

热门文章

  1. 生产排程系统_APS自动生产排程系统-用户常见问题及解答
  2. vue 动态添加组件
  3. 遗传算法bp神经网络原理,bp神经网络 遗传算法
  4. python3高级编程学习笔记(linux环境)
  5. 数学软件的matlab用处,引导高职学生用MATLAB软件解决数学的意义和价值
  6. Qt调用工业相机之映美精相机
  7. php poedit怎么debug,php – 如何使PoEdit正确解析自定义“ngettext”实现?
  8. SDL Trados 2019 (SR2)的下载和安装
  9. 华为HCIE-RS(数通)论述题(一)
  10. 硬件入门之PCB设计注意事项