Discrete counting and geometric rules

VectorPaint one-step Koch paths: separate a 300-unit chord from a 400-unit route

Replace a line with four equal segments, checking open endpoints, angles and finite length without claiming an infinite snowflake.

English translation of the Chinese original, translated on . Original publication dates, attribution, code and version notes are retained.

Construct one Koch replacement of one line, not a closed snowflake. Replace the middle third with two equal sloping segments while retaining endpoints, then distinguish endpoint distance from travelled path length. Work manually in VectorPaint without a fractal generator or deductions about every infinite-curve property.

Retain the 300-unit baseline and thirds

Use A(100,400) and E(400,400), a 300-unit baseline, with third-points B(200,400) and D(300,400). Preserve the pale reference and verify AB, BD and DE each equal 100. These are drawing units, not centimetres. Approximate dragging is not exact spacing. Keep titles outside and text anchors separate from points. With approximate controls retain theoretical coordinates separately from actual paths. Save the baseline in its own group so endpoints remain recoverable after replacement. Cambridge NRICH’s Koch material supplies replacement context. This task uses one finite step on one open side, without adopting conclusions about a closed infinite object.

Construct the outward equilateral apex

Choose an upward screen apex C(250,400−50√3), approximately y=313.397. BC, CD and original BD all equal 100, forming an equilateral triangle. Check the horizontal midpoint and subtract vertical height rather than add it. Rounded placement does not give infinite precision. Repair unequal sloping sides instead of thicker strokes. A downward peak may be mathematically valid but differs from this chosen state and needs revised coordinates/direction wording.

Replace the middle third without its base

The official route is A–B–C–D–E, omitting old straight BD. Keeping it would contradict a four-segment claim. Inspect unfilled joins without rounding away errors. First/last segments are horizontal; middle segments rise then fall in screen orientation, not motion simulation. Retain the baseline only as a pale checking reference and hide it from the finish if unwanted; it is no fifth official edge. Use a continuous polyline or separate segments with shared endpoints, without assuming automatic length or join constraints.

Calculate route and endpoint distance separately

Four segments of 100 give route length 400, while unchanged A/E remain 300 apart: ratio 4:3. Bounding-box perimeter is not curve length, and a slope’s horizontal projection 50 is not its length. Peak height 50√3≈86.603 is another quantity. Verify segment lengths and endpoint distance separately without counting dark pixels. Stroke width/caps alter visible edges, while ideal lengths follow path centrelines; antialiased export is not an automatic precise measurement.

Read turns from changes in heading

Mathematical segment headings are 0°, 60°, −60°, 0°, with turns +60°, −120°, +60°. Canvas y increases downward, so the visible route rises then falls; preserve the coordinate convention. The equilateral interior angle at C is 60°, but path turning magnitude there is 120°. Annotate headings in a checking view rather than writing three sixty-degree turns, then remove arrows. This distinguishes headings from interior angles without assuming a particular rotation control or automatic angle calculation.

Test accidental closure

In a wrong copy connect E back to A. The added 300-unit base gives total length 700 and violates the open-route condition even if the original segments are correct. A retained old BD instead adds 100 and is a different fault. Diagnose separately rather than blaming every extra line on software. Restore four segments/two open ends, not merely a recognisable peak. The 700 calculation applies to this added AE at these coordinates; different endpoints require recalculation.

Inspect segments, ends and corners in output

Save and inspect PNG four segments, two open ends and three internal joins, with the baseline excluded. Confirm native-guide export behaviour and hide unwanted manual thirds. For a blurred peak enlarge presentation or adjust stroke rather than rounding corners into arcs while claiming four straight segments. Inspect joins on light/dark backgrounds and other formats independently. If a curve tool introduced bends, mark approximation and restore intended straight segments; a 400 label cannot conceal changed objects. Preserve source and presentation separately.

Separate one replacement from infinite properties

For length 300 inspect chord-only counting; for 500 inspect retained BD; for 700 inspect closure; for reversed peak inspect y. Recheck all segments and A–E distance after repair rather than editing captions. Retain baseline, thirds, apex, 4:3 relationship and both controls. This is one finite replacement. A second would require the rule on every current segment, not added detail in one place. It proves no infinite snowflake perimeter, area or dimension and supplies no automatic fractal generation or precision path measurement.

Related tutorials and sources

VectorPaint two-round triangle removal: check four holes and nine retained triangles, Edit Bézier nodes in VectorPaint: smooth curves without adding anchors.

Checked on November 11, 2026: VectorPaint public version 1.0.8, requiring iOS / iPadOS 17.0 or later. Capability scope follows the official App Store and Apple public lookup. This is an original manual exercise; use controls available in your installed version and actual file state. External calculations, records and diagrams do not imply new automatic analysis. No step-by-step physical-device, private-file or all-export-environment testing is claimed.