* Improve docs around PI Signed-off-by: Nick Cameron <nrc@ncameron.org> * Refactor and polish type error messages Signed-off-by: Nick Cameron <nrc@ncameron.org> * Add suggestion to fix unknown numbers error Signed-off-by: Nick Cameron <nrc@ncameron.org> * Don't warn so often about unknown units Signed-off-by: Nick Cameron <nrc@ncameron.org> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org>
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).
It is better to use units::toRadians or units::toDegrees to convert between angles with
different units where possible.
Examples
circumference = 70
exampleSketch = startSketchOn(XZ)
|> circle(center = [0, 0], radius = (circumference / (2 * PI)): number(mm))
example = extrude(exampleSketch, length = 5)