> For the complete documentation index, see [llms.txt](https://albertlidesign.gitbook.io/vr-beso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://albertlidesign.gitbook.io/vr-beso/tutorial/vr-system.md).

# VR system

## Introduction

<div data-full-width="false"><figure><img src="/files/wVn5NCxg09FrueWZ6Ibc" alt="" width="563"><figcaption><p>Fig. 1. The user interface of VR-BESO: (a) the virtual space; (b) the real space</p></figcaption></figure></div>

The VR system provides an immersive virtual environment and basic interactive operations. Figure 1(a) shows that the design scene of the VR-BESO software is a dark virtual space. The user can enter this space and observe virtual objects by wearing a VR headset. The interaction between the virtual space and the real world is implemented by two controllers. Figure 2 shows the structure of the two controllers. Users can operate two real controllers to control the corresponding virtual controllers, as shown in Figure 1(b). The virtual controllers emit two interactive rays to collide with virtual objects or floating panels. After pressing the buttons on the controllers, the collided objects or panels can perform the corresponding actions, such as selecting, clicking, and dragging.

<figure><img src="/files/fzyMiJ0OUwswpBJUlrtR" alt=""><figcaption><p>Fig 2. The structure of two hand-controllers</p></figcaption></figure>

## Basic operations

In VR-BESO, the interaction behaviors can be conducted by manipulating controllers and accessing floating panels. The former can perform basic geometric transformations on virtual objects, such as moving, rotating, and scaling (see Figure 3). The latter allows users to execute design exploration and optimization. There are three different floating panels: ‘[Modeling](/vr-beso/gui/modeling-page.md)’, ‘[Parameters](/vr-beso/gui/parameters-page.md)’, and ‘[Optimization](/vr-beso/gui/optimization-page.md)’. Users can switch the panels by pushing the thumbstick on the left-hand controller.

### Basic transformation operations

In VR-BESO, users can perform geometric transformations on selected objects by pressing specific buttons and pulling the two handles. For instance, a virtual object can be selected by holding down the left index trigger and pushing the thumbstick, as shown in Fig. 3. Then, users can move the object by holding down two index triggers and pulling the right controller. Together, the VR system completely immerses the user inside the computer-generated world, allowing them to intuitively observe and interact with virtual objects.

<figure><img src="/files/0qf0KYksGNRMi9mfOhXY" alt=""><figcaption><p>Fig. 3. Basic transformation operations in VR-BESO</p></figcaption></figure>

### Floating panels

The left controller can call a floating panel that includes intractable buttons and sliders. When the right controller is close to the floating panel, a white ray emanates from the controller and hits the floating panel. Pressing the index trigger on the right controller can interact with these buttons or sliders. Furthermore, users can switch the pages of the floating panel by pushing the thumbstick on the left controller.

The detailed features of the three pages are described as follows:

· ‘[Modeling](/vr-beso/gui/modeling-page.md)’ page: It involves the VR sculpting tools and input/output (I/O) functions, allowing users to draw, erase, import, and export 3D models.

· ‘[Parameters](/vr-beso/gui/parameters-page.md)’ page: It enables users to adjust the optimization parameters, including the filter radius, volume fraction, evolutionary rate, element size, and subjective design parameter.

· ‘[Optimization](/vr-beso/gui/optimization-page.md)’ page: It includes 15 buttons to set and control the modified topology optimization program, such as running optimization, resetting optimization, and defining loading and boundary conditions.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://albertlidesign.gitbook.io/vr-beso/tutorial/vr-system.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
