Come si fa a disegnare una funzione in visual basic 6.0?
Come si fa a disegnare una funzione in visual basic 6.0?
linguaggio e versione anche nel titolo
per vb abbiamo un forum specifico, leggi il regolamento
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
Cosa intendi per disegnare una funzione ?
La sintassi è questa
codice:'Dove : ' [Public][Private] sono in alternativa ed opzionali, se ' mancano è Public ' Parametro1 è il nome del parametro eventualmente passato e ' Tipo è il suo tipo (Integer, Long, Double, String, Variant ecc) ' Tipo di Ritorno è il tipo del risultato che ritorna la funzione ' [Public][Private] Function NomeFunzione([Parametro1 As Tipo]) as TipoDiRitorno ' ..... Fai qualcosa nella funzione ' ..... VariabileDiRitorno = ............ NomeFunzione = VariabileDiRitorno ' di tipo TipoDiRitorno End Function
Ciao,![]()
Ciao, Brainjar
io ho pensato parlasse di una funzione matematica...
La passera non dura perchè Sypher la cattura!
"No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"
Speriamo che ce lo dice.
Ciao,![]()
Ciao, Brainjar
io parlavo di una funzione matematica e per disegnare intendevo in una pictuare box (nella pict.box ho già creato gli assi cartesiani), come faccio?
se invece è una curva la cosa si fa più complicata ovviamentecodice:picture1.line(x1,y1)-(x2,y2), colore
per tutti i punti che devi disegnare (ovvio che per punti non intendo la definizione geometrica, altrimenti sarebbero infiniti)
codice:printer.pset(x,y),colore
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
L'hai 'scritto' ?io parlavo di una funzione matematica e per disegnare intendevo in una pictuare box (nella pict.box ho già creato gli assi cartesiani), come faccio?
Ciao,![]()
Ciao, Brainjar
non ho capito io ho questa funzione:
Public Function f(ByRef x, y As Double) As Double
f = -2 * x * y
End Function
l'ho salvata in un modulo, in un bottone volevo mettere la procedura per disegnare questa funzione allora devo fare un for che mi va da xmin(si riferisce agli assi cartesiani) a xmax con un passo di 0.0001, e dentro al for metto :
picture1.line(x1,y1)-(x2,y2)
così?
o devo fare in un'altra maniera?
ciao e grazie ancora
Come dice Xegallo puoi disegnare un punto alla volta. In realtà ci sarebbero dei problemi di risoluzione.
Per esempio hai la formula: y = x^3 + 2
per semplificare tieni conto che il centro dell'asse x disegnato è lo zero, che l'unità di misura è in pixel, e il massimo valore di X è la metà della lunghezza del form (MaxX = form.width/2)
Più la variabile Passo è piccola, più disegni punti e ottieni una risoluzione maggiore. Ci sono però alcune funzioni in cui, pur tenendo un passo molto piccolo, la differenza del valore Y tra un punto e quello successivo è tale da disegnare comunque i punti separati (per esempio con un logaritmo o un'alta potenza). Saresti quindi obbligato a tenere un passo quasi a zero, col risultato di metterci tanto tempo (diversi secondi) per disegnare il grafico.codice:for px = 1 to form.width step Passo X = -(form.width/2) + px Y = X^3 + 2 form.pset(X,Y),Colore next px
Una buona soluzione per tenere un passo ragionevole è quella di non utilizzare pset per disegnare un punto alla volta, ma di unire i punti con delle linee utilizzando la line. Otteresti lo stesso risultato. Nel caso di due valori X consecutivi ma con valori Y molto diversi otteresti una linea anche disegnando un punto alla volta, ma con mille passaggi in + (essendo obbligato a diminuire il passo).
![]()