www.MignonSoft.com - Développement C++
3DControls v0.7
     

3D Controls, est un projet C++ OpenSource sous licence GNU GPL. Programmé par Sébastien Bloc en qualité de developpeur independant. Il met a disposition un cadre 3D a vos application. Les elements primaire (zone de text, boutton, fenetre) son totalement redefinis en tant qu'objet dont chaque face peut determiner un context different.

Le but ultime de ce projet est la libre utilisation d'un GUI 3D (Graphics User Interface), avec une gestion de tous les controles classiques. Le code 3D étant issu d'OpenGL, le portage se fera naturelement vers les plateformes UNIX ou MAC.

A terme ce projet permettra une alternative au framework de MS.

Attention, ceci est une version Beta beta beta, donc il y a beaucoup de bug ...

Ceci n'est plour l'instant qu'une petite demo en 3D pour tester des Controls de base. Je proposerais sous peut des libraries C++ anssi que tout les examples possible pour son integrations dans vos propres logiciels.

ce projet opensource est hebergé sur SourceForge.net Logo

si vous pouvez m'aider a continuer a developper ce projet !!

 
Petite histoire de l'hergonomie

L’ergonomie (ou l’étude des facteurs humains) est la discipline scientifique qui vise la compréhension fondamentale des interactions entre les êtres humains et les autres composantes d’un système, et la mise en œuvre dans la conception de théories, de principes, de méthodes et de données pertinentes afin d'améliorer le bien-être des hommes et l'efficacité globale des systèmes. en savoir plus...

Les differente interface utilisateur on definie l'hergonomie tel quel est communement comprise. Au debut, c'etait les shell: une interface ou on pouvais seulement interagire grace au clavier par des instructions.

Les plus connus sont les shell unix (sh, csh, ksh) et le DOS de Microsoft. Apres des decenie d'utilsation, le fait est qu'il n'on pas du tout disparue. Il sont simplement destiné a un public "technique": cela prouvent que les simplifications conceptuel du au interfaces graphique demontre aussi leur limite.

En effet les langages de script sont bien plus generique que les langages graphiques, cela tien notament au faible alphabet utilisé dans les interfaces graphique.

Caraceterisique des langages (ou convention):

étapes
langage scriptural
langage graphique

Alphabet
ou perception
ou symbole

les lettres:
  • a b c d ... z + - / *
  • 0 1 2 3 ... 9
les entrées: (evenements)
  • clavier
  • souris
  • timer

Syntaxe
ou forme de phrase

les lexieme: (unité syntaxique)
  • "chaine" (chaine)
  • 12.23 (nombre)
  • dir (mots)

une combinaison possible :

  • Ctrl+C = fonction copier
  • Deplacement+Click = deplacement

Grammaire
ou regle

une phrases:

  • $variable = valeur (affectation)
  • valeur | nombre | variable

une tache:

  • Selectionner une fenetre, click sur boutton [min] = minimize

Sémantique
ou action

le sens:

  • dir *.exe = affiche les fichier .EXE
  • 12/5.2 = effectue l'opperation

les actions:

  • redu graphique
  • creation fermeture de fenetre
 
Interet et reserve sur la 3D

La 3D hierarchise naturelement par sa proximité geographique "palpable". Un objet a alors une identtié propore. Chaque face peut avoir une fonction differente ce qui demultiplie les context possible et donc homogenise les concepts de presentations.

Cette conception nous est finalement bien plus naturelle: l'univers qui nous entour est en volume.

Ainsi pourquoi ne pas utiliser les epaisseur des materiaux et leur orientation pour organiser notre espace graphique ?

Cela redefinis des notions qui sont bien compliqué en 2D:

  • Les elements empilé ne sont plus masquant ou masqué mais a une distance donnée qui implique ou non leurs visualisations.
  • Le deplacement d'une fenetre n'est plus limité au borne de l'ecran mais du point de vu d'ou vous regarder la scene.
  • Une fenetre partiellement masqué peut etre sugeré en 3D plus aisement pas la somme de tout les indices graphiques (ombre, luminosité).
  • Les fenetres deviennent des notions vectoriel et peuvent facilement etre manipulé et deformé.

