我的标题所说的问题是在pygame中设置图形子像素坐标的想法。
我和朋友谈到的是我如何尝试在python中创建一个函数图形程序以获得乐趣,我想到了如何使用它,但我发现了一些问题。
第一个是范围的使用,因为它使用整数而不是浮点数,但numpy的范围修复了这个问题,但这让我想到了第二个问题。
我想到的图形的想法是简单的,不是制作粗大的粗线或奇怪的形状,是因为它使用display.set_at来使单个像素成为一种颜色。对于简单的图表,这非常有效。但当我进入更复杂的图形时,我遇到了两个主要错误:
第一个错误是图表显示了它们之间没有任何线条的像素,线条的想法是让所有像素彼此靠近的错觉。但我发现,如果范围为1,则会留下这个差距。理论上,使用步长为.01的范围,差距将一起消失,但这带来了第二个问题。
display.set_at不适用于子像素坐标。有人能够建议一种方法来使这项工作?非常感谢。
答案 0 :(得分:0)
使用pygame的线条绘制功能绘制从当前坐标到下一个坐标的线,而不是使用子像素坐标(pygame.draw.line
甚至pygame.draw.lines
,而不是设置每个像素)。
这样,"间隙"两点之间填补;不需要子像素坐标。
您只需按正确的顺序绘制线条;只需确保坐标已排序。
除此之外,您还可以通过将x / y值转换为整数来简单地转换子像素坐标。