Resultados 1 al 12 de 12

Tema: Calcular ángulo entre 3 puntos

  1. #1
    Fecha de ingreso
    Feb 2005
    Mensajes
    2,231

    Calcular ángulo entre 3 puntos

    Jelou. Imaginar que tenéis 3 puntos, pues eso, ya está. No quería decira nada más. Un saludo. Esto, dicha la gilipollez planteo la pregunta. ¿cómo puedo calcular el ángulo entre 3 puntos? Lo necesito porque luego tengo de dar el valor de ese ángulo al ángulo entre 2 Bones y no sé muy bien cómo hacerlo. Gracias.

  2. #2
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Calcular ángulo entre 3 puntos

    Entre 3 puntos hay 3 ángulos posibles, así que, de entre esos 3 puntos hay que escoger uno que sea el pivote (algo, así como hace el protractor de max). Así que de esta forma la función sería tal como:
    Código:
    Fn anglebetwentwovectors pivotpoint point1 point2 = (tlocal v1 = normalize (point1 - Pivotpoint) tlocal v2 = normalize (point2 - Pivotpoint) tlocal cosine = Dot v1 v2 treturn (acos cosine).
    )
    Eso es lo que hará más o menos el protractor. Lo he comprobado y los resultados son exactamente iguales. Saludos.

  3. #3
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Calcular ángulo entre 3 puntos

    Edito:, al foro se le ha ido la pinza.
    Última edición por dsolo; 07-11-2006 a las 01:50

  4. #4
    Fecha de ingreso
    Apr 2002
    Mensajes
    25,945

    Calcular ángulo entre 3 puntos

    Edito:, al foro se le ha ido la pinza.
    ¿Por? ¿has notado algo extraño?
    |Agradecer cuando alguien te ayuda es de ser agradecido|

  5. #5
    Fecha de ingreso
    Jun 2005
    Mensajes
    1,206

    Question Calcular ángulo entre 3 puntos

    Durante unos minutos, desaparecieron los foros, y solo aparecía uno. Y decía algo como que había 50 o 60 usuarios registrados. Algo realmente malo pasó, pa mi que estaba accediendo a datos antiguos o directamente a otro foro.
    "La vida es como el tetris, cuando llegan los palos no sabes como encajarlos"
    <img src=images/smilies/molesto.gif border=0 alt= title=Sad class=inlineimg />

  6. #6
    Fecha de ingreso
    Apr 2002
    Mensajes
    25,945

    Calcular ángulo entre 3 puntos

    Hemos estado actualizando el buscador, y para eso hemos tenido que parar el foro, pero deberíais haber visto un mensaje de estamos trabajando no el foro, un saludo.
    |Agradecer cuando alguien te ayuda es de ser agradecido|

  7. #7
    Fecha de ingreso
    Feb 2005
    Mensajes
    2,231

    Calcular ángulo entre 3 puntos

    Ok. Gracias half. Luego lo pruebo a ver si consigo alinear bien los huesos. Saludos.

  8. #8
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,621

    Calcular ángulo entre 3 puntos

    Shenmue, le quitas el return a la función de half. Se gana algo en velocidad.
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  9. #9
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Calcular ángulo entre 3 puntos

    Shenmue, le quitas el return a la función de half. Se gana algo en velocidad.
    Vaya, sabía que no hacía falta el return, pero no tenía idea que podía ralentizar el script. He mirado en la referencia y no dice nada al respecto.

    Así que he hecho una prueba con y sin return que llama a la función 10 millón de veces con vectores aleatorios y las diferencias son despreciables y unas veces una es más rápida y otras la otra (en la última prueba la función con return fue 2 segundos más rápida que sin return, 135.297 segundos por 137.359).
    ¿Dónde leíste que el return podía suponer una penalización?
    ¿Por? ¿has notado algo extraño?
    Ah sí, lo que pasó es que le di a publicar el mensaje y la conexión se cortó. Entonces refresqué para ver si había salido o no y no lo vi por ningún lado, así que, lo volví a enviar y resulta que sí estaba, lo que pasa es que no aparecía como último mensaje.

    Y sí, es cierto que vi arriba del todo un mensaje diciendo que el foro estaría en mantenimiento un rato, pero no vi la página que normalmente sale avisando de ello. El foro seguía funcionando (al menos aparentemente). Saludos.

  10. #10
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,621

    Calcular ángulo entre 3 puntos

    Half, en la ayuda de Maxscript hay un capítulo how todo make it faster y dentro de el un apartado do not use return, break, exit or continue y pone varios ejemplos:
    Código:
    Fn test1a v = (if v == true do return 1; 0).
    
    Fn test1b v = (if v == true then 1 else 0).
    
    For 100000 iterations:
    Test1a true - 15890 msec.
    
    Test1a false - 78 msec.
    
    Test1b true - 47 msec.
    
    Test1b false - 62 msec.
    La verdad es que no he hecho la prueba yo mismo, pero si los chicos de Autodesk lo dicen, yo me lo creo.
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  11. #11
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Calcular ángulo entre 3 puntos

    La verdad es que en las expresiones if/else que se asignan a una variable nunca pongo el return, pero para retornar un valor en las funciones sí que lo utilizo siempre. La costumbre de C++.

    En fin, será cuestión de acostumbrarse, pero desde luego las diferencias que yo he visto no son tan grandes como indican los tests esos (a lo mejor en otras situaciones sí). Saludos.

  12. #12
    Fecha de ingreso
    Feb 2005
    Mensajes
    2,231

    Calcular ángulo entre 3 puntos

    Justamente acabo de hacerlo, gracias Nessito. Anglea = acos (Dot v1 v2). Thanks.

Temas similares

  1. Blender Caliper mide la distancia entre dos puntos
    Por 3dpoder en el foro Programación y Scripts
    Respuestas: 1
    : 12-05-2012, 13:55
  2. Respuestas: 18
    : 06-05-2011, 13:17
  3. Script que genera linea entre dos puntos
    Por jmpinero en el foro Programación y Scripts
    Respuestas: 4
    : 29-12-2009, 09:07
  4. Calcular volumen de objeto en Blender para calcular su masa
    Por 3dpoder en el foro Revistas Online
    Respuestas: 0
    : 25-05-2009, 17:26
  5. Lineas entre puntos autoupdatada
    Por shenmue en el foro Programación y Scripts
    Respuestas: 9
    : 10-11-2006, 23:57