- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以,对于我的计算机科学课,我们应该从网站导入 pygame:
http://www.petercollingridge.co.uk/image-processing-pygame
然后我们应该在 pygame 窗口中使用像素在 python 中创建 sierpinski 三角形。所以窗口中的每个像素都需要按照三角形的形状着色。我什至不能让我的三角形只显示黑色像素,而我们应该做的是让它的上角显示为红色,左下角显示为绿色,右下角显示为蓝色。这些颜色应该在整个三角形中慢慢地相互淡化(渐变)。完成的过程应该看起来像这样:
http://eldar.mathstat.uoguelph.ca/dashlock/ftax/Gallery/Sierpenski2D960.gif
首先,每次我设置窗口时,它都会说我的 main 函数中的 midPoint 未分配,我在其中调用了较早的 midPoint 函数。这让我感到困惑,因为我在第一个函数中明确地分配了它:def midPoint,所以对这个问题的任何帮助都会很棒。除此之外,我不确定为什么我不能让实际的三角形出现。我只想先让它显示黑色,然后再给它上色。对于我最有可能的糟糕代码有什么问题的任何帮助将不胜感激。我应该辅修计算机科学,但我没有通过这门课。我很绝望。请你甚至可以取笑我糟糕的代码,但我需要一些东西,任何东西。我迷路了。谢谢。
#######################################
import pygame, math, random
pygame.init()
#######################################
def midpoint (x0, x1, y0, y1):
panda = ((x0 + x1)/2)
polarbear = ((y0 + y1)/2)
return panda, polarbear
#######################################
def randomPoint (width, height):
potato = (random.random() * width)
pickle = (random.random() * height)
return potato, pickle
#newImage
# PRE: Takes size, which is a 2-tuple (width, height) and provides size of image
# POST: Creates list of length size[0]. Each item in list is length size[1]. Each item of list is a 3-tuple.
#
# Points of this data structure are denoted as image[x][y] and each point has 3 components: [0] for red, [1] for green, and [2] for blue
#
def newImage(size):
return pygame.surfarray.array3d(pygame.Surface(size))
#######################################
#showImage
# Takes image created by newImage and displays it in open window
# PRE: image is a list of lists of 3-tuples. Each 3 tuple corresponds to a (R,G,B) color.
# POST: image is displayed in window.
#
def showImage(image):
width, height, depth = image.shape
pygame.display.set_mode((width, height))
surface = pygame.display.get_surface()
pygame.surfarray.blit_array(surface, image)
pygame.display.flip()
#######################################
# MAIN PROGRAM
pygame.init()
width = int(input("How large do you want your window? "))
height = int(input("How tall do you want your window? "))
window = newImage((width, height))
for x in range(width):
for y in range(height):
window[x][y] = (255,255,255) #Colors window white
showImage(window)
#
p = randomPoint(width, height)
for i in range(1000001):
corners = [(width, height),(0, height),(width//2, 0)]
c = random.choice(corners)
mid = midPoint(p[0], p[1], c[0], c[1])
if i > 10:
window[(mid[0])][(mid[1])] = (0,0,0)
p = mid
if i % 1000 == 0:
showImage(window)
#
print('Done!')
input("Enter to quit")
pygame.quit()
#
#######################################`
最佳答案
###################SIERPINSKI TRIANGLE (R,G,B)###################
###########################
###################
##########
#######################################
import pygame, math, random
pygame.init()
#######################################
#newImage
# PRE: takes a 2-tuple (width, height) input from user and provides size of image
# POST: Creates list, len[0]. Each item in list is len[1]. Each item is 3-tuple.
# Points of data structure (pixels) are denoted as image[x][y] and each point has 3 components:
##########################################################################################
[0] - RED
##########################################################################################
[1] - GREEN
##########################################################################################
[2] - BLUE
def newImage(size):
return pygame.surfarray.array3d(pygame.Surface(size))
#######################################
#showImage
# Main function: Takes image created by "newImage" and displays it in pygame window
# PRE: image is a LIST OF LISTS of 3-tuples. Each 3 of the tuples corresponds to a (R,G,B) color.
# POST: image is displayed in window
def showImage(image):
width, height, depth = image.shape
pygame.display.set_mode((width, height))
surface = pygame.display.get_surface()
pygame.surfarray.blit_array(surface, image)
pygame.display.flip()
#######################################
#randomPoint
# set the variable "p" in main function to the returned values of this function which should be a random point
# PRE: takes in 2-tuple (width, height)
# POST: returns coordinates of a random point in the size of the image
def randomPoint(width, height):
ex = (random.random() * width)
wye = (random.random() * height)
return ex, wye
#######################################
#midPoint
# find the mid-point between "p" - random point and "c" - random corner in the main function
# PRE: take in all 4 coordinates of the 2 points
# POST: calculate the mid-point between these 2 points and color it black. Set p to the midPoint once this function is complete and repeat.
def midPoint(x0, y0, x1, y1):
eks = ((x0 + x1)/2)
wie = ((y0 + y1)/2)
return eks, wie
#######################################
def colorPoint (x, y, width, height):
w = (255/width)
h = (255/height)
x_color = x*w
y_color = y*h
r = math.fabs(255 - y_color)
g = math.fabs(255 - x_color)
b = math.fabs(255 - x_color - y_color)
return r, g, b
showImage(window)
#######################################
# MAIN PROGRAM
# Start the CHAOS GAME
pygame.init()
#######################################
# Get user input for the width and height of the window
width = int(input("How wide would you like your window to be? "))
height = int(input("How tall would you like your window to be? "))
window = newImage((width, height))
for ecks in range(width):
for why in range(height):
window[ecks][why] = (255,255,255) #Colors window white
showImage(window)
#######################################
# Set "p" to starting value
p = 1
# Call randomPoint in order to set "p" to a random point within the parameters of the window size
p = randomPoint(width, height)
i = 0
for i in range(1000001):
corners = [(width, height),(0, height),(width//2, 0)]
c = random.choice(corners)
mid = midPoint(p[0], p[1], c[0], c[1])
colour = colorPoint((mid[0]), (mid[1]), width, height)
if i > 10:
window[(mid[0])][(mid[1])] = colour
i += 1
p = mid
if i % 1000 == 0:
showImage(window)
#######################################
#End the CHAOS GAME
print ('Done!')
input ("ENTER to quit")
pygame.quit()
#######################################
关于python - 使用 pygame 窗口在 python 中创建 (R,G,B) Sierpinski 三角形。每个角分别是红色、绿色和蓝色,并且相互渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135235/
在此处下载源代码:http://www.eyeClaxton.com/download/delphi/ColorSwap.zip 是的,我想将“主要是蓝色”的内容转换为“主要是绿色”的内容。 我想获取
我正在处理红色、绿色、蓝色或黑色的小图像(想想 4 色卡组中的卡片等级)。什么是确定图像颜色的快速算法? 有关输入的示例集,请参阅 here ,除了图像可以缩放等,所以它们不会那么清晰。 最佳答案 这
我正在为我的 HTML 表单创建一个简单的 JS 验证。验证检查字段是否为空,在某些情况下检查两者,如果它们为空并输入 !numbers。此检查效果很好,但我还试图实现的是,如果 JS 检测到无效输入
我是 Mac OSx/Cocoa 开发新手。在创建我的第一个应用程序期间,我遇到了一些事情,其中之一就是用于缩放目的的绿色 + 按钮的问题。 我想知道是否可以动态设置应用程序窗口的缩放按钮的行为?
我正在尝试通过command line构建apk gradlew assemleDebug 但出现以下错误: Could not find tools.jar. Please check that C
我有这段代码可以生成一个可点击的框,只要单击鼠标,它就会通过在绿色阴影之间循环来改变颜色,从黑色 --> 绿色 --> 白色。我需要同样的事情发生,除了盒子不是逐渐变亮,而是从白色开始逐渐变暗。 va
我正在构建一个 ruby on rails 应用程序,并尝试启动我的 TDD。我在测试环境下安装了以下 gem。 turn <0.8.3 rspec-rails capybara guard-rs
我的程序读取形状列表,如果面积 > 1000 并且颜色字符串与绿色匹配,则打印形状。 下面的示例数据: 矩形,宽度,高度,颜色 - 圆、半径、颜色。 矩形 68.01 77.63 橙色 主类(clas
我有以下代码: from PIL import Image import numpy as np a = np.ones((512, 256, 3)).astype(int)*255 image =
我正在尝试学习 TDD 和单元测试概念,并且我看到了口头禅:“红色、绿色、重构”。我很好奇为什么要在测试通过后重构代码? 这对我来说毫无意义,因为如果测试通过了,那你为什么要弄乱代码?我还看到 TDD
首先,我必须解释一下,我知道如果您的应用程序支持 CallKit 并且用户从应用程序进入后台状态,就会出现这个绿色条,而这些都可以在我的 VOIP 应用程序中完美运行。 但我想实现类似 Whatsap
有没有办法轻松地将给定的十六进制颜色代码分配给更一般的类别(红色、绿色、蓝色、黄色、橙色、粉色、黑色、白色、灰色……)? 比如 #ffcc55 -> 橙色,#f0f0f0 -> 白色,... 编辑:甚
Parameterized Unit Testing当您有 X 单元测试 * Y 配置时非常棒。 我有 3 个单元测试,每个单元测试都必须在 5 个特定情况下运行。 我使用 xUnit.net 的 T
我想实现一个可以按颜色过滤图像的搜索。我的图像模型包含多达 10 个出现在该特定图像中的 UIColors,现在我想要一个过滤器,例如蓝色,绿色,红色,黄色。我如何检查(以指定的容差)该特定图像是否包
我使用的是OpenCV 2.4.1,需要检测视频流是否有任何噪音。噪声,例如如下所示的样本帧: 一种检测这些类型的噪声的简单,快捷的方法可能是。问题是这种噪声可能是间歇性的,不可预测的并且需要检测 最
这个问题在这里已经有了答案: UIColor colorWithRed:green:blue:alpha: always returns white unless one argument is
我希望使用非常明亮的金属色或荧光色来指定我的文本和 div 颜色。我还没有找到显示这些的任何标准。这些是否存在于颜色规范中,或者您能否向我推荐任何接近的尝试。谢谢。 最佳答案 Here's一个很好的荧
Matlab 将图像存储为 3 维数组。前两个维度对应上图轴上的数字。每个像素由图像三维中的三个条目表示。三层中的每一层都代表像素阵列中红色、绿色和蓝色的强度。我们可以通过以下方式提取出图像中独立的红
我有一个图像(列表列表),我想返回整个图像的平均颜色。我尝试使用 zip() 将图像按红、绿、蓝切成 3 部分,但是当我运行代码时: def average(image): """Return
为什么我在 SSL 锁定标志前看到一个带有 Twitter Inc 的绿色方 block ,但对于 Facebook 来说只是一个简单的锁定标志? 这些证书有什么区别?还是有其他原因? 最佳答案 绿色
我是一名优秀的程序员,十分优秀!