小编DrB*_*wts的帖子

PyOpenGL glutInit NullFunctionError

我在Win7 x64机器上运行Anaconda Python 2.7并使用

pip install PyOpenGL PyOpenGL_accelerate
Run Code Online (Sandbox Code Playgroud)

在Anaconda命令行安装PyOpenGL.

我有一些使用glutInit的代码(不是我自己必须承认的)

import sys
import math
import numpy

import OpenGL
from OpenGL.GL import *
from OpenGL.GLUT import *

import Image

import linkage

# ... a whole load of definitions etc ...

glutInit(sys.argv)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB)
glutInitWindowSize(600, 600)
glutCreateWindow('linkage')
init()
initWindow()
glutIdleFunc(idle)
glutMainLoop()
Run Code Online (Sandbox Code Playgroud)

我通过在命令行输入以下命令来运行:

python main.py peaucellier.txt
Run Code Online (Sandbox Code Playgroud)

但后来得到以下错误(第371行是上面的glutInt(sys.argv)行)

File "C:/Users/Owner/Documents/Python Scripts/linkage/main.py", line 371, in <module>
glutInit(sys.argv)

File "C:\Anaconda\lib\site-packages\OpenGL\GLUT\special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )

File "C:\Anaconda\lib\site-packages\OpenGL\platform\baseplatform.py", line 407, in __call__
self.__name__, …
Run Code Online (Sandbox Code Playgroud)

glut pyopengl python-2.7

21
推荐指数
5
解决办法
3万
查看次数

尝试导入插件之前的 fullcalendar lib

我在 Angular 9 项目中安装了 FullCalendar 5

然后我在浏览器的控制台中收到此错误,页面中出现任何内容

vdom.js:3 Uncaught Error: Please import the top-level full calendar lib before attempting to import a plugin.
    at Module../node_modules/@fullcalendar/common/vdom.js (vdom.js:3)
    at __webpack_require__ (bootstrap:79)
    at Module../node_modules/@fullcalendar/common/main.js (main.js:1)
    at __webpack_require__ (bootstrap:79)
    at Module../node_modules/@fullcalendar/daygrid/main.js (main.js:1)
    at __webpack_require__ (bootstrap:79)
    at Module../src/app/demo/demo.component.ts (demo.component.ts:1)
    at __webpack_require__ (bootstrap:79)
    at Module../src/app/Modules/app-routing.module.ts (app-routing.module.ts:1)
    at __webpack_require__ (bootstrap:79)
Run Code Online (Sandbox Code Playgroud)

vdom.js:3 Uncaught Error: Please import the top-level full calendar lib before attempting to import a plugin.
    at Module../node_modules/@fullcalendar/common/vdom.js (vdom.js:3)
    at __webpack_require__ (bootstrap:79)
    at Module../node_modules/@fullcalendar/common/main.js (main.js:1)
    at __webpack_require__ …
Run Code Online (Sandbox Code Playgroud)

fullcalendar angular

14
推荐指数
1
解决办法
6227
查看次数

PyQt进度条没有更新或出现直到100%

编辑:PyQt4进度条上有很多类似的帖子没有更新.他们都关注线程的问题以及程序实际更新窗口的位置.虽然有用,但我的代码结构合理,回复不实用.这里给出的接受答案很简单,重点和工作.

我在Win 7 x64机器上使用Python 2.7和PyQT 4.

我正在尝试清除我的窗口中的一个窗口小部件,一个"接受"按钮,查看代码,并用进度条替换它.

即使我关闭"接受"按钮并在输入处理循环之前添加进度条.窗口仅在循环结束后更新,进度条直接跳至100%.

我的代码,

from PyQt4 import QtCore, QtGui
import sys
import time

class CentralWidget(QtGui.QWidget):

    def __init__(self, parent=None):
        super(CentralWidget, self).__init__(parent)

        # set layouts
        self.layout = QtGui.QVBoxLayout(self)

        # Poly names
        self.pNames = QtGui.QLabel("Import file name", self)  
        self.polyNameInput = QtGui.QLineEdit(self) 

        # Polytype selection
        self.polyTypeName = QtGui.QLabel("Particle type", self)
        polyType = QtGui.QComboBox(self)
        polyType.addItem("")
        polyType.addItem("Random polyhedra")
        polyType.addItem("Spheres")
        polyType.addItem("Waterman polyhedra")
        polyType.activated[str].connect(self.onActivated)

        # Place widgets in layout        
        self.layout.addWidget(self.pNames)
        self.layout.addWidget(self.polyNameInput)
        self.layout.addWidget(self.polyTypeName)
        self.layout.addWidget(polyType)
        self.layout.addStretch()

    # Combobox choice
    def onActivated(self, text):

        if text=="Random …
