gpt4 book ai didi

python - 绘制和着色圆截面

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:33 26 4
gpt4 key购买 nike

所以,我必须做一些图形/可视化工作,结果证明这是一场噩梦,因为我在这方面的经验为 0。

简而言之,我有一系列半径为 1、2、3 的同心圆 (b, c, d) 和穿过原点 (-x - y = 0) 的垂直线 (e, f)和 -x + y = 0)。下面是 GeoGebra 可视化:

concentric circles centered on origin with x-y axes and lines at x=y and x=-y

我还有一个包含 12 个灰度像素值的数组。此数组中的每个值对应于图像的一部分要着色的颜色(3 个圆圈,每个圆圈有 4 个部分)。下面是一个示例图像,为了清晰起见,我将一个区域涂成粉红色。

enter image description here

我已经能够创建可以着色的饼图切片,这适用于圆 b 中的部分,但不适用于其他两个部分。

from PIL import Image, ImageDraw

x_center = 400 // 2
y_center = 400 //2

img = Image.new('RGBA', (400, 400), 'white')

idraw = ImageDraw.Draw(img)

idraw.pieslice([x_center-100, x_center-100,
y_center + 106, y_center + 106], 225, 315, fill='blue')

enter image description here

并且已经接近和弦,但我需要一个弧形底部,而不是一条直线

from PIL import Image, ImageDraw

x_center = 400 // 2
y_center = 400 //2

im = Image.new('RGBA', (400, 400), 'white')

draw = ImageDraw.Draw(im)
draw.chord([x_center-100, x_center-100,
y_center + 106, y_center + 106], 225, 315, fill='blue')

enter image description here

现在,最终目标是获取最终产品并将其保存为 png 或 jpeg。这是因为每个图像都反射(reflect)了一个时间片,我想将它们全部拼凑成一个视频。然而,我 100% 愿意使用任何最有效的工具,无论是 PIL、matplotlib 等(我对这类东西只有 0 经验,所以我使用 PIL/PILLOW 的决定可能不是最明智的)。

任何对此问题的见解都将不胜感激。

最佳答案

从大到小绘制一系列扇区。依次较小的圆扇区将绘制在之前的圆扇区之上,给出您正在寻找的区域形状。使用您的代码调用 idraw.pieslice,例如,

idraw.pieslice([x_center-100, x_center-100, 
y_center+100, y_center+100], 225, 315, fill='blue')
idraw.pieslice([x_center-80, x_center-80,
y_center+80, y_center+80], 225, 315, fill='red')

关于python - 绘制和着色圆截面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48700162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com