Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    31

    disegnare Funzione

    Come si fa a disegnare una funzione in visual basic 6.0?

  2. #2
    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

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    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

  4. #4
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    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"

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Speriamo che ce lo dice.
    Ciao,
    Ciao, Brainjar

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    31
    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?

  7. #7
    codice:
       picture1.line(x1,y1)-(x2,y2), colore
    se invece è una curva la cosa si fa più complicata ovviamente


    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

  8. #8
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    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?
    L'hai 'scritto' ?

    Ciao,
    Ciao, Brainjar

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    31
    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

  10. #10
    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)
    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
    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.
    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).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.