七彩风车怎么做,方法如下:
七彩纸风车的漂亮程度取决于纸张的厚度和花纹,所以选择一张独具特色的纸张,将带给你不一样的感觉。
风车制作步骤图解:
步骤1、首选把纸裁成一个正方形。
步骤2、四个角剪开,注意别剪太深。
步骤3、用图钉固定把风车中间固定住。
步骤4、风车制作完成,把它固定在一个纸卷的小棒子或者一个吸管上,放进花瓶吧!
用那种便签纸做一些还可以用线穿起来吊在屋子里装饰,在有风的时候,风车就被风吹起来了。
小时候最喜欢动手DIY的玩具那就要数纸风车了,制作好后用嘴轻轻一吹,风车立刻呼呼的转动起来,非常的漂亮。现在对这种纸风车也情有独钟,空闲的时候会手工制作几个风车放在家里做装饰,那段美好回忆似乎很近很近。这里也给大家分享下我的一款七彩风车制作步骤,这个七彩风车的制作方法非常简单,跟着风车制作步骤图解一起来学习吧!
七彩风车比较普通的是要准备七彩纸,照着之前的步骤,将每隔一个对角拉拢,然后钉上钉子,最后配上棍子就做好了,做的时候纸张比较多,切忌不要弄混淆了,不然做出来成不了型,在剪开对折线时也要注意不要剪得太过或者太短,尽量每张剪开的长度保持一致,这样才能制作出美观的风车。
//源程序,示例代码:// Instance_3_1_.cpp : Defines the entry point for the application.
//
/*************************************************************************
在窗口中画一个旋转的风车,风车中有三个叶片,颜色分别为红黄和蓝,
叶片外侧有一个外接圆。
*************************************************************************/
#include <windows.h>
#include <math.h>
// 回调函数声明
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
// 初始化窗口类声明
BOOL InitWindowsClass(HINSTANCE hInstance, char *lpszClassName)
// 初始化窗口声明
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow, char *lpszClassName, char *lpTitle)
WNDCLASS wndclass // 定义一个窗口类
HWND hwnd // 定义一个窗口句柄
const double Pi = 3.1415926
int nMaxNumber = 20 // 叶片循环一周中绘图的次数
int nNum = 0 // 记录当前的顺序
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG Msg // 定义消息
char lpszClassName[] = "风车" // 窗口的类名
char lpTitle[] = "基本绘图-旋转的风车" // 窗口标题名
// 初始化窗口类
if (!InitWindowsClass(hInstance, lpszClassName))
{
return FALSE
}
// 初始化窗口
if (!InitWindows(hInstance, nCmdShow, lpszClassName, lpTitle))
{
return FALSE
}
//消息循环
while(GetMessage(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg)
DispatchMessage(&Msg)
}
return Msg.wParam // 程序终止时将信息返回系统
}
// 初始化窗口类定义
BOOL InitWindowsClass(HINSTANCE hInstance, char *lpszClassName)
{
//1、窗口类定义
wndclass.style = 0 // 窗口类型为默认类型
wndclass.lpfnWndProc = WndProc // 窗口处理函数为 WNDPROC
wndclass.cbClsExtra = 0 // 窗口类无扩展
wndclass.cbWndExtra = 0 // 窗口实例无扩展
wndclass.hInstance = hInstance // 当前实例句柄
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION) // 窗口的最小化图标为默认图标
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW) // 窗口采用箭头光标
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH) // 窗口采用白色背景
wndclass.lpszMenuName = NULL // 窗口中无菜单
wndclass.lpszClassName = lpszClassName //类名为 lpClassName
//2、注册窗口类
if (!RegisterClass(&wndclass))
{ // 如果注册失败则发出警告声音
MessageBeep(0)
return FALSE
}
return TRUE
}
// 初始化窗口声明
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow, char *lpszClassName, char *lpTitle)
{
//3、创建窗口
hwnd = CreateWindow(
lpszClassName,
lpTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
0,
600,
450,
NULL,
NULL,
hInstance,
NULL
)
//4、显示窗口
ShowWindow(hwnd, nCmdShow)
UpdateWindow(hwnd)
return TRUE
}
// 回调函数定义
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hDC // 定义设备环境句柄
HPEN hPen // 定义画笔句柄
HBRUSH hBrush // 定义画刷句柄
PAINTSTRUCT PtStr // 定义包含绘制信息的结构体变量
POINT pCenterPoint // 定义一个圆尽心点的坐标
int nRadious = 50// 定义圆的半径
double fAngle // 叶片的直边与水平轴的夹角
switch(message)
{
case WM_PAINT:
{ // 处理绘图消息
hDC = BeginPaint(hwnd, &PtStr) // 得到设备句柄
SetMapMode(hDC, MM_ANISOTROPIC) // 设置映像模式
SetWindowExtEx(hDC, 400, 300, NULL) // 设置窗口区域(逻辑单位)
SetViewportExtEx(hDC, 600, 450, NULL) // 设置视口区域(物理单位)
SetViewportOrgEx(hDC, 300, 200, NULL) // 设置视口原点坐标为(300, 200)
// 绘制外圆
hPen = (HPEN)GetStockObject(BLACK_PEN)
SelectObject(hDC, hPen)
Ellipse(hDC, -100, -100, 100, 100)
// 绘制风车的叶片
// 1、画红色叶片
hBrush = CreateSolidBrush(RGB(255, 0, 0))
SelectObject(hDC, hBrush)
fAngle = 2 * Pi / nMaxNumber * nNum
pCenterPoint.x = (int)(nRadious * cos(fAngle))
pCenterPoint.y = (int)(nRadious * sin(fAngle))
Pie(
hDC,
pCenterPoint.x - nRadious, pCenterPoint.y - nRadious,
pCenterPoint.x + nRadious, pCenterPoint.y + nRadious,
(int)(pCenterPoint.x + nRadious * cos(fAngle)),
(int)(pCenterPoint.y + nRadious * sin(fAngle)),
(int)(pCenterPoint.x + nRadious * cos(fAngle + Pi)),
(int)(pCenterPoint.y + nRadious * sin(fAngle + Pi))
)
// 2、画天蓝色叶片
hBrush = CreateSolidBrush(RGB(255, 255, 0))
SelectObject(hDC, hBrush)
pCenterPoint.x = (int)(nRadious * cos(fAngle + 2 * Pi / 3))
pCenterPoint.y = (int)(nRadious * sin(fAngle + 2 * Pi / 3))
Pie(
hDC,
pCenterPoint.x - nRadious, pCenterPoint.y - nRadious,
pCenterPoint.x + nRadious, pCenterPoint.y + nRadious,
(int)(pCenterPoint.x + nRadious * cos(fAngle + 2 * Pi / 3)),
(int)(pCenterPoint.y + nRadious * sin(fAngle + 2 * Pi / 3)),
(int)(pCenterPoint.x + nRadious * cos(fAngle + Pi + 2 * Pi / 3)),
(int)(pCenterPoint.y + nRadious * sin(fAngle + Pi + 2 * Pi / 3))
)
// 2、画黄色叶片
hBrush = CreateSolidBrush(RGB(0, 255, 255))
SelectObject(hDC, hBrush)
pCenterPoint.x = (int)(nRadious * cos(fAngle + 4 * Pi / 3))
pCenterPoint.y = (int)(nRadious * sin(fAngle + 4 * Pi / 3))
Pie(
hDC,
pCenterPoint.x - nRadious, pCenterPoint.y - nRadious,
pCenterPoint.x + nRadious, pCenterPoint.y + nRadious,
(int)(pCenterPoint.x + nRadious * cos(fAngle + 4 * Pi / 3)),
(int)(pCenterPoint.y + nRadious * sin(fAngle + 4 * Pi / 3)),
(int)(pCenterPoint.x + nRadious * cos(fAngle + Pi + 4 * Pi / 3)),
(int)(pCenterPoint.y + nRadious * sin(fAngle + Pi + 4 * Pi / 3))
)
nNum++ // 当前充数增加1
Sleep(50) //等待0.1秒
InvalidateRect(hwnd, NULL, 1) // 重绘窗口区域
DeleteObject(hPen)
DeleteObject(hBrush)
EndPaint(hwnd, &PtStr)
break
}
case WM_DESTROY:
{
// 调用 PostQuitMessage 发出 WM_QUIT 消息
PostQuitMessage(0)
}
default:
{
return DefWindowProc(hwnd, message, wParam, lParam)
}
}
return 0
}
猿编程风车是一个由开源社区推广的教育项目,可以帮助学习者更好地理解计算机科学的一些基本概念。如果您想搭建一个猿编程风车,可以按照以下步骤进行:确定需要的硬件和软件。猿编程风车的核心是一个微型电脑,常用的是树莓派(Raspberry Pi),需要搭配一些基础配件,例如显示器、键盘、鼠标、SD卡等。同时还需要一些编程软件,例如Python集成开发环境(IDE)、Scratch编程软件等。
组装硬件。按照树莓派和其他配件的说明书,组装好硬件,并将SD卡插入树莓派中。
安装 *** 作系统。将猿编程风车需要使用的 *** 作系统下载到SD卡中,并插入树莓派中。启动树莓派并按照安装向导完成 *** 作系统的安装。
安装编程软件。根据需要,安装Python IDE、Scratch编程软件等。
开始编程。打开编程软件,开始编写程序,并将程序上传到树莓派中进行运行。
总的来说,搭建猿编程风车需要一定的硬件和软件基础,并需要一些耐心和实践。如果您不熟悉硬件和软件的 *** 作,建议先学习一些基础知识。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)