---
category: '@Math'
related: useProjection, createGenericProjection
---

# createProjection

Reactive numeric projection from one domain to another.

## Usage

```ts
import { createProjection } from '@vueuse/math';

const useProjector = createProjection([0, 10], [0, 100]);
const input = ref(0);
const projected = useProjector(input); // projected.value === 0

input.value = 5; // projected.value === 50
input.value = 10; // projected.value === 100
```

## Type Declarations

```ts
export declare function createProjection(
  fromDomain: MaybeRefOrGetter<readonly [number, number]>,
  toDomain: MaybeRefOrGetter<readonly [number, number]>,
  projector?: ProjectorFunction<number, number>,
): UseProjection<number, number>;
```
