2022-10-25 01:42:30 +02:00
import bge # Bibliothèque Blender Game Engine (BGE)
import cine # Bibliothèque du player 3d d'analyse de cinématique
###############################################################################
# batoncolle.py
# @title: Player 3D cinématique du baton de colle
# @project: Blender-EduTech
# @lang: fr
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
# @copyright: Copyright (C) 2020-2022 Philippe Roy
# @license: GNU GPL
#
# Commandes déclenchées par UPBGE pour le modèle du baton de colle
#
# Ce player 3D est un environnement léger et spécifique pour la colorisation des solides d'un mécanisme en mouvement.
# Il sert principalement pour l'apprentissage de la détection des classes d'équivalence d'un mécanisme afin de pouvoir faire sa modélisation cinématique.
#
###############################################################################
# Récupérer la scène 3D
scene = bge . logic . getCurrentScene ( )
2022-10-25 14:17:16 +02:00
###############################################################################
# Mécanisme
###############################################################################
2022-10-25 01:42:30 +02:00
objects = [ ' Corps ' , ' Support ' , ' Colle ' , ' Bouton ' , ' Bouchon ' ]
objects_anim = [ ' Support ' , ' Colle ' , ' Bouton ' , ' Bouchon ' ]
objects_dict = { ' Corps ' : [ 1 , ' 1 : Corps ' , ' Color-5 ' , [ ' Repere A ' ] ] ,
' Support ' : [ 2 , ' 2 : Support ' , ' Color-2 ' , [ ' Repere B ' ] ] ,
' Colle ' : [ 3 , ' 3 : Colle ' , ' White ' , [ ] ] ,
' Bouton ' : [ 4 , ' 4 : Bouton ' , ' Color-4 ' , [ ] ] ,
' Bouchon ' : [ 5 , ' 5 : Bouchon ' , ' Color-3 ' , [ ] ] }
# Couleurs
colors = [ [ ' Color-1 ' , [ 0.202 , 0.114 , 0.512 , 1 ] ] ,
[ ' Color-2 ' , [ 0.051 , 0.270 , 0.279 , 1 ] ] ,
[ ' Color-3 ' , [ 0.799 , 0.031 , 0.038 , 1 ] ] ,
[ ' Color-4 ' , [ 0.799 , 0.130 , 0.063 , 1 ] ] ,
[ ' Color-5 ' , [ 0.8 , 0.619 , 0.021 , 1 ] ] ,
[ ' Color-6 ' , [ 0.246 , 0.687 , 0.078 , 1 ] ] ,
[ ' Color-7 ' , [ 0.800 , 0.005 , 0.315 , 1 ] ] ,
[ ' Color-8 ' , [ 0.75 , 0.751 , 0.75 , 0 ] ] ]
colors_dict = { ' Color-1 ' : [ 0.202 , 0.114 , 0.512 , 1 ] ,
' Color-2 ' : [ 0.051 , 0.270 , 0.279 , 1 ] ,
' Color-3 ' : [ 0.799 , 0.031 , 0.038 , 1 ] ,
' Color-4 ' : [ 0.799 , 0.130 , 0.063 , 1 ] ,
' Color-5 ' : [ 0.8 , 0.619 , 0.021 , 1 ] ,
' Color-6 ' : [ 0.246 , 0.687 , 0.078 , 1 ] ,
' Color-7 ' : [ 0.800 , 0.005 , 0.315 , 1 ] ,
' Color-8 ' : [ 0.75 , 0.75 , 0.75 , 0 ] ,
' White ' : [ 0.8 , 0.8 , 0.8 , 1 ] }
# Initialisation
def init ( cont ) :
scene . objects [ ' Mecanism ' ] [ ' objects ' ] = objects
scene . objects [ ' Mecanism ' ] [ ' objects_anim ' ] = objects_anim
scene . objects [ ' Mecanism ' ] [ ' objects_dict ' ] = objects_dict
scene . objects [ ' Mecanism ' ] [ ' colors ' ] = colors
scene . objects [ ' Mecanism ' ] [ ' colors_dict ' ] = colors_dict
cine . manip_init ( ) # Manipulation du modèle 3D
cine . objects_init ( ) # Mécanisme
cine . cmd_init ( ) # Commandes
cine . anim_init ( ) # Animation