Transforming Mathematics with Three.js

My math skills aren't the best, and I'm finding this to be a challenge.

I have managed to convert latitude and longitude into a target:

    lat = Math.max(-85, Math.min(85, lat));
    phi = THREE.Math.degToRad(90 - lat);
    theta = THREE.Math.degToRad(lon);

    target.x = 512 * Math.sin(phi) * Math.cos(theta);
    target.y = 512 * Math.cos(phi);
    target.z = 512 * Math.sin(phi) * Math.sin(theta);

Could someone guide me on how I can reverse this process, specifically converting a Vector back into latitude and longitude?

Answer №1

This is a sample of what could be done

let latitude = Math.atan2( Math.sqrt( destination.x*destination.x + destination.z*destination.z) , destination.y) ;
let longitude = Math.atan2( destination.x, destination.y);

Recommendation:

Refer to Wikipedia for detailed explanations on these functions; I guarantee the diagrams will clarify everything.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Challenge with the submission event listener

I am struggling to create my first event listener for the submit button that should respond to both a click and an enter key press. Currently, it is not working for either event, and I am unsure why. I do not intend to send any data to another page; I simp ...

In Angular JS pagination, the previous filter value is stored in $LocalStorage for future reference

One view displays all order records in a tabular format with 10 records per page. A filter is set to show only paid orders, which pops up filtered data when selected. An issue arises when closing the pop-up window and navigating to the next page of the t ...

Utilize filters to apply a class to an element only if its index exists within

Is it possible to add a CSS class in AngularJs based on the row index's presence in an integer array ( $scope.AssociateCandidatesIndex) using filters? Any suggestions on how to accomplish this? <tr ng-show="true" class="{{ $index}}"> < ...

Ways to embed an external Angular application within a div element?

Is it possible for me to develop a calendar web app that functions as a widget for clients to easily integrate into their websites within a designated div container? Any suggestions on how I can make this happen? Do you think Angular would be a good frame ...

Angular unable to send object to HTML page

Struggling with learning angular, encountering new challenges when working with objects in different components. In two separate instances, try to implement two different mechanisms (microservice or service component serving an object directly). This speci ...

Effective technique for connecting client-side JavaScript with server-side node.js

I am striving to create a compact website featuring field auto-completion, drawing suggestions from the server's database (utilizing Node.js + MySQL). What approaches can I take to establish client-server communication as the user inputs data into a ...

Output JSON data to an HTML5 table

Here is a code snippet to retrieve data: function fetchInformation(){ $.get('http://mywebsite.net/getFile.php', function(data) { var result = JSON.parse(data); } The returned JSON data is as follows: Object {0: "11", 1: ...

The specified type `Observable<Pet>&Observable<HttpResponse<Pet>>&Observable<HttpEvent<Pet>>` is not compatible with `Observable<HttpResponse<Pet>>`

I'm currently attempting to integrate the Angular code generated by openapi-generator with the JHipster CRUD views. While working on customizing them for the Pet entity, I encountered the following error: "Argument of type 'Observable & ...

Passing error messages from a grandchild component to a grandparent component in React

Is there a way to pass a message from a fetch call in a grand-child component to a grand-parent component? While the concept of lifting state, as explained in the React documentation, is commonly used for scenarios where a user interacts with a button, ot ...

ReactJS and JavaScript offer a convenient solution for extracting the most recent date from an array of date fields during the selection process

I have a table in ReactJS that displays an array of items. Each item has the following fields: id, requested_date, and location Additionally, there is another field called "date" which is located outside of the array. This "date" should always display th ...

Middleware that handles form post requests quickly became overwhelmed and resulted in a RangeError

Currently, I am working with a form using ejs templates to collect data. When accessing the "/" route, my application renders the "main" view and utilizes a middleware to handle the form data. However, I encountered an error stating "RangeError: Maximum ca ...

Utilize a separate function within the ngOnInit() lifecycle hook

Currently, I am developing a mapping application using OpenLayers (4.6.5) within Angular (6). In order to execute requests and retrieve GeoJSON files, I am utilizing a French API made available by the French government. Previously, I successfully implemen ...

Animating meshes in Three.js with texture mapping

After conducting some research, I successfully exported an obj file to a .js file that can be imported by the JSON model of Three.js. However, I am now faced with the challenge of animating this model. Specifically, I have a bird model in .js format that I ...

Struggling to pass a method header to event handling in React markup

Within my render() method, I have a component with event handling capabilities. render() { ... <input type="text" onChange={(_) => { this.renew("email", _.target.value); }} /> } private renew(type: string, input: any) { ... if (typ ...

Remove the image by clicking on the "X" icon located on the top right corner of the image

One of my tasks involves deleting an image by clicking on the "X" mark located at the top right corner of the image. To achieve this, I referred to this CSS fiddle http://jsfiddle.net/yHNEv/. Sample HTML code: <div class="img-wrap"> <span ng-c ...

Launching another browser tab quietly

My goal is to open a new tab in the background, similar to how it works on vouchercodes where you click a link and return to the previous tab. I have read that this may not be possible with Javascript, but I am using JQuery mobile. Here's what I&apos ...

Tips on retrieving a specified string from within an array of strings

I need help extracting the inner string from this array within a string: '["sgrdalal21"]' Can someone provide guidance on how to accomplish this? ...

"Combining Three.js light sources with object3d transformations and tweens

I'm facing a challenge in my efforts to illuminate an object, make it move smoothly towards the camera, and have the light track its movement. Essentially, I want to create a darkened background with a 3D object moving towards the camera, while havin ...

How can we capture the current row's value for later retrieval?

Using datatables to display data from a mySQL database, I am looking to extract the current row's value and present it in a modal for editing. This is how the data is integrated into Datatable: $(document).ready(function() { $(' ...

InternJs: Command Line Tips for Setting the Base Path

Specifics: The structure of my directories is organized as follows. myapp root-one -web -app -tests root-two -grunt node_modules .bin intern-runner selenium-sta ...