opengl 正交投影 透视投影 切换不显示解决
完整源代码:
import random
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QMainWindow, QApplication, QVBoxLayout, QPushButton
from PyQt5.QtCore import Qt, QSize
from OpenGL.GL import *
from OpenGL.GLU import *
import math
class OpenGLWidget(QtWidgets.QOpenGLWidget):
def __init__(self, parent=None, projection_mode=1):
super(OpenGLWidget, self).__init__(parent)
self.cylinders = []
self.lastPos = QtCore.QPoint()
# Projection mode: 0 for orthographic, 1 for perspective
self.projection_mode = projection_mode
# Initial transformation parameters based on projection mode
self.set_initial_parameters()
def set_initial_parameters(self):
if self.projection_mode == 0:
self.zoom = 0.5
else:
self.zoom = 8.0 # 正值更接近对象,负值远离对象
prin