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库来绘制图形。

用c语言和python分别画出一个万花筒

原文地址: https://www.cveoy.top/t/topic/bhdg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录