* Document the units of PI Signed-off-by: Nick Cameron <nrc@ncameron.org> * Add links between lang and std references Signed-off-by: Nick Cameron <nrc@ncameron.org> * Change signature of conversion functions Signed-off-by: Nick Cameron <nrc@ncameron.org> * Split foreign imports out of modules docs Signed-off-by: Nick Cameron <nrc@ncameron.org> * More docs for Plane Signed-off-by: Nick Cameron <nrc@ncameron.org> * Update docs/kcl-std/consts/std-math-PI.md Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * Update rust/kcl-lib/std/math.kcl Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
107 KiB
107 KiB
title, subtitle, excerpt, layout
| title | subtitle | excerpt | layout |
|---|---|---|---|
| PI | Constant in std::math | The value of `pi`, Archimedes’ constant (π). | manual |
The value of pi, Archimedes’ constant (π).
PI: number(_?) = 3.14159265358979323846264338327950288_?
PI is a number and is technically a ratio, so you might expect it to have type number(_).
However, PI is nearly always used for converting between different units - usually degrees to or
from radians. Therefore, PI is treated a bit specially by KCL and always has unknown units. This
means that if you use PI, you will need to give KCL some extra information about the units of numbers.
Usually you should use type ascription on the result of calculations, e.g., (2 * PI): number(rad).
You might prefer to use units::toRadians or units::toDegrees to convert between angles with
different units.
Examples
circumference = 70
exampleSketch = startSketchOn(XZ)
|> circle(center = [0, 0], radius = (circumference / (2 * PI)): number(mm))
example = extrude(exampleSketch, length = 5)