小编jaz*_*zpi的帖子

如何在openGL中显示2个或更多对象(模型 - 视图 - 投影矩阵和着色器)

当我想绘制一个对象时,一切都好,例如一个立方体.我为立方体创建顶点,我创建缓冲区,我创建MVP矩阵并将其发送到着色器,它工作得很好.

但是,当我想要绘制2个或更多个对象时,该怎么办,例如立方体和三角形?我认为三角形和立方体的视图和投影矩阵应该相同,我只需要不同的模型矩阵,对吧?这意味着我将有两个MVP?

//Example (using GLM):

glm::mat4 MVPC = Projection * View * ModelCube; 
glm::mat4 MVPT = Projection * View * ModelTriangle; 
Run Code Online (Sandbox Code Playgroud)

那我现在怎么办这两个呢?这是适用于立方体的顶点着色器

//vertex shader
#version 330 core

layout(location = 0) in vec3 verticesCube;

uniform mat4 MVPC;

void main(){

     gl_Position =  MVPC * vec4(verticesCube,1);

}
Run Code Online (Sandbox Code Playgroud)

我应该如何处理着色器中的MVPT(三角形),我尝试搞乱不同的东西,但我无法让它工作,我无法同时显示立方体和三角形.

opengl shader glsl

6
推荐指数
2
解决办法
6885
查看次数

定时器的暂停/恢复功能

我需要使用一个可以暂停和恢复的计时器。据我所知,Python 中只有一个计时器包含在threading包中,但我无法暂停或恢复它,只能取消它。

这是在 Python 中使用计时器的标准代码:

from threading import Timer
import time

def timeout():
     print "Game over"

t = Timer(20 * 60, timeout)
t.start()
Run Code Online (Sandbox Code Playgroud)

那么我应该怎么做才能用这个定时器实现暂停/恢复功能呢?

python python-2.7

3
推荐指数
1
解决办法
3164
查看次数

硬币翻转模拟在python中

我想模拟翻转一枚公平的硬币500次.然后我必须创建一个图表,以显示在x轴上翻转硬币和y轴上的比例头时硬币的运行比例.我写了Python代码,我得到以下错误:

Traceback (most recent call last):
File "E:\ProgramsPython\My\bayes\Coin Flip.py", line 22, in <module>
ylist = [coinFlip(x) for x in xlist]
File "E:\ProgramsPython\My\bayes\Coin Flip.py", line 16, in coinFlip
return heads / x
ZeroDivisionError: integer division or modulo by zero
Run Code Online (Sandbox Code Playgroud)

我做错了什么?  

# -*- coding: cp1251 -*-
import random
import pylab
from matplotlib import mlab
def coinFlip(size):
    heads = 0
    tails = 0

    for x in xrange(size):
        flip = random.randint(0,1)
        if flip == 1: heads += 1
        else: tails += 1



    return heads …
Run Code Online (Sandbox Code Playgroud)

python coin-flipping simulate

0
推荐指数
1
解决办法
6483
查看次数

Python:如何递归模拟范围内的随机游走(无循环)

一个朋友打赌我不能递归地写这个。不幸的是他赢了,但我仍然想知道我将如何去做:

函数为: rw_in_range(start, low, high)

输入是:

start - 一个正整数,表示“梦游者”的起始位置

- 一个正整数,代表“梦游者”将被允许徘徊到的最左边位置

high - 一个正整数,代表“梦游者”将被允许游荡到的最右边位置

低 <= 开始 <= 高

该函数应模拟随机游走,其中“梦游者”在由低和高边界给出的位置范围内徘徊。

梦游者进行随机步骤,其大小由调用我的函数给出:

def random_step():
    """ chooses a random step (-1 or 1) and returns it.
        inputs: none! However, make sure to use parens when calling it.
                For example: random_step()
    """
    return random.choice([-1, 1])
Run Code Online (Sandbox Code Playgroud)

随机游走应该继续,直到给定的步骤导致“梦游者”到达/超出边界低或高之一。然后,该函数应返回梦游者到达停止位置所需的步数。

例如,第一行的语句print((' ' * start) + 'S')应该是这样的:

>>> rw_in_range(10, 5, 15)
      S
     S
    S
   S
    S
     S
    S
   S
  S
 S
Run Code Online (Sandbox Code Playgroud)

9

我的函数目前看起来像这样:

def rw_in_range(start, …
Run Code Online (Sandbox Code Playgroud)

python recursion range random-walk

0
推荐指数
1
解决办法
2286
查看次数