This commit is contained in:
parent
d300b2279c
commit
74fe3c6a58
4 changed files with 27 additions and 20 deletions
16
.drone.yml
16
.drone.yml
|
@ -7,9 +7,15 @@ steps:
|
|||
commands:
|
||||
- mdl .
|
||||
|
||||
- name: python lint
|
||||
image: cytopia/pylint
|
||||
|
||||
- name: python lint with ruff
|
||||
image: pipelinecomponents/ruff
|
||||
commands:
|
||||
- apk add --no-cache py3-pip
|
||||
- pip3 install -r requirements.txt
|
||||
- find . -type f -name "*.py" | xargs pylint
|
||||
- ruff py_hypercube.py
|
||||
|
||||
#- name: python lint
|
||||
# image: cytopia/pylint
|
||||
# commands:
|
||||
# - apk add --no-cache py3-pip
|
||||
# - pip3 install -r requirements.txt || true
|
||||
# - find . -type f -name "*.py" | xargs pylint
|
||||
|
|
2
.ruff.toml
Normal file
2
.ruff.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
[lint]
|
||||
ignore = ["F403", "F405"]
|
|
@ -1,6 +1,6 @@
|
|||
# py_hypercube
|
||||
|
||||
Conversion of my old 3D "hello world" that animates the 3D projeciton of an hypercube.
|
||||
Conversion of my old 3D "hello world" that animates the 3D projection of an hypercube.
|
||||
|
||||
With more or less parameters
|
||||
|
||||
|
|
27
py_hypercube.py
Executable file → Normal file
27
py_hypercube.py
Executable file → Normal file
|
@ -1,11 +1,10 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: iso8859-15 -*-
|
||||
""" projection variable d'un hypercube"""
|
||||
|
||||
# pour l'interaction avec le système
|
||||
# pour l'interaction avec le système
|
||||
# pour sqrt() et pow()
|
||||
import math
|
||||
# pour les nombres aléatoires
|
||||
# pour les nombres aléatoires
|
||||
from random import randint
|
||||
|
||||
import pygame as pg
|
||||
|
@ -13,11 +12,11 @@ from pygame.locals import *
|
|||
|
||||
# importe tout ce qui est contenu dans le package OpenGL
|
||||
from OpenGL.GL import *
|
||||
# GLU première couche au dessus d'OpenGL
|
||||
# GLU première couche au dessus d'OpenGL
|
||||
from OpenGL.GLU import *
|
||||
|
||||
# couche supérieure, ressemble à la SDL, permet la gestion simplifiée de la configuration,
|
||||
# des entrées (clavier souris) et des fonctions de plus haut niveau
|
||||
# couche supérieure, ressemble à la SDL, permet la gestion simplifiée de la configuration,
|
||||
# des entrées (clavier souris) et des fonctions de plus haut niveau
|
||||
from OpenGL.GLUT import *
|
||||
|
||||
##
|
||||
|
@ -54,7 +53,7 @@ frepere = 0
|
|||
flagsAnim = [1, 1, 1, 1]
|
||||
fullscreen = 0
|
||||
|
||||
## coordonnées
|
||||
## coordonnées
|
||||
# position
|
||||
x = 0.0
|
||||
y = 0.0
|
||||
|
@ -63,10 +62,10 @@ z = 3.0
|
|||
cx = 0.0
|
||||
cy = 0.0
|
||||
cz = 0.0
|
||||
# variables pour l'animation sur les coordonnées de l'espace de projection
|
||||
# variables pour l'animation sur les coordonnées de l'espace de projection
|
||||
# varAnim = [ -100, -33, 33, 100 ]
|
||||
|
||||
# variables de départ aléatoires
|
||||
# variables de départ aléatoires
|
||||
varAnim = [randint(-100, 100),
|
||||
randint(-100, 100),
|
||||
randint(-100, 100),
|
||||
|
@ -78,7 +77,7 @@ incAnim = [1.0, 1.0, 1.0, 1.0]
|
|||
|
||||
# fonction d'affichage principale
|
||||
def draw():
|
||||
""" fonction d'affichage principale appelée par GlutMainLoop"""
|
||||
""" fonction d'affichage principale appelée par GlutMainLoop"""
|
||||
global x, y, z
|
||||
global cx, cy, cz
|
||||
global varAnime
|
||||
|
@ -86,7 +85,7 @@ def draw():
|
|||
global incAnime
|
||||
global frepere
|
||||
|
||||
# couleur par défaut (le fond entre autre)
|
||||
# couleur par défaut (le fond entre autre)
|
||||
glClearColor(0.0, 0.0, 0.0, 0.0)
|
||||
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
|
||||
|
||||
|
@ -105,7 +104,7 @@ def draw():
|
|||
|
||||
# gestion du clavier
|
||||
def keyboard(key):
|
||||
""" gère les touches normales"""
|
||||
""" gère les touches normales"""
|
||||
global frepere
|
||||
global flagsAnim
|
||||
global fullscreen
|
||||
|
@ -154,7 +153,7 @@ def draw_line(x1, y1, z1, x2, y2, z2):
|
|||
|
||||
|
||||
def draw_repere():
|
||||
""" dessine le repère orthogonal"""
|
||||
""" dessine le repère orthogonal"""
|
||||
glBegin(GL_LINES)
|
||||
glColor3f(1.0, 0.0, 0.0)
|
||||
glVertex2i(0, 0)
|
||||
|
@ -189,7 +188,7 @@ def draw_hypercube(a1, b1, c1, d1):
|
|||
hz = hp[p * 4 + 2]
|
||||
ht = hp[p * 4 + 3]
|
||||
|
||||
# calcul des coordonnées projetées
|
||||
# calcul des coordonnées projetées
|
||||
X.append( ( b * (pow(b, 2) + pow(c, 2) + pow(d, 2)) + pow(a, 2) * b) * hx + (pow(-b, 2) * a - a * (pow(a, 2) + pow(c, 2) + pow(d, 2))) * hy + (d * (pow(a, 2) + pow(b, 2) + pow(d, 2)) + pow(c, 2) * d) * hz + (c * pow(d, 2) + c * (pow(a, 2) + pow(b, 2) + pow(c, 2))) * ht)
|
||||
|
||||
Y.append( (c * (pow(b, 2) + pow(c, 2) + pow(d, 2)) + pow(a, 2) * c) * hx + (-d * (pow(a, 2) + pow(c, 2) + pow(d, 2) ) - pow(b, 2) * d) * hy + (pow(-c, 2) * a-a*(pow(a, 2) + pow(b, 2) + pow(d, 2))) * hz + (-b * pow(d, 2) - b * (pow(a, 2) + pow(b, 2) + pow(c, 2))) * ht)
|
||||
|
|
Loading…
Reference in a new issue