Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-03-2006, 14:01   #1
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
[c++] come creare un grafico di una funzione

avete una funzione y=f(t) nota.

Ogni t=1s valutate la funzione e ogni coppia (t,y) volete graficarla su un grafico con ascissa=t, ordinata=y.

che istruzioni devo scrivere in c++ perchè a video appaia il grafico?

e una volta creato il grafico se volessi farne apparire anche un secondo distinto in cui graficare un altra funzione z=f(w)?
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 11:46   #2
huNewbie
Member
 
Iscritto dal: Feb 2006
Messaggi: 30
Quote:
Originariamente inviato da vermaccio
avete una funzione y=f(t) nota.

Ogni t=1s valutate la funzione e ogni coppia (t,y) volete graficarla su un grafico con ascissa=t, ordinata=y.

che istruzioni devo scrivere in c++ perchè a video appaia il grafico?

e una volta creato il grafico se volessi farne apparire anche un secondo distinto in cui graficare un altra funzione z=f(w)?
La risposta dipende da un bel po' di questioni, del tipo:
  1. Quale ambiente di sviluppo usi? Dev-C++, Mingw, Visual Studio 6, Visual Studio .NET?
  2. Quale libreria grafica vuoi usare? MFC, Windows Forms, GTK, le API di Windows?
huNewbie è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 14:47   #3
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
1)uso visual studio .net e lo uso solo per visual c++

2)non ho la più pallida idea di che cambia da una all'altra. sicuramente preferirei usare una libreria che sia dentro visual studio per non impazzire a compilare.

mi serve una cosa anche semplice, giusto per fare un grafico.
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 18:46   #4
huNewbie
Member
 
Iscritto dal: Feb 2006
Messaggi: 30
Quote:
Originariamente inviato da vermaccio
1)uso visual studio .net e lo uso solo per visual c++

2)non ho la più pallida idea di che cambia da una all'altra. sicuramente preferirei usare una libreria che sia dentro visual studio per non impazzire a compilare.

mi serve una cosa anche semplice, giusto per fare un grafico.
Allora sei incredibilmente fortunato: se hai VC++ .NET 2003 puoi usare Windows Forms. Quello che devi fare è semplicemente creare un nuovo progetto Windows Forms .NET, e aggiungere al form che appare un tasto "Traccia" e una PictureBox. A quel punto, nella procedura del clic di "Traccia" (che ti appare facendoci doppio clic... meno male che il visual è visuale ) e iniziare a disegnare la funzione usando pictureBox1->CreateGraphics()->DrawLine, che ti permette di disegnare segmenti (meglio dei punti se vuoi un risultato buono). Basta ricordare che le PictureBox hanno un sistema di coordinate del tipo

(0, 0) in ALTO a sinistra
(larghezza, altezza) in BASSO a destra
In pratica l'asse y è ribaltato: ovviamente ti servirà fare una qualche traslazione degli assi...

