AI绘图

还在为选择哪款AI绘图工具挠头?想知道Deepseek、豆包、文言一心究竟谁更能打?别纠结今天就来一场全方位AI绘图大测评,从准确性到细节表现,从生成速度到操作便捷,深度剖析,为你选出最适合的那一款,速来围观!

指定绘图任务:完成一个“用Python绘制中国五星红旗”的相同任务指令,输出的代码在Python123测试。如果没有按要求完成,通过反馈错误试图让他们画出标准的五星红旗。

1. Deepseek

得到代码:

点击查看代码

import turtle

# 设置画布大小

turtle.setup(600, 400)

# 设置背景颜色为红色

turtle.bgcolor("red")

# 创建一个turtle对象

pen = turtle.Turtle()

pen.speed(10)

pen.penup()

# 绘制大五角星

pen.goto(-200, 100)

pen.pendown()

pen.color("yellow")

pen.begin_fill()

for _ in range(5):

pen.forward(100)

pen.right(144)

pen.end_fill()

# 绘制四个小五角星

def draw_small_star(x, y, angle):

pen.penup()

pen.goto(x, y)

pen.setheading(angle)

pen.pendown()

pen.begin_fill()

for _ in range(5):

pen.forward(30)

pen.right(144)

pen.end_fill()

# 四个小五角星的位置和角度

small_stars = [(-100, 160, -30), (-60, 120, 0), (-60, 60, 30), (-100, 20, 60)]

for star in small_stars:

draw_small_star(*star)

# 隐藏turtle

pen.hideturtle()

# 结束绘图

turtle.done()

运行Deepseek给出的代码绘图完成很流畅,没有原则性的代码错误,但在细节方面还有可以优化的空间:五星在红旗中的整体位置略有偏右,小星的角没有准确的对准大星的中央。

2.豆包

得到代码:

点击查看代码

import turtle

# 设置画布和画笔

screen = turtle.Screen()

screen.setup(width=800, height=533) # 五星红旗的长宽比为 3:2

screen.bgcolor("red") # 设置背景颜色为红色

pen = turtle.Turtle()

pen.speed(10) # 设置画笔速度

pen.hideturtle() # 隐藏画笔箭头

pen.pencolor("yellow") # 设置画笔颜色为黄色

pen.fillcolor("yellow") # 设置填充颜色为黄色

# 定义绘制五角星的函数

def draw_star(size):

pen.begin_fill()

for _ in range(5):

pen.forward(size)

pen.right(144)

pen.end_fill()

# 绘制大五角星

pen.penup()

pen.goto(-300, 200) # 大五角星的位置

pen.pendown()

pen.setheading(36) # 设置初始角度

draw_star(100) # 大五角星的大小

# 定义小五角星的位置和角度

small_star_positions = [

(-200, 260, 162),

(-160, 220, 189),

(-160, 160, 225),

(-200, 120, 252)

]

# 绘制四个小五角星

for x, y, angle in small_star_positions:

pen.penup()

pen.goto(x, y)

pen.pendown()

pen.setheading(angle)

draw_star(30) # 小五角星的大小

# 完成绘制

turtle.done()

显然豆包的表现力并不是很出色,代码正常运行,但是五星的位置和角度都完全偏移。

3.Kimi智能助手

得到代码:

点击查看代码

import turtle

def draw_star(center, size):

turtle.penup()

turtle.goto(center)

turtle.pendown()

turtle.setheading(0)

for _ in range(5):

turtle.forward(size)

turtle.right(144)

def draw_flag():

# 设置画布

turtle.setup(600, 400)

turtle.bgcolor("red")

turtle.speed(0)

turtle.penup()

# 绘制大星星

draw_star((-200, 100), 50)

# 绘制小星星

small_star_positions = [(-150, 180), (-120, 140), (-120, 80), (-150, 20)]

for pos in small_star_positions:

draw_star(pos, 20)

# 隐藏海龟

turtle.hideturtle()

turtle.done()

draw_flag()

Kimi的展现更是垃圾,五星竟然是黑色线条。

反馈错误再试一次:

点击查看代码

import turtle

def draw_star(center, size, angle=0):

turtle.penup()

turtle.goto(center)

turtle.setheading(angle)

turtle.forward(size / 2)

turtle.left(162)

turtle.pendown()

turtle.begin_fill()

for _ in range(5):

turtle.forward(size)

turtle.right(144)

turtle.end_fill()

turtle.penup()

def draw_flag():

# 设置画布

turtle.setup(600, 400)

turtle.bgcolor("red")

turtle.speed(0)

turtle.color("yellow") # 设置星星颜色为黄色

# 绘制大星星

draw_star((-200, 100), 50)

# 绘制小星星

small_stars = [

{"pos": (-150, 180), "angle": -15},

{"pos": (-120, 140), "angle": -40},

{"pos": (-120, 80), "angle": -70},

{"pos": (-150, 20), "angle": -100}

]

for star in small_stars:

draw_star(star["pos"], 20, star["angle"])

# 隐藏海龟

turtle.hideturtle()

turtle.done()

draw_flag()

以上三个大AI平台的首次编写表现都不是很好,反馈错误后也不能快速的领悟用户指令并且准确地完成,只有告诉他们标准中国五星红旗五星的坐标后才能勉强的绘制出标准的五星红旗,对此我都感到非常不满意。但是这个问题让我产生了疑惑,我觉得不应该各大AI大数据都不能准确地完成指令。那么究竟是AI在大数据库中无法直接获取标准中国五星红旗的五星坐标?或是Python123海龟绘图的限制?于是我问Kimi为什么不能正确绘制标准的中国五星红旗?Kimi给出了如下的答案:

功能限制:turtle 模块在精确绘图方面存在不足。

缺乏高级绘图库:Python123 不支持更高级的绘图库(如 matplotlib 或 Pillow)。

精确绘制的难度:五星红旗的绘制需要精确的几何计算和图形控制,而 turtle 模块在这方面能力有限。

环境限制:Python123 对代码的执行时间和复杂度有限制。

总的来说Kimi觉得turtle有限制,但我使用matplotlib时,Kimi给出的代码更是把黄色五角星绘制成黄色正五边形了哈...没话讲了...总之我翻译一下,他的潜台词就是: “绘制标准五星红旗”要求的精确度太高,用户给我布置太难的任务,我完不成也很正常啦~ 好了Kimi,只要你有这样如此豁达开朗的想法,做什么都会成功的。。。

难道真是我这个网络老人不会和AI沟通吗,反正这几个东西用的我一肚子火,,,网络老人研究去了,争取早日驯服AI。。。

声明:本次测试中的Python支持来自Python123;Deepseek、豆包、Kimi支持均来自官网。