用c语言和python分别画出一个万花筒
C语言代码:
#include <graphics.h>
#include <math.h>
#include <stdio.h>
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
int x_center = getmaxx() / 2;
int y_center = getmaxy() / 2;
int radius = 200;
int num_segments = 360;
int segment_length = 20;
for (int i = 0; i < num_segments; i++)
{
int x = x_center + radius * cos(2 * M_PI * i / num_segments);
int y = y_center + radius * sin(2 * M_PI * i / num_segments);
int x1 = x_center + (radius - segment_length) * cos(2 * M_PI * i / num_segments);
int y1 = y_center + (radius - segment_length) * sin(2 * M_PI * i / num_segments);
int x2 = x_center + (radius - segment_length) * cos(2 * M_PI * (i + 1) / num_segments);
int y2 = y_center + (radius - segment_length) * sin(2 * M_PI * (i + 1) / num_segments);
line(x1, y1, x2, y2);
line(x_center, y_center, x, y);
}
getch();
closegraph();
return 0;
}
Python代码:
import turtle
import math
window = turtle.Screen()
window.bgcolor("black")
def draw_kaleidoscope(num_segments, segment_length):
turtle.pencolor("white")
turtle.speed(0)
for i in range(num_segments):
turtle.setheading(0)
turtle.forward(segment_length)
turtle.setheading(360 / num_segments * i)
turtle.pendown()
for j in range(num_segments):
turtle.forward(segment_length)
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.right(360 / num_segments)
turtle.hideturtle()
draw_kaleidoscope(20, 200)
turtle.done()
两个程序都可以画出一个万花筒。C语言程序使用了graphics.h库和数学函数cos和sin来绘制图形。Python程序则使用了turtle库来绘制图形。
原文地址: https://www.cveoy.top/t/topic/bhdg 著作权归作者所有。请勿转载和采集!