Per cominciare ti consiglierei di sceglierti un sistema di riferimento tuo (che ne so, l'origine al centro, l'asse x che va da -5 a 5 e l'asse y che va da -3 a 3... o come preferisci) e di capire come trasformare le coordinate cartesiane del sistema scelto in quelle corrispondenti della PictureBox.
C'è solo da divertirsi un po'... IntelliSense è una vera goduria...
huNewbie è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 19:23   #5
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
io ho visual studio .net 7.0.9254, credo del 2001.

considerando che sono iper-ignorante di visual mi serevirebe un listato "già fatto" o istruzioni precisissime su cosa fare e come compilare, dando per scontato di avere un file .cpp di c++ in cui istante per istante si calcola la funzione.
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 12:03   #6
huNewbie
Member
 
Iscritto dal: Feb 2006
Messaggi: 30
Quote:
Originariamente inviato da vermaccio
io ho visual studio .net 7.0.9254, credo del 2001.

considerando che sono iper-ignorante di visual mi serevirebe un listato "già fatto" o istruzioni precisissime su cosa fare e come compilare, dando per scontato di avere un file .cpp di c++ in cui istante per istante si calcola la funzione.
Ops...
Quindi ti conviene andare su MFC, dato che se scegli di creare un progetto Win32 devi praticamente scrivere tutto il codice, compreso quello per creare finestra, riquadro...
Comunque penso che il principio sia lo stesso: devi creare (con il mitiko drag&drop dalla casella degli strumenti) un riquadro su cui disegnare, e poi capire come si fa a disegnarci sopra: dovrebbero esistere funzioni come MoveTo (che sposta il cursore su un pixel) e LineTo (che traccia una linea dal punto corrente a un altro. Tutte queste funzioni sono metodi di un oggetto, noto come CDC, che rappresenta l'oggetto su cui vuoi disegnare. Una volta ottenuto il CDC del riquadro (se il riquadro si chiama R, prova a scrivere R-> e a vedere se IntelliSense ti suggerisce un DC() o GetDC() o simile), insomma, puoi disegnarci sopra.

Magari in rete si trova qualche esempio o tutorial su MFC che potrebbe fare al caso tuo...
huNewbie è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 12:52   #7
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
<<dato che se scegli di creare un progetto Win32 devi praticamente scrivere tutto il codice, compreso quello per creare finestra, riquadro... >>

è questo il metodo che vorrei usare. cioè restare dentro la programmazione c++ (file .cpp che poi compilo e trasformo in .exe. questo almeno so farlo:basta cliccare "build" hehehe) e scrivere codice da li dentro.

potete incollarmi qui il codice, gli include da inserire nel mio listato per graficare (ad esempio) y=sin(x) con x che va da 0 a 6.28?

purtroppo non so nulladi visual se non scribacchiare dentro un listato c++ per fare semplici programmi.

aiutatemi, per favore....
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 13:04   #8
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
purtroppo non so aiutarti, ma prova a controllare sulle msdn o sul sito di ms, in genere ci sono degli esempi
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 15:46   #9
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Scusa, ma hai mai scritto programmi con interfaccia grafica?
Dalle tue domande sembrerebbe di no.

Secondo me le soluzioni migliori sono librerie QT o wxWidgets, (la classe per il plotting delle QT è però decisamente migliore), le MFC per me sono sempre state arabo.
Ma devi imparare un bel pò di cose su come funzionano le interfacce grafiche e soprattutto fare una scelta.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 16:06   #10
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
èquesto il problema:
non so nulla sulle interfacce grafiche e non mi serve saperne il funzionamento.
devo solo usarla per fare UNA cosa (più volte nel programma ma semprw quella, cioè graficare pl'andamento di più funzioni, una in una finestra diversa. Ad esempio spazio percorso, velocità, accelerazione: 3 grafici che vengono "creati" punto a punto a mano a mano che il programma cicla nel tempo (=ascissa).

quindi mi servono delle istruzioni da mettere nude e crdude da mettere nel listato c++, da usare così come sono, alla cieca, anche senza capire perchè sono scritte così.

immaginate di avere 2 funzioni.
a=funzione1(t)
b=funzione2(t)

t varia nel tempo con un ciclo for.

come faccio a diseganre:

finestra1--> ascissa t, ordinata a
finestra 2-->ascissa t, ordinata b

tutto li.

potreste incollare qui il codice c++ da inserire nel listato e l'elenco degli eventuali "include" o altro che devo infilare in testa al programma?

grazie
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 16:07   #11
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
logico che finestra1 e finestra2 devono essere separate.

ah! io uso visual studio .net prima versione (credo 2001).
Sarebbe meglio usare, se possibile, libreire grafiche di "default".
Insomma senza installare altra roba.
devo solo inserire il codice, compilare cliccando su "build" e fine.
oppure divento scemo.
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2006, 22:40   #12
sandor78
Junior Member
 
Iscritto dal: Aug 2004
Messaggi: 23
prova ad uare la libreria CPlot, la puoi trovare su sf.net
sandor78 è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2006, 15:59   #13
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da vermaccio
èquesto il problema:
non so nulla sulle interfacce grafiche e non mi serve saperne il funzionamento.
Però vuoi creare un programma con interfaccia grafica
O meglio vuoi che qualcuno lo faccia al posto tuo senza che tu muova un dito.

Quote:
potreste incollare qui il codice c++ da inserire nel listato e l'elenco degli eventuali "include" o altro che devo infilare in testa al programma?

grazie
Anche se qualcuno facesse il lavoro al posto tuo, poi dovresti riadattare il codice scritto da te. Quindi dovresti comunque imparare qualcosa su come funzionano le interfacce grafiche.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2006, 09:48   #14
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
Quote:
Originariamente inviato da tomminno
Però vuoi creare un programma con interfaccia grafica
O meglio vuoi che qualcuno lo faccia al posto tuo senza che tu muova un dito.
una cosa non la capisco: ma è così difficile creare in c++ una serie di istruzione del tipo "apri una finestra e schiaffaci una serie di puntini a queste coordinate"? questo solo mi serve. nulla di più.

Quote:
Originariamente inviato da tomminno
Anche se qualcuno facesse il lavoro al posto tuo, poi dovresti riadattare il codice scritto da te. Quindi dovresti comunque imparare qualcosa su come funzionano le interfacce grafiche.
un conto è "riadattare", vedendo però quali istruzioni sono state usate. un altro conto è partire da zero senza sapere nemmeno di che sto parlando o cosa mi serve.

non potete scrievre qualche riga di codice che stampi il grafico di una funzione a punti?
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2006, 10:07   #15
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
una cosa non la capisco: ma è così difficile creare in c++ una serie di istruzione del tipo "apri una finestra e schiaffaci una serie di puntini a queste coordinate"? questo solo mi serve. nulla di più.
Intanto ti ci vuole qualcosa tipo WinMain al posto del normale main, a meno di non usare altre librerie grafiche, che rifiuti a priori.
Poi devi creare un panel, poi inserirci l'area per disegnare, poi devi impostare il brush per disegnare ed infine traslare le coordinate dei punti in modo conforme a quello della finestra di disegno, magari ricordandoti di impostare uno zoom adeguato...

Quote:
un conto è "riadattare", vedendo però quali istruzioni sono state usate. un altro conto è partire da zero senza sapere nemmeno di che sto parlando o cosa mi serve.

non potete scrievre qualche riga di codice che stampi il grafico di una funzione a punti?
Il metodo più veloce che conosco è utilizzando le FLTK, che funzionano anche con codice C, ma sono sempre librerie esterne al compilatore, che devi scaricare e compilare.
Altrimenti devi arrenderti e disegnare quello che ti serve con le MFC.
In ogni caso non sono proprio 2 righe di codice, ma molte di più.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2006, 13:58   #16
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
<<In ogni caso non sono proprio 2 righe di codice, ma molte di più.>>

nessuna anima pia mi aiuta e me le scrive?
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2006, 18:23   #17
huNewbie
Member
 
Iscritto dal: Feb 2006
Messaggi: 30
Quote:
Originariamente inviato da vermaccio
<<In ogni caso non sono proprio 2 righe di codice, ma molte di più.>>

nessuna anima pia mi aiuta e me le scrive?
Dammi mille euro e l'anima pia l'hai trovata

Ripeto: prova a usare MFC. Avventurarsi in Win32 non è per niente facile... e poi richiede moooooolto tempo. Per iniziare, intanto creati un nuovo progetto MFC dal Visual Studio e aggiungi alla finestra un riquadro per disegnare: richiede molto meno codice (e tempo) rispetto a Win32, perchè a quel punto l'unico codice che serve è quello per calcolare i punti e disegnarli.
Per darti un'idea, in un'applicazione Win32 nativa (che penso sia quel che vuoi usare tu... ma chi te lo fa fare ) devi scrivere TU il codice per creare la finestra di dialogo, mostrarla, disegnarci tastini vari... non ti conviene.
Se poi hai la possibilità di creare un progetto Windows Forms .NET è molto meglio... il "nuovo C++" usato è abbastanza simile al VB.

Ma poi... la caratteristica migliore del Visual Studio è proprio l'essere... visuale!
huNewbie è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2006, 20:09   #18
Perry_Rhodan
Member
 
L'Avatar di Perry_Rhodan
 
Iscritto dal: Jul 2005
Città: Canelli
Messaggi: 158
IMHO
una alternativa semplice e veloce potrebbe essere quella di usare un programma esterno tipo GNUPlot che è in grado di fare un grafico utilizzando dati salvati su di un file:

Calcoli la tua tabella dati
Salvi su file
usando la funzione system("Gnuplot param Filedati") richiami GNUPlot esattamente come se lo facessi da riga di comando (non so quali sono i param adatti, GNUPlot ne ha tantissimi)
eventualmente ripeti il tutto in un loop

oppure, alternativa ancora più semplice e veloce, fai tutto su excel o su calc di Openoffice senza impelagarti nel C++ .
Perry_Rhodan è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Apple ha un nuovo partner per la sua App...
Trenitalia introduce il prezzo dinamico ...
OnePlus non si ferma più: c'&egra...
DAZN sconta il piano Full per 6 mesi, se...
L'uso dell'IA nei giochi è cancer...
Meta punta sul nucleare USA per alimenta...
Le migliori offerte Amazon del weekend: ...
La crisi dell'hardware spinge i negozi g...
Apple Watch SE 3 scontato su Amazon: il ...
Robot aspirapolvere davvero scontati: si...
DDR5 troppo cara: il passato di AMD potr...
5 sconti TOP nuovi di zecca e altre offe...
Il più venduto e apprezzato: ECOV...
Era e resta un super top di gamma: il TV...
DOOGEE T10 Pro, il miglior tablet di tut...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v