程序
#include<stdio.h>
#include<math.h>
#include<Windows.h>
#include <graphics.h>
DWORD WINAPI circle(LPVOID n)
{
int circlePointx = 180;
int circlePointy = 180;
const double degree_half = 0.008726;
int R0 = 150;
for (int i = 0; i < 720; i++) {
putpixel(circlePointx + R0 * cos(degree_half*i), circlePointy + R0 * sin(degree_half*i), RED);
Sleep(10);
}
return 0;
}
DWORD WINAPI tangle(LPVOID n)
{
int circlePointx = 540;
int circlePointy = 180;
int R0 = 150;
float factor = 1.65;
float delta = 2 * R0 / 180 * factor;
for (int ii = 0; ii < 180; ii++) {
putpixel(circlePointx + R0 - delta * ii,circlePointy-R0,GREEN);
Sleep(10);
}
for (int ii = 0; ii < 180; ii++) {
putpixel(circlePointx - R0, circlePointy - R0 + delta * ii, GREEN);
Sleep(10);
}
for (int ii = 0; ii < 180; ii++) {
putpixel(circlePointx - R0 + delta * ii, circlePointy + R0, GREEN);
Sleep(10);
}
for (int ii = 0; ii < 180; ii++) {
putpixel(circlePointx + R0, circlePointy + R0 - delta * ii, GREEN);
Sleep(10);
}
return 0;
}
int main()
{
initgraph(960, 540);
HANDLE hThread[2];
hThread[0] = CreateThread(NULL, 0, circle, (LPVOID)0, 0, NULL);
hThread[1] = CreateThread(NULL, 0, tangle, (LPVOID)0, 0, NULL);
WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
CloseHandle(hThread[0]);
CloseHandle(hThread[1]);
getchar();
return 0;
}
结果