Les interets:

  • peut de consomation CPU car tout est generé par le materiel de votre cartes 3D.
  • realisme, beauté, estetique.
  • la 2D est un cas particulier de la 3D donc on peut l'utilisé simplement: pas de revolution fonctionnel
  • les avantage de la vectorisation:
    • des agrandissement et diminution de taille
    • des orientations (en biais ou droit) pour permetre de gerer le rapport: visibilité/espace utilisé

Reserve:

  • La prehemption (souris, clavier) en 3D n'est pas encors d'actualité, il faudra alors ce contenter d'une souris en d'un ecran en 2D
  • Inertie des utilisateurs eduqué au code de l'ecole 2D

Cependant des elements de positionement et de visionnement en 3D existe. Souvent utilisé par les infographiste, et par la poussée des VR (Virtual Reality). Il est fort probable que ces outils se democratise (souris 3D, lunette 3D, hollograme?!)

Prehemption: souris 3D - trackBall - senseurs 3D, c'est le dommaine du "Haptic"

Au niveau visionnement: Autostereoscopic Displays (visualisation 3D sans lunette)

 
Presse

Un projet similaire developpé par Sun a vu le jour "3D Looking Glass" dont voici la démo commeciale.
Sans oublier l'interface de Lomghorme Avalon de Microsoft.

La similitude est frappante entre mon projet et celui de sun (bien que qu'avant la version v0.4, je n'en avais pas connaissance), cela m'a énormément découragé au début, puis j'ai décidé de donner tous les éléments aux personnes curieuses. De plus la version de sun, bien que sepctaculaire, n'intègre pas l'ensemble de mes concepts, que je ne développerai pas ici (on ne sait jamais si sun écoute ...)

Historiquement la recherche d'un environement 3d survient depuis le début des années 90 avec ... l'Amiga (petite merveille de chez Commodor, qui m'a bercé un peu trop près du mur de la programmation!)

Voici une liste non exhaustive des projets sur le sujet:

  • Gestionnaire de desktop en 3D
    • 2004, SphereXP, univers contenu dans une sphere (etonant non ?!)
    • 2003, WinPlosion , un gestionaire de desktop 3D emprunté a MacOS
  • Illusatration de l'hergonomie en 3D
    • 2002, 3dosx, mac gère de la musique en 3d
    • 1997, 3D GUI, Xerox
    • 1995, Bob, un univers de raccourcis
  • Evironement 3D de racoursis pour application 2D classique
    • 1999-2004, 3DTop, tres experimentale
    • 1999-2003, Win3D, plutot reussi
    • 2000-2003, Rooms3D , comme un jeux video
    • 2003, 3d desktop, plus un multi-desktop qu'une utilisation 3d des controles
    • 2003, 3dna, projet très similaire à celui de MS ci-dessous
    • 2002, the task gallery, projet de microsoft
    • ?, Navigator de Packard-Bell , pas de date, mais fonctione sous Windows 95
 
Obsolète

Version anterieur:

 
Remerciments

Dans ma lourde tache, quelque elements on permis a supporté mon fardeau

Merci a C++, Unix et a l'OpenSource d'exister

Merci, a Jean-Claude Marcuard (le doyen qui a perdu ses facultés)

  • pour son aide en mathematique
  • son approche rigoureuse

Merci a Eric Colas, mon rapporteur de new's n°1, veritable petite fouine sur les nouvelles technos

Merci a Erwann Baudet, l'inforgraphiste de service

  • pour son aide pour la comprehension de notion 3D tel que les quaternions

Merci a Cecile Veneziano (ma paxée):

  • pour reussire a me supporter scotché a mon ordinateur
  • ces traductions en anglais du site

Merci a Nono pour les traductions en anglais du site

Merci a mes beta testeurs:

  • Gurvann Guennegues (aussi breton que je suis juif)

et merci a vous ...

Ps.: A ceux que j'ai oublié, Merci de m'excuser ;-)

 

Acceuil | Haut de page | Rapporter une erreur