<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Creo q no me expliqué claramente Steve, pero gracias por responder, el tema es que estoy desarrollando una aplicación 3d (casi no hace falta ni que lo mencione), y tengo una "camara", en las posicion <b>pos</b>(vector3D), que a su vez apunta a las coordenadas <b>vista</b>(vector3D), sólo con estos datos "podría" colocar un elemento orbitando alrededor de la cámara, de ahí que use un vector de coordenadas <b>p</b>, si sólo fuera que girara alrededor cómo la "Luna" sobre la "Tierra", eso es algo que está chupao... y es lo que muestro en el código, pero realmente lo que necesito es que ese objeto se mantenga fijo delante de la vista de la cámara, mire a donde mire... en éste esquema "chapucilla" se puede apreciar más o menos la idea.<div><br></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Arial; font-size: 10px; line-height: 10px; "><a href="http://i28.tinypic.com/1zn6005.jpg" class="thickbox" name="<br/><a href="http://i28.tinypic.com/1zn6005.jpg" target="_blank">View Raw Image</a>" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: bold; font-style: normal; font-size: 10px; line-height: inherit; font-family: inherit; text-align: left; color: rgb(102, 153, 204); text-decoration: underline; cursor: pointer; outline-width: 0px; outline-style: initial; outline-color: initial; "><img src="http://i28.tinypic.com/1zn6005.jpg" title="Click for a larger view" id="imgElement" alt="" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: normal; font-style: normal; font-size: 10px; line-height: 1; font-family: inherit; text-align: left; "></a></span></div><div><font class="Apple-style-span" color="#000000" face="Arial" size="2"><span class="Apple-style-span" style="font-size: 10px; line-height: 10px;"><span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; line-height: normal; color: rgb(68, 68, 68); ">Y claro no lo consigo, hace un par de años buenos lo hice, se que era así más o menos, pero todo los trabajos que hice hace años se quedaron en el portátil <i>desguazado</i> que regalé al instituto (para su estudio)... </span><br></span></font></div><div><br></div><div>Si no me equivoco, <i><b>||p|| = radical( (p.x)^2 + (p.y)^2 + (p.z)^2 )</b></i> esta formula me devuelve la distancia entre dos vectores, no habré usado ni pocas veces ni nada...</div><div><font class="Apple-style-span" color="#000000" face="Arial" size="2"><span class="Apple-style-span" style="font-size: 10px; line-height: 10px; "><br></span></font></div><div>> Date: Thu, 27 Aug 2009 15:26:56 -0400<br></div><div>> From: srd4121@njit.edu<br>> To: cconclase@listas.conclase.net<br>> Subject: Re: [C con Clase] FW: Resolver Z usando los angulos Horizontal y Vertical<br>> <br>> Hola Pedro,<br>> <br>> Pedro Rodríguez González wrote:<br>> > Q tal chicos, no se cómo andarán de matemáticas, pero yo <br>> > fatal... Ruborizado <br>> > <br>> > No consigo dar con la posición Z para un vector 3D... <br>> > <br>> > *Código:*<br>> > ... <br>> > ... <br>> >       // obtenemos el angulo en radianes <br>> >       anguloH=atan2(vista.z-pos.z,vista.x -pos.x); <br>> >       anguloV=atan2(vista.z-pos.z,vista.y -pos.y); <br>> >        <br>> >       p.x=radio*cos(anguloH); <br>> >       p.y=radio*cos(anguloV); <br>> >       // Que pueo hacer X o Y <br>> >       //p.z=sin(anguloH); // funciona pero solo en horizontal <br>> >       //p.z=sin(anguloV); // funciona pero solo en vertical <br>> > ... <br>> > ...<br>> > <br>> > <br>> > <br>> > gracias a todo aquel que me aporte una solución sencilla...<br>> > <br>> <br>> Según estoy viendo, quieres crear un vector, p, para que vaya de 'pos' a <br>> 'vista'. Si esto es así, no necesitas hacer todo esto. Simplemente, crea <br>> el vector a partir de dos puntos; esto es,<br>> <br>> p = vista - pos<br>> <br>> Por componentes, esto es equivalente a:<br>> <br>> p.x = vista.x - pos.x<br>> p.y = vista.y - pos.y<br>> p.z = vista.z - pos.z<br>> <br>> Si quieres que la magnitud (o longitud) del vector, p, sea igual a <br>> 'radio', entonces se tratará de una especie de "normalización". Esto es,<br>> <br>> p = (radio / ||p||) * p,<br>> <br>> donde ||p|| = magnitud del vector p, que se calcula así:<br>> ||p|| = radical( (p.x)^2 + (p.y)^2 + (p.z)^2 )<br>> <br>> Ahora p tendrá de magnitud 'radio'.<br>> <br>> <br>> Espero que esto te oriente.<br>> <br>> Steven<br>> <br>> <br>> _______________________________________________<br>> Lista de correo Cconclase Cconclase@listas.conclase.net<br>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<br>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ<br></div><br /><hr />Get news, entertainment and everything you care about at Live.com. <a href='http://www.live.com/getstarted.aspx ' target='_new'>Check it out!</a></body>
</html>