Run Code Online (Sandbox Code Playgroud)

python pyqt widget pyqt4

8
推荐指数
1
解决办法
6365
查看次数

从 pool.map 进程返回多个列表?

Win 7、x64、Python 2.7.12

在下面的代码中,我将设置一些池进程以通过该multiprocessing.Pool.map()方法进行简单的乘法运算。输出数据收集在List_1.

注意:这是对我的实际代码的精简简化。实际应用中涉及到多个列表,个个都很大。

import multiprocessing
import numpy as np

def createLists(branches):

    firstList = branches[:] * node

    return firstList


def init_process(lNodes):

    global node
    node = lNodes
    print 'Starting', multiprocessing.current_process().name


if __name__ == '__main__':

    mgr = multiprocessing.Manager()
    nodes = mgr.list()
    pool_size = multiprocessing.cpu_count()

    branches = [i for i in range(1, 21)]
    lNodes = 10
    splitBranches = np.array_split(branches, int(len(branches)/pool_size))

    pool = multiprocessing.Pool(processes=pool_size, initializer=init_process, initargs=[lNodes])
    myList_1 = pool.map(createLists, splitBranches)

    pool.close() 
    pool.join()  
Run Code Online (Sandbox Code Playgroud)

我现在添加一个额外的计算createLists()并尝试传回两个列表。

import multiprocessing
import numpy …
Run Code Online (Sandbox Code Playgroud)

python threadpool python-multiprocessing

8
推荐指数
1
解决办法
6685
查看次数

将正方形旋转为矢量法线

Win 7,x64,Python 2.7

我正在尝试旋转最初位于xz平面的正方形,以使其正常与给定的3D矢量对齐.此外,我正在将方块转换为向量的开头,但这不是问题.

我走的路径如下,

1)通过给定矢量和正方形法线的叉积找到旋转轴,在这种情况下是y方向的单位矢量.

2)通过给定矢量的点积和平方法线求出旋转角度.

3)建立适当的旋转矩阵.

4)将旋转矩阵应用于正方形的顶点.

5)转换为给定向量的开始.

代码..

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import math

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
na = np.array

def rotation_matrix(axis, theta):
    """
    Return the rotation matrix associated with counterclockwise rotation about
    the given axis by theta radians.
    """
    axis = np.asarray(axis)
    axis = axis/math.sqrt(np.dot(axis, axis))
    a = math.cos(theta/2.0)
    b, c, d = -axis*math.sin(theta/2.0)
    aa, bb, cc, dd = a*a, b*b, c*c, d*d
    bc, …
Run Code Online (Sandbox Code Playgroud)

python 3d numpy vector rotation

7
推荐指数
1
解决办法
868
查看次数

错误:仅从Android O(--min-api 26)开始支持Invoke-customs

我最近开始学习如何通过Android Studio对Android设备进行编程。我的第一个应用运行良好,直到今天早上升级到Android Studio 3.4。

我收到以下编译错误:

引起原因:com.android.builder.dexing.DexArchiveBuilderException:无法处理C:\ Users \ Technical.gradle \ caches \ transforms-2 \ files-2.1 \ 4f3f8638c6a9f961dae488a0387efb6b \ jars \ classes.jar

引起原因:com.android.builder.dexing.DexArchiveBuilderException:解密时出错。

引起原因:com.android.tools.r8.CompilationFailedException:编译无法完成

由以下原因引起:com.android.tools.r8.utils.AbortException:错误:仅从Android O开始支持调用自定义(--min-api 26)

有没有一种方法可以还原到我以前的Android Studio版本?

如果没有,新版本中的哪些更改导致创建dex文件失败?

我尝试按照这里的建议添加android.enableD8=true,但是没有运气。gradle.properties


编辑#1:

也已将添加添加multiDexEnabled true到应用程序build.gradle文件中的默认配置,但仍然存在相同的编译错误。

那个完整的构建文件...

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "qdivision.org.qrtracker"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies …
Run Code Online (Sandbox Code Playgroud)

android dex android-gradle-plugin

7
推荐指数
1
解决办法
3009
查看次数

3D *.stl 表面模型转换为 2D 图像堆栈?

首先我要明确一点,我对将图像堆栈转换为 3D 模型不感兴趣。

我有一个 *.stl 文件(三角表面网格),我想将其切回到图像堆栈中。我看过 Slic3r 和 Meshmixer,但它们都只给出 Gcode。

