I am trying to manually focus the camera on Lumia 520. Though I can focus between a range, I am unable to figure out what that translates in cm/mm. Is there a way to figure that out? Is calibration using measurement of distances the only method?
Related
I am working on a project and need to find velocity and displacement in a single direction (that direction being straight up and down). I am using my Apple Watch and retrieving all of the Core Motion data from this. I understand that there is drift when integrating the acceleration which can create highly inaccurate displacements. Although through my research, I have read that if you constrain the motion to just one direction you can get better results.
If I would like to find velocity and displacement in only one direction will that truly give me better results? If so, how is this constraining actually done mathematically?
All the work I have done so far is to find the resultant direction of the acceleration from userAcceleration and while looking into the best way to integrate came across this displacement drift issue and wanted to find a path forward.
First time asking a question on the stack exchange, hopefully this is the right place.
I can't seem to develop a close enough approximation algorithm for my situation as I'm not exactly the best in terms of 3D math.
I have a 3d environment in which I can access the position and rotation of any object, including my camera, as well as run trace lines from any two points to get distances between a point and a point of collision. I also have my camera's field of view. I do not have any form of access to the world/view/projection matrices however.
I also have a collection of 2d images that are basically a set of screenshots of the 3d environment from the camera, each collection is from the same point and angle and the average set is taken at about an average of a 60 degree angle down from the horizon.
I have been able to get to the point of using "registration point entities" that can be placed in the 3d world that represent the corners of the 2d image, and then when a point is picked on the 2d image it is read as a coordinate with range 0-1, which is then interpolated between the 3d positions of the registration points. This seems to work well, but only if the image is a perfect top down angle. When the camera is tilted and another dimension of perspective is introduced, the results become more grossly inaccurate as there no compensation for this perspective.
I don't need to be able to calculate the height of a point, say a window on a sky scraper, but at least the coordinate at the base of the image plane, or which if I extend a line out from my image from a specified image space point I need at least the point that the line will intersect with the ground if there was nothing in the way.
All of the material I found about this says to just deproject the point using the world/view/projection matrices, which I find straightforward in itself except I don't have access to these matrices, just data I can collect at screenshot time and other algorithms use complex maths I simply don't grasp yet.
One end goal of this would be able to place markers in the 3d environment where a user clicks in the image, while not being able to run a simple deprojection from the user's view.
Any help would be appreciated, thanks.
Edit: Herp derp, while my implementation for doing so is a bit odd due to the limitations of my situation, the solution essentially boiled down to ananthonline's answer about simply recalculating the view/projection matrices.
Between position, rotation and FOV of the camera, could you not calculate the View/Projection matrices of the camera (songho.ca/opengl/gl_projectionmatrix.html) - thus allowing you to unproject known 3D points?
I have a spinning sphere, built using the away3D engine, it is wrapped in a bitmap. I need to be able to check the color value of the pixels in the sphere, however BitmapData only plots the 2D image, not the 3D sphere. So, the values become wrong. If I try to apply it to the sphere I get nasty errors. I have literally been stuck on this for days. How can I do this?
Any help is greatly appreciated.
Try View3D.renderer.queueSnapshot()
But if you pull whole scene snapshot from GPU each frame it will kill performance. So if you need only one pixel you better query it perpixel. And if you need this to do some 2D graphics or user interface you better use Starling because it is GPU side framework so you wont need to pull data back to CPU. Here is integration tutorial.
We are doing some tests with HTML 5 geolocation and our code already works really well on Android and iPhone browsers: we get a continuous update of our precise position on Google maps. You can check our code here: http://93.113.255.166/testHTML5.htm
We also want to make this code work on a Blackberry device, the 9780 Bold with Blackberry 6.0 O.S., but it doesn't work as we would like. The position you get is a rough one, probably calculated through cell triangulation, and there is no precise position displayed. The position is most of the time some 300-400m wrong.
It's clear that the GPS positioning of the phone isn't used, because when you try the native Blackberry positioning apps, you get a very precise position.
We also use the enableHighAccuracy: true attribute in the code: this helps for the iPhone and Android browsers, but not for Blackberry browsers.
So it seems that we are unable to force the device to use the GPS. Is there anybody who could help us? Thanks!
Kristof
I don't know if this can help, but I have a problem using geolocation with Blackberry os6 using 3G; it works as designed (cell triangle if GPS hasn't fix) using GPRS, 3G with WiFi, GPRS with WiFi, but NOT using 3G alone.
My carrier is Vodafone Italy, but I read other people using os6 have the same problem. Obviously it works when GPS has fixed.
Reading around it seems it is a carrier problem, not a BB firmware problem, but I haven't any way to test roaming at the moment.
Looking at the BB log it seems it switches from BIS to wap when asking position, but then it is not able to reconnect BIS like os5 does (try with Google Maps on BB).
I have exactly the same problem. No matter if I set enablehighaccuracy to true of false, the phone always gives rough location. But GPS tool gives accuracy results.
A temporary way to solve this is to disable cell connection for couple of minutes. Then test your site again. If it can get accurate location, you can turn cell connection back on and the location will always be accurate till next reboot.
I have a set of coordinates data from 3rd party provider. However when I plot those coordinates on google maps with annotations, the annotated points are not exactly on the position they should be. For example, some points should be placed on the road, however they are placed slightly off the road.
My question is, how to solve this kind of discrepancy?
Thanks!
Coordinates (lat and long), by themselves, do not describe a position on the Earth. You need a third piece of information, called the datum. The datum for google maps is WGS84. The datum establishes such things as where 0,0 is on the Earth's surface.
If you've received coordinates, and those coordinates are based on a different datum, then they will not plot correctly on Google Maps.
On the other hand, if the points came from any kind of mobile device (even if it is using WGS84), there are inherent inaccuracies in such measurements (thankfully generally down to < 5m for GPS these days, I believe) that mean that they will not align 100%.