Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    realizzare una retta nel piano


    Qualcuno sa come realizzare una retta (meglio un vettore) da un punto generico del piano Po=(Xo;Yo) ad un altro Pi=(Xi;Yi, punti che stabilisco arbitrariamente con la pressione del mouse??

    Io in pratica non riesco ad impostare l'action relativa alla determinazione con il mouse del punto iniziale della retta, ovvero la retta parte sempre da un punto fisso del piano (il punto di coordinate (0;0) relativo al movie in cui è inserito).

    Vi allego l'actionscript che ho utilizzato:

    _root.onMouseDown = function() {
    _root.lineStyle(1, 0xFF0000, 80);
    _root.lineTo(_xmouse, _ymouse);
    };

    Grazie per la vostra attenzione,
    MaxMazzone

    www.researchgroup.it

  2. #2
    devi aggiungere una riga:

    _root.onMouseDown = function() {
    _root.lineStyle(1, 0xFF0000, 80);
    _root.moveTo(coordinata_x,coordinata_y);
    _root.lineTo(_xmouse, _ymouse);
    };

    fra l'altro, mi sto occupando di un'applicazione in flash per disegnare traiettorie in 3D, quindi se hai bisogno di qualcosa magari posso consigliarti.
    Ciao.

    EDIT:
    Chiaramente, coordinata_x e coordinata_y sono le due variabili che contengono le coordinate del punto dal quale vuoi far partire la retta.

  3. #3

    Grazie...

    grazie per l'aiuto. Spero di riuscire a mettere a frutto le tue indicazioni per realizzare una sorta di penna misuratrice di punti nello spazio (ad esempio per misurare la scala di un disegno tecnico). Qualora dovessi avere delle difficoltà conto nel tuo aiuto e in quello di tutti i membri del forum.

    Ciao e ancora grazie.

    P.S.
    Per la tua ricerca prova a vedere il menu dinamico di questo sito:

    www.asymptote.com

    se riesci a a fare una cosa del genere... fammi sapere!!!

    Marsellus Wallace è il personaggio di Pulp Fiction??

  4. #4
    Sì, è di Pulp Fiction

    Sì, quel menù è esattamente una delle cose fattibili nell'applicazione che sto scrivendo. Però quello che voglio fare io è una cosa più completa, e adatta forse più per scopi "accademici". Ovvero, tu decidi la visuale (isometrica, cavaliera, prospettica, ecc...), scegli l'origine degli assi e l'orientazione degli stessi, e quindi inizi a disegnare tramite equazioni. Puoi anche far muovere gli oggetti, o farli ruotare. E' una sottospecie di motore grafico.
    Ho deciso di crearlo per applicarlo a un gioco che sto scrivendo, e che per ora è in 2D.

    Ciao

  5. #5

    chiarimenti...

    Ho inserito la riga che mi hai scritto, ma l'effetto che ho avuto è quello di ottenere un fascio di rette da un punto fisso dello spazio (che poi è il punto (0,0) del foglio di lavoro di Flash). Volevo chiederti allora se devo impostare le due variabili "coordinata_X" e "coordinata_Y"?
    Siccome i due valori "coordinata_X" e "coordinata_Y" devono corrispondere alle coordinate del generico punto del piano che individuo clikkando col mouse (in pratica come quello che succede con il secondo punto del vettore) come si fa???

    Come avrai ben capito ho dei problemi con le variabili!!

    Ciao e grazie ancora.

  6. #6

    Re: chiarimenti...

    Originariamente inviato da maxmazzone
    Ho inserito la riga che mi hai scritto, ma l'effetto che ho avuto è quello di ottenere un fascio di rette da un punto fisso dello spazio (che poi è il punto (0,0) del foglio di lavoro di Flash). Volevo chiederti allora se devo impostare le due variabili "coordinata_X" e "coordinata_Y"?
    Siccome i due valori "coordinata_X" e "coordinata_Y" devono corrispondere alle coordinate del generico punto del piano che individuo clikkando col mouse (in pratica come quello che succede con il secondo punto del vettore) come si fa???

    Come avrai ben capito ho dei problemi con le variabili!!

    Ciao e grazie ancora.
    Allora:
    ovviamente coordinata_X e coordinata_Y vanno inizializzate con due numeri che indicano un punto sullo stage.
    moveTo ti dà il punto di partenza della retta.
    lineTo ti dà il punto di arrivo.
    E' chiaro che se tu cambi di volta in volta solo lineTo, avrai un fascio di rette.

    Se vuoi "disegnare" rette col mouse, decidendo di volta in volta il punto di partenza e il punto di arrivo, devi fare questo:

    codice:
    clic = false;
    _root.onMouseDown = function() { 
    	if (!clic) { 
    		startx = _xmouse;
    		starty = _ymouse;
    	clic = true;
    	} else {
    		_root.lineStyle(1, 0xFF0000, 80); 
    		_root.moveTo(startx,starty); 
    		_root.lineTo(_xmouse, _ymouse); 
    		clic = false;
    	}
    }
    Se invece vuoi disegnare una linea spezzata unita, ovvero una linea in cui il punto di arrivo di una retta coincide col punto di partenza della retta successiva, prova con questo:

    codice:
    clic = false;
    _root.onMouseDown = function() { 
    	if (!clic) { // primo clic
    		startx = _xmouse;
    		starty = _ymouse;
    	clic = true;
    	} else {
    		_root.lineStyle(1, 0xFF0000, 80); 
    		_root.moveTo(startx,starty); 
    		_root.lineTo(_xmouse, _ymouse); 
    		startx = _xmouse;
    		starty = _ymouse;
    	}
    }
    Funzionano entrambi, ciao


    EDIT: Se non capisci alcune parti dello script, chiedimi pure
    Li ho scritti di volata, ora appena sveglio quindi non posso escludere che ci sia un modo più semplice per farlo.

  7. #7

    Grazie...

    ... adesso cerco di ottimizzare il tuo script alle mie necessità. Posso dirti che funziona perfettamente.

    Spero di potermi sdebitare in qualche modo per i tuoi preziosi consigli. io collaboro con il Dipartimento di Disegno dell'Univ. di architettura Pescara (sono un neo-architetto) e li ci occupiamo particolarmente di modellazione, renderizzazione, grafica web e prodotti multimediali a servizio dell'architettura. Credo che il tuo lavoro sia molto interessante magari quando è pronto se va in rete pubblicalo così lo posso vedere.

    io per esempio ho realizzato (come tesi di laurea) il museo virtuale del quartiere EUR di Roma completamente navigabile in modo interattivo (hai presente i visori 3D di MInority Report??).

    Quindi potremmo collaborare su qualcosa in futuro.

    Ciao,e alla prox consulenza.

    www.researchgroup.it

  8. #8
    Accidenti, complimenti :metallica
    No io uso Flash solo di rado per divertimento, mi occupo di automatica/robotica, e infatti il gioco a cui sto lavorando e proprio uno studio sull'A.I. (l'intelligenza artificiale).
    Per il progetto sul 3D devo ancora lavorarci molto, ho appena inziato Lo faccio solo nei ritagli di tempo libero. Finora ho concluso giusto qualche funzione per insegnare a Flash la terza dimensione.
    Ciao!

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.