Initial commit
This commit is contained in:
commit
78f8d225ee
21173 changed files with 2907774 additions and 0 deletions
39
app/laser-toolkit/_lib/conversions.ts
Normal file
39
app/laser-toolkit/_lib/conversions.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
// /var/www/makearmy.io/app/app/laser-toolkit/_lib/conversions.ts
|
||||
|
||||
// ---------- DPI / LPI / DPCM ----------
|
||||
export function dpiToLpi(dpi: number) {
|
||||
return dpi; // 1:1 if treating “lines” as rows in raster (common convention)
|
||||
}
|
||||
export function dpiToDpcm(dpi: number) {
|
||||
return dpi / 2.54;
|
||||
}
|
||||
export function lpiToDpi(lpi: number) {
|
||||
return lpi; // same note as above
|
||||
}
|
||||
export function lpiToDpcm(lpi: number) {
|
||||
return lpi / 2.54;
|
||||
}
|
||||
export function dpcmToDpi(dpcm: number) {
|
||||
return dpcm * 2.54;
|
||||
}
|
||||
export function dpcmToLpi(dpcm: number) {
|
||||
return dpcm * 2.54;
|
||||
}
|
||||
|
||||
// ---------- Power & Lens Scaler ----------
|
||||
// Simple “keep energy density roughly constant” heuristic:
|
||||
// newSpeed ≈ oldSpeed * (toPower / fromPower) * (fromField / toField)
|
||||
export function scaleSpeed(
|
||||
oldSpeed_mm_s: number,
|
||||
fromPower_W: number,
|
||||
toPower_W: number,
|
||||
fromField_mm: number,
|
||||
toField_mm: number
|
||||
) {
|
||||
if (fromPower_W <= 0 || toPower_W <= 0 || fromField_mm <= 0 || toField_mm <= 0) {
|
||||
return oldSpeed_mm_s;
|
||||
}
|
||||
const k = (toPower_W / fromPower_W) * (fromField_mm / toField_mm);
|
||||
return oldSpeed_mm_s * k;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue