Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Aiuto per Calcolo angolo di Rotazione Clip

    Supponete di avere un segmento AB in orizzontale

    riferimento (x,y)
    dove l'estremo A ha coordinate 0,0 ed l'estremo B ha coordinate 100,0
    il segmento è lungo 100

    devo trascinare il punto B in basso di nY pixel

    prendendo come riferimento le coordinate di _ymouse posso ottenere
    la distanza verticale fra _root._ymouse e _root.AB_y punto C

    Ovviamente per fare questo il segmento deve ruotare nel suo estremo
    "A".

    Non mi ricordo assolutamente come si fa per calcolare l'angolo di rotazione (alfa ) del triangolo ABC acuto in A..credo
    In teoria ho un triangolo rettangolo con beta di 90° conosco la lunghezza AB, posso misurare BC e ricavarmi AC .....

    Seno(alfa) e Coseno(alfa)......ma alfa ??

    Sperando di non averla sparata grossa .

    Grazie

  2. #2
    non è che puoi fare uno schemino (disegnino) di quello che esattamente hai e non hai ma ti serve?

    penso sarebbe + chiaro (almeno x me)

    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  3. #3
    Diciamo che se ho un oggetto che ruota di un certo angolo e devo farlo camminare nella direzione dell'angolo utilizzo la seguente formula

    _y -= Math.cos(_rotation*(Math.PI/180));
    _x += Math.sin(_rotation*(Math.PI/180));

    Ma io parto da una situazione inversa, ovvero conosco _x e _y

    ma NON CONOSCO _rotation ovvero l'angolo

    e non so come fare.

    Ovvero supponendo di avere un tringolo rettangolo

    OAB retto in A conosco le dimensioni di OA e le dimensioni di AB
    (i cateti) ma non so come si calcola l'angolo in "O"

    Ovviamente per tutti gli angoli differenti da
    15, 18, 30, 45, 60, 90, 180, 270 la cui corrispondenza al rapporto fra
    OA/OB= sen(alfa) è noto.

    Spero di essermi spiegato, ma vacillo e non poco

    Grazie Rempox

  4. #4
    in sostanza a te serve l'angolo fra due punti dico bene?

    l'angolo fra due punti lo calcoli così:
    codice:
    angolo_radianti=Math.atan((y2-y1)/(x2-x1));
    e poi lo trasformi in gradi (in quanto la _rotation è in gradi) con l'inversa della tua:
    codice:
    angolo_gradi=angolo_radianti/Math.PI*180;
    così però tu ricavi la direzione (l'angolo) della retta, ma non il verso (sulla stessa retta puoi andare in ambo le direzioni) e con quella formula non lo ricavi in quanto potrebbe anche essere l'opposto y1-y2, e quindi aggiungi semplicemente:
    codice:
    if (x2 < x1) {
    	angolo_gradi += 180;
    }
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  5. #5
    Quindi l'angolo in radianti è =

    all'arcotangente del rapporto fra l'altezza (y2-y1) e la base (x2-x1)

    e di seguito

    angolo_gradi=angolo_radianti/Math.PI*180;

    Lo testo e ti faccio vedere a cosa mi serve, anche se non ho finito.

    Grazie Panta


    :gren:

  6. #6
    proprio così! :metallica

    occhio alla storia del verso anche...
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  7. #7
    Ok Panta,

    se hai voglia
    all'interno di un clip "elastico" disegna una retta di 30 pixel allineata a sinistra ed al centro.

    all'interno di un clip "palla" disegna una palla e convertila in bottone

    posiziona il clip ELASTICO e nell'estremo destro posiziona sopra il clip PALLA

    Al clip Elastico associa
    onClipEvent(load){
    initL=_width;
    initH=_height
    initR=_rotation
    initx=_x
    inity=_y
    speed=5
    }
    onClipEvent(enterFrame){
    if(_root.startclip and _root.startclip!=undefined and _root.palla._x >_x){
    _width=_root.palla._x-_x;
    _height=_root.palla._y-_y

    angolo_radianti=Math.atan((_root.palla._y-inity)/(_width));
    _rotation= angolo_radianti/Math.PI*180;
    }
    if(!_root.startclip and _root.startclip!=undefined and _root.palla._x >_x){
    //azioni per elastico
    if (_width >initL){
    _width=_width+(initL-_width)/speed;

    }
    if (_height >initH and _width < initL){

    _height=_height+(initH-_height)/speed;
    }
    // modifiche per muovere la palla
    _root.palla._x=initx+_width
    if (_root.palla._y >= inity){
    _root.palla._y=inity+_height}
    else{_root.palla._y=inity-_height}
    }
    }
    Al Pulsante dentro il clip PALLA associa
    on (press) {
    _root.startclip = true;
    startDrag(_root.palla)
    }
    on (release, releaseOutside) {
    _root.startclip = false;
    stopDrag()
    }


    NON RIESCO A GESTIRE L'ALTEZZA ogni volta che trascino la palla in basso ma la Larghezza è minore di quella iniziale

    GRAZIE (...poi penserò al problema oltre -90 ° e + 90°

    Almeno spero

    Grazie rempox

  8. #8
    Insomma
    http://members.xoom.virgilio.it/bubb...elastico2.html

    Cliccate sulla pallina e trascinate verso il basso a destra
    o verso l'alto a destra

    Mentre se trascinate in verticale l'effetto elastico va a farsi benedire

    Lo script è quello del post precedente a questo.

    Grazie

  9. #9

  10. #10
    ma scusa... l'effetto elastico non c'è...

    ???
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

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.