# Advanced Optics (Ray Trace)

Imaging design philosophy is quite different than existing competitors' software:

* Imaging mode in KostaCLOUD is design with a **non-sequential** approach to **Imaging**, where any optic can come in any order.

  * Elements in the Workspace can simply be dragged around. But to maintain compatibility with the standard Lens Design methodology data can be viewed and specified in the familiar, iconic "**Table View**"

    <figure><img src="/files/9ity9SatczpDZkJX5cv3" alt=""><figcaption><p>Table View</p></figcaption></figure>
  * Elements can be dragged and rotated with the Odometry widget which appears when clicking on an element, as shown below:<br>

  <figure><img src="/files/ASB6xqeV1VErKFIJaqjC" alt=""><figcaption><p>Lens with Odometry Widget</p></figcaption></figure>
* A **first** optic and **last** optic **must** be specified. And in the current Beta release a **stop** must be specified. **All rays are** "**real-ray aimed**" unlike competing software. From here KostaCLOUD sequentializes your system. **Limitations** currently include:
  * Chief Ray must not be blocked on the solve side.\
    \
    If specifying a telescope such as a Newtonian, make the **first optic** the **stop** specified in **Object Space**. Or alternatively make an optic on the the side where there is **no obstruction** to be the **stop** and specify in **Image Space**. This **problem** arises out of solving the **real ray-aiming** problem, and such a ray does not exist.
  * The First Element and Last Element must not be tilted, even with a mirror.\
    \
    This limitation is currently out due to the fact that KostaCLOUD is assuming the **Optical Axis** to be **inline** **with** the **Mechanical Axis** of the optic. In the future this limitation will be removed. **To avoid** this problem, **add** a **dummy optic** as the first optic or last optic.
* &#x20;Imaging mode allows for Ray-Splitting.
  * First Order Calculations do not inherit Ray-Splitting other than in the case where "Limit Splits" is specified.
  * This allows for [**Stray Light Analysis**](/kostacloud/advanced-optics-ray-trace/stray-light-analysis.md).
* Imaging mode allows for structured transverse material (**meta-material**, **gratings**, etc.) and **uniform dielectric material stack** coupled Tracing.
  * KostaCLOUD calculates the response for meta-cells using [**Rigorous Coupled Wave Analysis**](broken://pages/l8BT0LGBszWbNHQ8F3cG) **(RCWA)**.
  * KostaCLOUD calculates the response for basic [**gratings**](/kostacloud/advanced-optics-ray-trace/gratings-kinoforms-and-phase-masks.md) such as [**Blazed Gratings**](/kostacloud/advanced-optics-ray-trace/gratings-kinoforms-and-phase-masks.md), [**Holographic Optical Elements**](/kostacloud/advanced-optics-ray-trace/gratings-kinoforms-and-phase-masks.md) (HOEs) and more using Muller Calculus.
  * KostaCLOUD calculates the response for uniform dielectric stacks using Muller Calculus.
* Imaging mode allows for custom equation driven [**Gradient Index**](/kostacloud/advanced-optics-ray-trace/gradient-index-optics-grin.md) **(GRIN)** optics.
  * The tracing of such GRIN volumes is solved using **semi-symplectic** ODE **solvers** with adaptive stepping techniques. Which allows the solver to take larger steps where it can without drastically impacting the ray trajectory.
* Imaging mode also supports [**Surface Scattering**](/kostacloud/advanced-optics-ray-trace/surface-scattering.md) and **Volumetric Scattering**.&#x20;


---

# Agent Instructions: 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:

```
GET https://docs.kostacloud.com/kostacloud/advanced-optics-ray-trace.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
