Newsgroup: it.comp.software.cad
Titolo: Disegnare una curva dall'equazione

Esiste un modo per disegnare in Acad2002 una curva (o comunque un'ente
matematico qualunque) tramite l'equazione?
Ovviamente la soluzione "calcolati le coordinate di n punti e poi
uniscili" non e` accettabile. :-)
-- 
 ___ _            |
| _ (_)_ _  ___   | Se non fai parte della soluzione
|  _/ | ' \/ _ \  | allora fai parte del precipitato.
|_| |_|_||_\___/  |

 uniscili" non e` accettabile. :-)
Perche' no ?
Generi i punti con un foglio elettronico e li salvi come testo.
Lo modifichi aggiungendo il comando line all'inizio e aggiungi due spazi
alla fine (i dati numerici devono avere come virgola decimale il punto e
come separazione la virgola).
Salvi il file con estensione .scr (adesso non ricordo bene se e' questa
l'estensione giusta).
Carica in autocad lo script col comando esegui script.
Guarda il manuale in linea per maggiori dettagli.
-- 
Ciao, da Francesco B.
PowerMac G3 blu e bianco

 l'estensione giusta).
Giusto


uniscili" non e` accettabile. :-)
Su CADLandia treovi una funzione che ho scritto, si chiama GraficoFX,
e gli si deve passare come parametro la funzione in formato Lisp.
Ti copio la funzione:
;-------------------------------------------------------------------------
;FUNZIONE: GraficoFx
;OBIETTIVO: disegna il garfico di un funzione F[x]=y nel piano XY
;PARAMETRI: function fltInizio fltFine fltPasso
;function: Lista della funzione da valutare
;             Bisogna usrae la notazione polacca inversa [AutoLisp]
;             x è la variabile indipendente
;             esempio '(+ (* 2 x x) x 3)
;fltInizio: Variabile reale di tipo float
;             valore x inziale
;fltFine:   Variabile reale di tipo float
;             valore x finale
;fltPasso:  Variabile reale di tipo float
;             Passo dell'incremento della x
;RISULTATO disegna il grafico della funzione
(defun GraficoFx (function fltInizio fltFine fltPasso / function
fltInizio fltFine fltPasso x y lstPunti pnt)
; inizializzazione
    (setq lisPunti nil)
    (setq echoCurrent(getvar "CMDECHO"))
; controllo consistenza dati
    (if (<=  fltInizio fltFine)
        (progn
; inizializza X
            (setq x fltInizio)
; ripeti finchè x è minore della fine dell'intervallo
            (while (< x  fltFine)
                (setq y(eval function))
                (setq lstPunti (append lstPunti (list (list x y 0))))
                (setq x(+ x fltPasso))
            );fine ciclo while
            (setq x fltFine)
            (setq y(eval function))
            (setq lstPunti (append lstPunti (list (list x y 0))))
        );fine sequenza progn
    );fine if
    lstPunti
    (setvar "CMDECHO" 0)
; Disegno della polilinea 3d
    (command "_3DPOLY")
    (foreach pnt lstPunti (command pnt))
    (command "")
    (setvar "CMDECHO" echoCurrent)
    nil  
)
;-------------------------------------------------------------------------
Esempio di utilizzo
(GraficoFX '(+ (* 2 x x) x 3) 0 100 1)
Saluti, Aniello
-- 
Aniello Annunziata
Content Director Manager
www.cadlandia.com
aniello.a...@cadlandia.com
Per rispondermi in privato, togli NOGARBAGE dall'indirizzo

Teoricamente si, ma con autolisp. Devi creare una utility autolisp che
calcoli le coordinate e le passi al programma come punti. Se devi disegnare
curve algebriche prova a visitare questo sito
http://space.tin.it/edicola/lwcon/curve/rose.htm
trovi alcuni esempi di cosa si possa fare con autolisp per disegnare
qualunque tipo di curva algebrica.