Varie ed Eventuali (Off Topic) UDF Problema scala

Login Registrati
Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
  • Autore
    Articoli
  • #40664 Score: 1 | Risposta

    albatros54
    Moderatore
      89 pts

      in allegato file excel con tutte le esplicitazioni  

       

      Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
      Sempre il mare, uomo libero, amerai!
      ( Charles Baudelaire )
      Allegati:
      You must be logged in to view attached files.
      #40670 Score: 1 | Risposta

      Luca73
      Partecipante
        58 pts

        Ciao,

        Che bello sono ritornate le sfide!!!!!

        Mi sembra esagerato sprecare una UDF.....  

        Comunque ecco la mia soluzione

        UNA UDF come da richiesta e non due...(  )

        Ciao Ciao

        `Public Function Scala(L1, L2, D, Tipo)
        Select Case Tipo
            Case "x", "X"
                Scala = (L1 ^ 2 - L2 ^ 2 - D ^ 2) / (-2 * D)
            Case "y", "Y"
                Scala = (((L1 ^ 2 - L2 ^ 2 - D ^ 2) / (-2 * D)) ^ 2 + (L1 ^ 2)) ^ 0.5
            Case Else
                Scala = "Attenzione Tipo deve essere X o Y"
        End Select
        End Function`

        Ragionamento Svolto:

        Detta X la posizione del piede scala da L1 La lunghezza della scala per raggiungere L1 risulta 

        Y1= RadQ(X^2 + L1^2)

        La posizione del piede rispetto a L2 Vale D-X pertanto la lunghezza della scala per raggiungere L2 risulta 

        Y2= RadQ((D-X)^2 + L2^2)

        Ora essendo richiesto che la scala sia uguale risulta

        Y1=Y2

        ovvero

        RadQ(X^2 + L1^2)=RadQ((D-X)^2 + L2^2) Ovvero X^2 + L1^2=(D-X)^2 + L2^2

        Svolgendo

        X^2+L1^2= D^2+X^2-2DX+L2^2

        Semplificando

        L1^2= D^2-2DX+L2^2

        che porta a

        X= (L1^2-L2^2+D^2)/(2*D)

        Y viene calcolata con una delle due formule sopra esposte.

        Ciao

         

        #40679 Score: 0 | Risposta

        Marius44
        Moderatore
          58 pts

          Ciao a tutti

          Intanto un "BRAVO" a @luca73 poi aggiungo quanto segue (vedasi allegato Foglio2):

          NO, scusate. Mi sono accorto che il mio ragionamento è errato.

          #40712 Score: 0 | Risposta

          albatros54
          Moderatore
            89 pts

            ecco le mie due UDF.

            Public Function DistanzaBigTorre(L1, L2, D)
            c = (D ^ 2 + L2 ^ 2 - L1 ^ 2) / (2 * D)
            DistanzaBigTorre = c
            End Function
            
            
            Public Function LunghezzaScala(L1, L2, D)
            s = ((D ^ 2 + L2 ^ 2 - L1 ^ 2) / (2 * D)) ^ 2 + L1 ^ 2
            s = Sqr(s)
            LunghezzaScala = (s)
            End Function
            

            unica differenza con Luca è che nella UDF LunghezzaScala io estraggo la Radice Quadrata mentre lui eleva a potenza(inverso della sqr)

             

             

            Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
            Sempre il mare, uomo libero, amerai!
            ( Charles Baudelaire )
            #40732 Score: 0 | Risposta

            Luca73
            Partecipante
              58 pts

              Ciao Albatros, ho usato una elevazione a 0.5 o 1/2 (che poi è esatamente la radice quadrata) solo perchè non mi ricordavo come si chiama la radice quadrata in VBA (che poi mi  hai ricordato tu essere sqr) ....La chiamerei pigrizia...  

              #40842 Score: 0 | Risposta

              Marius44
              Moderatore
                58 pts

                Salve Carissimi

                Il problema delle scale mi ha coinvolto e, anche se in un primo momento avevo ... deragliato, ho voluto trasferire in un Grafico quanto asserito sopra.

                Tutto OK tranne ....

                Cosa ho immaginato: si vuole costruire una linea che congiunga i due punti massimi delle torre (o dei pali), individuare il punto di intersezione sulle ascisse in modo tale che le scale abbiano la stessa altezza.

                Dall'allegato noterete che (mostro tutti i passaggi per dovizia di particolari) secondo i miei calcoli le scale non sono uguali. Il problema sorge a causa del coefficiente angolare (pendenza) della retta inclinata che unisce i due punti massimi. Se nel mio elaborato inserite -0,2 al posto di -0,18182 (che riviene dal calcolo della pendenza) le misure sono uguali. Perchè?

                Secondo problema: voglio che il palo più alto non sia sullo 0 dell'ascissa ma, per esempio, a 2 (modificare il dato nella cella indicata). Il tutto sballa, anche mettendo il fatidico -0.2 invece di -0.18182

                Mi date, per favore, qualche delucidazione (visto il tanto, troppo tempo trascorso dalle nozioni scolastiche). Grazie.

                Ciao,

                Mario

                Il file è un .xlsm perchè ho provato le vostre UDF che poi ho cancellato.

                Allegati:
                You must be logged in to view attached files.
              Login Registrati
              Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
              Rispondi a: UDF Problema scala
              Gli allegati sono permessi solo ad utenti REGISTRATI
              Le tue informazioni: