jianghongz 发表于 2025-6-12 09:17:29

铜钱古币

import turtle
turtle.hideturtle()
turtle.speed(10)
turtle.penup()
turtle.goto(0,-200)
turtle.pendown()
turtle.color("orange")
turtle.begin_fill()
turtle.circle(200)
turtle.end_fill()
turtle.penup()
turtle.goto(-100,-100)
turtle.pendown()
turtle.color("white")
turtle.begin_fill()
for i in range(4):
    turtle.forward(200)
    turtle.left(90)
turtle.end_fill()
turtle.done()

FishC 发表于 2025-6-12 09:20:00

以下是优化后的铜钱古币绘制代码,修正了正方形位置和大小,使其更符合外圆内方的传统造型:

import turtle

# 设置背景色为浅黄(模拟古铜色背景)
turtle.bgcolor("#f0e68c")

# 隐藏海龟并加速绘制
turtle.hideturtle()
turtle.speed(0)
turtle.penup()

# 绘制外圆(金色)
turtle.goto(0, -150)
turtle.pendown()
turtle.color("#daa520")# 金色
turtle.begin_fill()
turtle.circle(150)       # 半径150的圆
turtle.end_fill()
turtle.penup()

# 绘制内方孔(白色方孔)
# 计算正方形位置(对角线等于圆直径)
side = 150 * 1.414       # 150×√2 ≈ 212
turtle.goto(-side/2, -side/2)
turtle.pendown()
turtle.color("white")
turtle.begin_fill()
for _ in range(4):
    turtle.forward(side)
    turtle.left(90)
turtle.end_fill()

# 添加文字(可选)
turtle.penup()
turtle.goto(0, -180)
turtle.color("#8b4513")# 深棕色
turtle.write("乾隆通宝", align="center", font=("楷体", 24, "bold"))

turtle.done()

### 优化说明:
1. **外圆内方比例**:通过数学计算确保正方形对角线等于圆直径(`边长 = 半径 × √2`)
2. **传统配色**:
   - 外圆使用金色 (`#daa520`)
   - 方孔使用白色(模拟镂空)
   - 背景设为浅黄 (`#f0e68c`) 模拟古卷轴
3. **添加文字**:在底部添加"乾隆通宝"字样(可修改为其他年号)
4. **性能优化**:`speed(0)` 为最快绘制速度

### 使用说明:
直接运行代码即可生成铜钱图案,如需修改:
- 调整圆半径:修改`circle()`中的数值
- 修改文字:替换`write()`中的字符串
- 修改颜色:替换`color()`中的色值

效果:金色圆形钱币中心有白色方形孔洞,底部显示深棕色文字,整体呈现古朴质感。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

cheershahaha 发表于 2025-6-12 10:41:41

{:5_95:}

小甲鱼的二师兄 发表于 2025-6-12 15:27:42



哈哈,我就知道,一个圆 + 一个方框

小甲鱼的二师兄 发表于 2025-6-12 15:50:17

试试我这个:

import turtle

# 设置窗口和画笔
turtle.setup(600, 600)
turtle.speed(0)
turtle.hideturtle()
turtle.bgcolor("white")

# ------ 画外圆 ------
turtle.penup()
turtle.goto(0, -200)
turtle.pendown()
turtle.pensize(5)
turtle.color("#bfa243", "#e7c87a")# 铜钱色
turtle.begin_fill()
turtle.circle(200)
turtle.end_fill()

# ------ 画内圆(立体感) ------
turtle.penup()
turtle.goto(0, -170)
turtle.pendown()
turtle.color("#e1d39b", "#f7e7b0")
turtle.begin_fill()
turtle.circle(170)
turtle.end_fill()

# ------ 画内方孔 ------
turtle.penup()
turtle.goto(-45, -45)
turtle.pendown()
turtle.color("white", "#f7e7b0")
turtle.begin_fill()
for _ in range(4):
    turtle.forward(90)
    turtle.left(90)
turtle.end_fill()

# ------ 画方孔阴影线条 ------
turtle.penup()
turtle.goto(-48, -48)
turtle.pendown()
turtle.color("#ad9b61")
turtle.pensize(2)
for _ in range(4):
    turtle.forward(96)
    turtle.left(90)

# ------ 写“康熙通宝”四字(顺时针、分别写在正上、右、下、左) ------
turtle.color("#7d5b0e")

# 字体设置(如果出现乱码可尝试“黑体”或“SimHei”)
font_setting = ("宋体", 64, "bold")

# “康”——正上
turtle.penup()
turtle.goto(0, 70)
turtle.pendown()
turtle.write("康", align="center", font=font_setting)

# “通”——右
turtle.penup()
turtle.goto(100, -40)
turtle.pendown()
turtle.write("通", align="center", font=font_setting)

# “熙”——正下
turtle.penup()
turtle.goto(0, -150)
turtle.pendown()
turtle.write("熙", align="center", font=font_setting)

# “寳”——左
turtle.penup()
turtle.goto(-100, -40)
turtle.pendown()
turtle.write("寳", align="center", font=font_setting)

turtle.done()

波克城市8 发表于 2025-6-13 20:17:54

谢谢分享
页: [1]
查看完整版本: 铜钱古币