23 lines
477 B
JavaScript
23 lines
477 B
JavaScript
export const cart2polar = ({x, y}) => {
|
|
const r = Math.sqrt(x*x + y*y);
|
|
const θ = Math.atan(y/x);
|
|
return {r, θ};
|
|
};
|
|
|
|
export const polar2cart = ({r, θ}) => {
|
|
const x = r * Math.cos(θ);
|
|
const y = r * Math.sin(θ);
|
|
return {x, y};
|
|
}
|
|
|
|
export const translate = dx => dy => ({x, y}) => {
|
|
return {left: x+dx, right: y+dy};
|
|
}
|
|
|
|
export const rotate = dθ => ({r, θ}) => {
|
|
return {r, θ: θ+dθ};
|
|
}
|
|
|
|
export const scale = dr => ({r, θ}) => {
|
|
return {r: r+dr, θ};
|
|
}
|