因此,鉴于我有表面上所有点的顶点(顺便说一下,这不是凸的)及其连接性。有哪些图书馆可以帮助解决这个问题?

我的感觉是,我需要在未穿过已知顶点的切片上插入边界。

我对 Python 和 C++ 很满意,但也愿意拓宽我的视野。

c++ python 3d graphics imaging

5
推荐指数
1
解决办法
3481
查看次数

Numpy数组值在没有被改变的情况下发生了变化?

我有两个向量,posVecdirVec谁的价值我想保持(0.0,0.0,0.0).

所以我成立了临时的载体t_pos&t_dir并改变它们的值取决于值cylCut

然后在循环的下一次迭代中,我重置临时向量.

代码:

import numpy as np

posVec = np.array([0.0,0.0,0.0]) # orginal vectors
dirVec = np.array([0.0,0.0,0.0])
print "................."
print 'Before'
print "................."
print posVec
print dirVec
print "................."

for cylCut in range(0,3):
    t_pos = posVec      # temporary vectors
    t_dir = dirVec
    if cylCut == 0:     # set temp vects accordingly
        print '0'
        t_pos[0] = 1.0
        t_dir[0] = 1.0
    if cylCut == 1:
        print '1'
        t_pos[1] = 1.0
        t_dir[1] = 1.0 …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

2
推荐指数
1
解决办法
844
查看次数

SciPy空间Delaunay/ConvexHull混乱

我正在尝试生成随机凸多面体.我生成一组随机3D坐标,然后找到他们的凸壳(到目前为止一直很好).

然后我想我会使用Delaunay三角剖分给我一个凸包的三角剖分.这是我的基本理解开始显示的地方!

这是代码

import numpy as np
from scipy.spatial import ConvexHull
from scipy.spatial import Delaunay
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Generate random points & convex hull
points = np.random.rand(20,3)
hull = ConvexHull(points)

fig = plt.figure()
ax = fig.gca(projection = '3d')

# Plot hull's vertices
for vert in hull.vertices:    
    ax.scatter(points[vert,0], points[vert,1], zs=points[vert,2])#, 'ro')

# Calculate Delaunay triangulation & plot
tri = Delaunay(points[hull.vertices])
for simplex in tri.simplices:
    vert1 = [points[simplex[0],0], points[simplex[0],1], points[simplex[0],2]]
    vert2 = …
Run Code Online (Sandbox Code Playgroud)

python 3d delaunay scipy convex-hull

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

OkHttpClient 抛出 NullPointerException

我正在尝试使用 OkHttp3 通过 WiFi 发送一些数据。

我使用创建了一个客户端,

import okhttp3.OkHttpClient;
.....
public OkHttpClient client;
Run Code Online (Sandbox Code Playgroud)

单击按钮后我设置了 websocket,

private void start() {
    Request request = new Request.Builder().url("ws://192.168.1.84:81/").build();
    EchoWebSocketListener listener = new EchoWebSocketListener();
    WebSocket ws = client.newWebSocket(request, listener);

    client.dispatcher().executorService().shutdown();
}
Run Code Online (Sandbox Code Playgroud)

其中EchoWebSocketListener是 的扩展WebSocketListener,完整列表如下。

但我在运行时不断收到以下错误...

java.lang.NullPointerException: Attempt to invoke virtual method 'okhttp3.WebSocket okhttp3.OkHttpClient.newWebSocket(okhttp3.Request, okhttp3.WebSocketListener)' on a null object reference
Run Code Online (Sandbox Code Playgroud)

当追溯到 start() 函数中的行时,

WebSocket ws = client.newWebSocket(request, listener);
Run Code Online (Sandbox Code Playgroud)

怎么会clientnull

完整代码清单:

package qdivision.org.qrtracker;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View; …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception okhttp

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

如何减少 Python 代码的执行时间

在这段代码中,我正在计算n数字的平方和n数字总和的平方之间的差。

例子 : n=3, (1+2+3)^2 -(1^2+2^2+3^2) =22

def sum_square_diff(num):
    sum1=0
    sum2=0
    for i in range(1,num+1):
        sum1 +=i**2
        sum2 +=i
    sum2=sum2**2
    diff=sum2-sum1
    return diff

if __name__=="__main__":
    n=int(input())
    for i in range(n):
        num=int(input())
        result=sum_square_diff(num)
        print(result)
Run Code Online (Sandbox Code Playgroud)

这段代码是正确的,但完成执行需要太多时间。

python-3.x

-1
推荐指数
1
解决办法
38
查看次数