Total circles area: Difference between revisions

Content added Content deleted
(→‎{{header|Uiua}}: improved algorithm)
Line 3,803:
[0.0152957411 0.0638919221 0.9771215985]]
 
# Scale total range to (0-Dim,0-Dim), save MaxXorY for later.
MinY ← /↧≡(¯/-↘1) Cs
MinX ← /↧≡(/-↘1↻1) Cs
# Normalise minimal X, Y values to 0
Ncs ← ≡⍜(⊡0|-MinX)≡⍜(⊡1|-MinY)Cs
# Scale total range to (0-Dim,0-Dim), save for later.
Dim ← 500
ScaleMinXY ← /↥♭≡↧≡(+-⊃(⊢|↘1)↻¯1) NcsCs
Zcs ← ≡(⬚0-MinXY) Cs
Scs ← ⁅×Dim÷: Ncs Scale
MaxXorY ← /↥/↥≡(+⊃(⊢|↘1)↻¯1) Zcs
Scs ← ⁅×Dim÷: NcsMaxXorY ScaleZcs
# For each r generate a 2r.2r grid and set cells that are within circle.
InCircle ← <ⁿ2⟜(⊞(/+≡ⁿ2⊟).+⇡⊃(×2|¯))
Line 3,819 ⟶ 3,817:
 
&p &pf "Runtime (s): "
×ⁿ2 ÷Dim ScaleMaxXorY (⧻⊚≠0) ♭.
&p &pf "*Very* approximate area: "