×

Systems and methods for positioning a virtual camera

  • US 10,489,965 B1
  • Filed: 03/23/2018
  • Issued: 11/26/2019
  • Est. Priority Date: 03/24/2017
  • Status: Active Grant
First Claim
Patent Images

1. A method for positioning and orienting a virtual camera relative to an electronic map, the method comprising:

  • determining a set of target objects within the electronic map based on user selections received from a user device, the set comprising at least one target object, each target object having at least one point;

    determining a desired orientation of the virtual camera;

    generating a point cloud collection containing each point of the set of target objects;

    generating a rotation matrix by comparing a current orientation of the virtual camera and the desired orientation of the virtual camera;

    generating an oriented point cloud by applying the rotation matrix to each point of the point cloud collection;

    generating a three-dimensional bounding shape containing each point of the oriented point cloud;

    calculating a desired position and orientation for the virtual camera based on a field of view of the virtual camera and the three-dimensional bounding shape; and

    providing the electronic map to the user device for display, the electronic map comprising a view from the virtual camera at the desired position and orientation;

    wherein the field of view of the virtual camera comprising a total width along an x-axis and a total height along a y-axis;

    the desired position and orientation comprising an x-coordinate value along the x-axis, a y-coordinate value along the y-axis, and a z-coordinate value along a z-axis; and

    calculating the desired position and orientation for the virtual camera based on the field of view of the virtual camera and the three-dimensional bounding shape comprises;

    determining a gross width and a relative width of the oriented point cloud, the gross width comprising a greatest distance between any two points of the oriented point cloud along the x-axis, the relative width comprising the gross width of the oriented point cloud as a proportion of the total width of the field of view of the virtual camera;

    determining a gross height and a relative height of the oriented point cloud, the gross height comprising a greatest distance between any two points of the oriented point cloud along the y-axis, the relative height comprising the gross height of the oriented point cloud as a proportion of the total height of the field of view of the virtual camera;

    if the relative width of the oriented point cloud is greater than the relative height of the oriented point cloud, identifying the x-axis as a constraining axis and the y-axis as a non-constraining axis;

    if the relative width of the oriented point cloud is not greater than the relative height of the oriented point cloud, identifying the y-axis as the constraining axis and the x-axis as the non-constraining axis; and

    determining the z-coordinate value based on the constraining axis.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×