Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > C++Builder
C++Builder Environnement de développement RAD C++Builder. Avant de poster -> F.A.Q C++Builder, Sources C++Builder
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/12/2012, 13h27   #1
faysalb
Invité de passage
 
Homme faysal
Étudiant
Inscription : octobre 2012
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme faysal
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : octobre 2012
Messages : 1
Points : 0
Points : 0
Par défaut Comment tracer n'importe quel graphe d'un son

je veux faire un logiciel avec c++ builder qui tracer n’importe quel signale extérieur ''des sons par exemple'' mais je n'est aucune idée pour sa juste ce que je sais c'est TChart ou TPerformacegraphe mais je ne sais pas comment les programmer

Merci d'avance;
faysalb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2012, 21h07   #2
henderson
Membre Expert
 
Inscription : juin 2002
Messages : 1 342
Détails du profil
Informations personnelles :
Localisation : Pays-Bas

Informations forums :
Inscription : juin 2002
Messages : 1 342
Points : 1 656
Points : 1 656
Salut !

Si ça n'existe toujours pas au niveau des librairies propres à BCB (etc...),
c'est sans doute parce que c'est la chose la plus simple à développer.

Avec TCanvas : MoveTo te permet de positionner ton graphe et ensuite il suffit de
tracer de samples en samples avec LineTo. C'est le principe de base pour ce type de
représentation (sons, équations ...)!

Le rendu sera parfait, que ce soit avec un bruit blanc ou un signal sinusoïdal...
A toi de réfléchir sur les problèmes d'échelle !
Notes que les y (les valeurs signées de tes échantillons) sont inversés par rapport
à leur représentation à l'écran ( fait : axe - y ce qui placera tes valeurs positives en haut...).

Même si on part du principe qu'on peut dessiner directement sur une form, utilises
un TPaintBox avec un Bitmap (c'est du double buffering local... autant faire le plus fluide
possible avec ce genre de graphisme !!!) et surtout plus facile à utiliser via sa zone client.

Utilises par exemple un générateur sur les bases d'un sin ou cos (#include math.h) pour tester.

Bien entendu, c'est du développement qui mérite une belle modélisation en dérivant de TPaintBox ou de
TCustomControl... !

Si tu as des problèmes je passerai un bout de code (bien que j'en ai déjà laissé des tonnes sur ce forum)!

A plus et bon courage !
henderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2012, 23h32   #3
Argol_Medusa
Membre habitué
 
Avatar de Argol_Medusa
 
Homme Yann
Ingénieur Radiofréquences
Inscription : août 2005
Messages : 154
Détails du profil
Informations personnelles :
Nom : Homme Yann
Localisation : France

Informations professionnelles :
Activité : Ingénieur Radiofréquences
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : août 2005
Messages : 154
Points : 144
Points : 144
Envoyer un message via MSN à Argol_Medusa
Citation:
Envoyé par faysalb Voir le message
je veux faire un logiciel avec c++ builder qui tracer n’importe quel signale extérieur ''des sons par exemple
Petite précision importante s'il s'agit d'affichage en temps réel : pense bien à séparer la partie interface graphique de la partie acquisition de données.

Personnellement je te conseil de mettre la partie acquisition / mise à jour des informations dans un thread, que le GUI ( interface graphique ) ira lire quand cela lui plaira ( genre toutes les 1/25eme de seconde, de toute façon ton oeil ne pourra pas voir au-delà ).
__________________
Désolé, on savait pas que c'était impossible, alors on l'a fait
Argol_Medusa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 12h41   #4
PocoYote
Membre du Club
 
Inscription : août 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 74
Points : 40
Points : 40
Pourtant TChart pourrait être adapté. Il est possible de le coder manuellement sur un Canvas, mais TChart peut faire gagner du temps (même si son utilisation n'est pas toujours facile).

- Ajouter un TChart sur la Form.
- DblClique sur le TChart.
- Ajouter une série dans TChart.
- Paramétrer les axes. (Minimum / Maximum, ...)
- Dans le code, faire :
Code :
1
2
3
4
Serie1->Clear(); 
Serie1->AddXY(coords[0].x, coords[0].y, "", clRed);
Serie1->AddXY(coords[1].x, coords[1].y, "", clRed);
...
PocoYote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h58.


 
 
 
 
Partenaires

Hébergement Web