So, I need some help getting the % the new sphere is in relation to
the "optimal" sphere which then zooms to 100px away.

can u help me figure out the math for that? i been out of highschool
for 12 years and havent a clue..

I have a sphere whos radius = x

i have an old sphere whos radius = 100

what % is the old sphere of the new one?

On May 20, 3:46 pm, Fabrice3D <[email protected]> wrote:
> Another option would be to multply the boundingRadius of the new Sphere by a 
> factor
> that gives you a distance always in scale of the sphere.
>
> like camera.distance = myNewSphere.boundingRadius * 1.8;
>
> Fabrice
>
> On May 21, 2010, at 12:14 AM, dyc wrote:
>
>
>
> > Im trying to wrap my head around this and it almost makes sense...can
> > you ellaborate a little?
>
> > m, Fabrice3D <[email protected]> wrote:
> >> Why not define a scale factor...
> >> i mean say you make a test and define that a distance from a sphere "a" is 
> >> nice.
> >> Then multiply the distance to center by the factor diff of the new sphere 
> >> and your original sphere "a". no?
>
> >> Fabrice
>
> >> On May 19, 2010, at 9:18 PM, dyc wrote:
>
> >>> Hey guys! I have a pretty complex problem, but Im sure itll be easy
> >>> for some of you!
>
> >>> Anyways, I have this globe that you can click on the surface, and it
> >>> places another sphere where u clicked, based on how far you dragged
> >>> after clicking...that becomes the radius of the new smaller sphere.
>
> >>> I am zooming the camera into the sphere, but it is always a different
> >>> size when u get zoomed up to it, because the radius is independent of
> >>> the zooming script. What I need help on, is a way to inorporate the
> >>> RADIUS of the new sphere into the zooming math, so that I can control
> >>> how large the new sphere should be each time...I just want the sphere
> >>> to be the same size every time they place a sphere and it zooms, no
> >>> matter what the radius of the sphere is...
>
> >>> see what I mean?
>
> >>> Thanks so much!!
>
> >>> here is the code so far:
>
> >>> // New idea use bigger radius with lon/lat data
> >>>                    var phi:Number = (90 - _currentLat) * Math.PI / 180;
> >>>                    var theta:Number = (_currentLon) * Math.PI / 180;
> >>>    // THIS NEXT LINE IS WHERE IM TRYING TO DO THE NEW
> >>> CURRENTSELECTEDRADIUS incporporation
> >>>                    /*// EARTHRADIUS + ZOOM_DISTANCE_FROM_SURFACE is the 
> >>> distance from
> >>> the planet to do
> >>>                    // NEW WAY this is where the camera zooms to - 
> >>> integrating with
> >>> currentSelectedRadius of sphere.
> >>>                    var cameraZoomX:Number = ((EARTHRADIUS +
> >>> ZOOM_DISTANCE_FROM_SURFACE) * Math.sin(phi) * Math.cos(theta)) /
> >>> currentSelectedRadius;
> >>>                    var cameraZoomZ:Number = ((EARTHRADIUS +
> >>> ZOOM_DISTANCE_FROM_SURFACE) * Math.sin(phi) * Math.sin(theta)) /
> >>> currentSelectedRadius;
> >>>                    var cameraZoomY:Number = ((EARTHRADIUS +
> >>> ZOOM_DISTANCE_FROM_SURFACE) * Math.cos(phi)) /
> >>> currentSelectedRadius;*/
>
> >>>                    // OLD WAY
> >>>                    var cameraZoomX:Number = (EARTHRADIUS + 
> >>> ZOOM_DISTANCE_FROM_SURFACE)
> >>> * Math.sin(phi) * Math.cos(theta);
> >>>                    var cameraZoomZ:Number = (EARTHRADIUS + 
> >>> ZOOM_DISTANCE_FROM_SURFACE)
> >>> * Math.sin(phi) * Math.sin(theta);
> >>>                    var cameraZoomY:Number = (EARTHRADIUS + 
> >>> ZOOM_DISTANCE_FROM_SURFACE)
> >>> * Math.cos(phi);
>
> >>>                    var tagX:Number = (EARTHRADIUS + 
> >>> ZOOM_DISTANCE_FROM_SURFACE + 500)
> >>> * Math.sin(phi) * Math.cos(theta);
> >>>                    var tagZ:Number = (EARTHRADIUS + 
> >>> ZOOM_DISTANCE_FROM_SURFACE + 500)
> >>> * Math.sin(phi) * Math.sin(theta);
> >>>                    var tagY:Number = (EARTHRADIUS + 
> >>> ZOOM_DISTANCE_FROM_SURFACE + 500)
> >>> * Math.cos(phi);
>
> >>>                    TweenLite.to(zoomCamera, 3, { x: cameraZoomX, y: 
> >>> cameraZoomY, z:
> >>> cameraZoomZ, ease:Expo.easeOut} );

Reply via email to