Let's Look at VR/AR
Published: 2024-02-26 13:57:23


##Introduction
In today's society, useful technology is introduced and innovated frequently to improve the general well-being of others. A relatively new technology involving the manipulation of one's perception of their surroundings has been rapidly increasing in popularity. The technology in question is augmented reality (AR) and virtual reality (VR). With both augmented and virtual reality designed to manipulate the user's view to varying degrees, the capabilities are near limitless.

##What is Virtual Reality?
Virtual reality, commonly referred to as 'VR', is a type of immersive experience technology designed to completely overtake your sense of vision to give off the impression of being present within a virtual environment. VR uses head-tracking mechanics to allow for the user's real-time head motion to be mapped and reflected in the digital landscape. This paired with the wireless controllers that usually are a part of the hardware grants the user the ability to simulate moving and interacting with the world. Virtual reality's popularity mainly stems from this ability to seemingly enter new locations and possibly assume new identities that would be possible by no other means otherwise. 


![Beat Saber](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rap68jsh4y9wh1i0b5ks.jpeg)

Examples:

- Games - Players can play as the character directly instead of controlling one
  * More immersive experience
  * Oculus Rift
  * Minecraft Virtual Reality, Superhot, Beat Saber

- Tourism - Tourists can see what it's like to be at certain landmarks without leaving the comfort of their home
  * Boosts tourism

##Syntax Intro (VR)
#####Below is a very simple example of how the movement of a turtle character may be mapped in a VR environment. The environment being displayed to the user has access to three dimensions that can be directly targeted with the use of coordinates.
```
#include <iostream>

class Turtle {
private:
    float positionX;
    float positionY;
    float positionZ;

public:
    Turtle(float startX, float startY, float startZ) {
        positionX = startX;
        positionY = startY;
        positionZ = startZ;
    }

    void moveForward(float distance) {
        // Move the turtle forward along its current orientation
        positionX += distance * sin(orientation);
        positionZ += distance * cos(orientation);
    }

    void rotate(float angle) {
        // Rotate the turtle by the given angle
        orientation += angle;
    }

    void displayPosition() {
        // Display the current position of the turtle
        std::cout << "Turtle's current position: (" << positionX << ", " << positionY << ", " << positionZ << ")" << std::endl;
    }
};

int main() {
    // Create a turtle named Moono starting at position (0, 0, 0)
    Turtle Moono(0, 0, 0);

    // Move Moono forward by 22 units
    Moono.moveForward(22);

    // Rotate Moono by 68 degrees
    Moono.rotate(68);

    // Display Moono's final position
    Moono.displayPosition();

    return 0;
}

```


##What is Augmented Reality?
Augmented Reality, AR, may appear to be the same as Virtual Reality to some, but there are key differences that set them apart. Unlike VR, AR allows for the true environment of the user to be seen as well as digital overlays. This combination of technology and reality is truly innovative because it returns the view of one's surroundings to the wearer of the AR headset. Because of these additional features that set AR and VR apart, augmented reality headsets usually sell for noticeably higher prices when compared to their technological predecessor (i.e. Apple's Vision Pro). The top four most common languages used in AR/VR programming are C, C++, Java, and JavaScript.


![Augmented Reality Car Repair](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b1698ezbma90ll29u980.png)



Examples:

- Maintenance and Repairs - Users are allowed to receive live support or use research materials while being able to see everything they are doing in the process
  * Having a car repair video playing directly next to your engine bay for convenience and ease\

- Training - On-job training can be performed while employees work their shift
  * Training video relevant to the designated task will better assist the new employee 

* Pokemon GO


##Conclusion
In conclusion, the introduction of reality altering technologies has allowed for an entire new world of possibilities. No matter the use, there is always a new and creative way to assist the average person in their tasks no matter the occupation or hobby. Whether it be using VR to relax on a beach after a long day of work or using AR to have an internet browser in reach and present at all times, there is an interactive experience that anyone can benefit from.