- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的代码在这里可以工作,但是我目前的方法效率很低而且很耗时。我正在生成 4 个笛卡尔坐标并将它们附加到列表中。然后我创建 4 个 Psychopy 线对象 (visual.Line) 并从我的坐标列表 (zdot_list) 中为每个对象分配一个 x,y 坐标。目前,我正在一个接一个地创建 4 行对象,并为每个“开始”参数分配一个 xy 位置。
from psychopy import visual, core, event, sound
import random
import math
win = visual.Window([800,600],color=(0,0,0), colorSpace='rgb', rgb=None, allowGUI=True, monitor='testMonitor', units='deg', fullscr=True, screen=2)
# input polar, output cartesian coords
def pol_to_cart(distance, angle, x_origin=0, y_origin=0):
x=distance*math.cos(math.radians(angle))
y=distance*math.sin(math.radians(angle))
return x +x_origin, y + y_origin
zdots = 4
zdot_list = []
j=(-8)
# generate 4 xy coordinates and append to list
for i in range(zdots):
angle=0
line_cart = pol_to_cart(j, angle)
dotx = line_cart[0]
doty = line_cart[1]
zdot_list.append([dotx, doty])
j += .2
# generate 4 lines, add xy coordinate (from list^) to 'start' argument of each
linea = visual.Line(win, start=(zdot_list[0]), end=(4,0), lineColor="white")
lineb = visual.Line(win, start=(zdot_list[1]), end=(4,0), lineColor="white")
linec = visual.Line(win, start=(zdot_list[2]), end=(4,0), lineColor="white")
lined = visual.Line(win, start=(zdot_list[3]), end=(4,0), lineColor="white")
lines = [linea, lineb, linec, lined]
# display lines
for line in lines:
line.draw()
win.flip()
core.wait(3)
win.close()
是否有更有效的方法来使用循环创建线(或任何形状)对象?我想自动生成我需要的对象,将我的 xy 坐标分别添加到每个对象的“开始”参数。图像中只有 4 个线对象,但实际上我需要 80 多个,每个都有不同的 xy 起始坐标。
干杯,乔恩
最佳答案
您可以尝试从视觉模块探索多边形。下面的多边形用法示例
from psychopy import visual, core, event, sound
win = visual.Window([680,480],color=(0,0,0), colorSpace='rgb', rgb=None, allowGUI=True, monitor='testMonitor', units='deg', fullscr=False, screen=2)
pgon = visual.Polygon(win, edges=4)
pgon.draw()
win.flip()
您可以通过阅读psychophy
文档来探索顶点和其他选项。
对您的代码的优化是:
zdots=40
zdot_list = []
for i in range(zdots):
angle=0
line_cart = pol_to_cart(j, angle)
zdot_list.append(visual.Line(win, start=([line_cart[0], line_cart[1]]), end=(4,0), lineColor="white"))
j += .2
for i in zdot_list:
i.draw()
win.flip()
core.wait(3)
win.close()
关于python - Psychopy:同时创建多个线条对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44738541/
我知道当持续时间固定时,例程将使用防滑计时,如流程中的绿色所示。我的例行程序的持续时间在某种程度上是固定的,因为结束例行程序并不依赖于响应。然而,组件的持续时间确实会改变预定义的量(由电子表格中的条件
我有一个测试 PsychoPy Builder 脚本,我用它来调查一些反直觉的行为。其结构为四个例程: “Init”,不在循环中,“Begin Experiment”中的代码如下: x = 0 y =
我使用 Psychopy/iohub 和 Tobii TX300 眼动仪记录了注视数据。加载 hdf5 文件会在 BinlingualEyeSampleEvent 中显示以下条目: ['experim
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我在通过Psychopy播放自定义音频文件时遇到困难。我收到一条消息说: AttributeError: No audio API found. Try installing pyo 0.6.8+,
我正在尝试编写一段代码,需要依次查看 200 个文本刺激 1 秒,但我无法让我的代码正常工作。 每个刺激都被预定义为一个变量: redkey = visual.textStim(win, "key",
我正在 Psychopy 1.85.1 中实现一个实验。 该任务将在 1920 x 1080 显示器(即 16:9 宽高比)上执行。 而不是通过以下方式更改我使用的每个单独视觉图像对象的大小: som
我使用 Standalone PsychoPy v1.80.03 编写了一个点探测范式。在点探针之后,我需要一个看起来与点探针相同的修改任务。因此,我在第二个任务的构造函数中传递了点探测对象,以重新使
我现在正在 PsychoPy 中闲逛,试图为类项目修改 Sternberg 演示。我希望刺激文本(数字集)以多种颜色显示:比如说,一个数字是红色的,下一个是蓝色的,下一个是棕色的,等等。同一刺激中的多
我在 Windows 7 计算机上使用 Psychopy v1.82.01(编码器 View )来运行 fMRI 实验。我想从并行端口读取数据()(用于记录按钮按下和从扫描仪接收触发器以进行同步)。但
我正在使用 psychopy 在这样的窗口上获取图像: from psychopy import visual window = visual.Window(size= (1000,600), uni
我最近开始学习如何使用 PsychoPy、psychopy.parallel 模块和二进制表示。我希望有人可以让我知道我是否理解正确。 关于 PsychoPy 的 website ,它说这两个函数将引
我需要记录每次试验最后一次移动滚轮的时间。我有针对按键执行此操作的代码(lastTrialTime 变量): lastTime = 0 # setting up to get RT at last
Psychopy 中的纯音以滴答声结束。我怎样才能删除这些点击?在 psychopy 中生成的音调和作为 .wav 导入的音调都有同样的问题。我尝试在使用 Audacity 生成的 .wav 音调中添
我想在同一帧内显示一个包含不同颜色单词的句子。但我见过的所有代码只是改变整个刺激的颜色,而不是其中的一部分......这是我的尝试代码,但失败了 #!/usr/bin/env python2 # -*
我想通过编码在 Pyschopy 上显示一些日语句子,我使用了这样的代码: from Psychopy import visual,core win=visual.Window([400,400])
我正在尝试在我的心理任务中捕捉定时屏幕截图。我有一个固定十字,然后是屏幕左右两侧的 2 张面孔,然后是一个点。我只想要两张脸出现在屏幕上的 1 秒时间段的屏幕截图。例程中有 10 对不同的面孔,例程循
我的代码在这里可以工作,但是我目前的方法效率很低而且很耗时。我正在生成 4 个笛卡尔坐标并将它们附加到列表中。然后我创建 4 个 Psychopy 线对象 (visual.Line) 并从我的坐标列表
我正在致力于将心理实验与 Eyelink 眼球追踪系统相结合。做到这一点的方法似乎是通过 pylink 。不幸的是,我真的不熟悉 pylink,我希望有一个将两者结合起来的实验示例。我还没找到。如果有
这似乎是一个愚蠢的问题,但我无法在文档中找到如何在 PsychoPy Builder 实验中从用户那里获取文本输入。 例如,如果我有一个文本组件来显示消息“你叫什么名字?” 我想获取文本答案(按键回显
我是一名优秀的程序员,十分优秀!