YachtCaptain
· v1.0.2
About
YachtCaptain is a visual sail trim trainer for your wrist.
Drag the wind arrow with your finger, or use buttons, and see in real time:
• Where the true wind comes from (red arrow) and where the boat actually feels it (blue arrow — apparent wind)
• The current point of sail: Close-hauled, Beam reach, Broad reach, Running
• Correct boom angle for the main sail
• Correct jib angle (automatic wing-on-wing on dead downwind)
• Sail draft (camber) that adapts to wind strength and angle
Adjust true wind speed and boat speed to match your conditions — apparent wind angle, sail trim and camber update instantly.
Perfect for:
• Sailing students learning points of sail and basic trim
• Skippers reviewing wind theory before a trip
• Sailors curious about why their boom should go further out at broad reach
Controls:
• Tap or drag — set wind direction
• ENTER — switch between editing wind speed, boat speed, or wind angle
• UP / DOWN — change selected value
No GPS, no sensors, fully offline. Just sailing physics on your wrist.
What's new
═══════════════════════════════════════
FORMULAS USED
═══════════════════════════════════════
APPARENT WIND ANGLE (AWA)
The wind you actually feel on a moving boat:
awX = TWS · cos(TWA) + boatSpeed
awY = TWS · sin(TWA)
AWA = atan2(awY, awX)
AWS = sqrt(awX² + awY²)
TWA, TWS = true wind angle and speed relative to land.
boatSpeed = boat speed over water.
POINT OF SAIL (based on TWA)
|TWA| under 40° — No Go zone (irons)
|TWA| 40 to 55° — Close-hauled
|TWA| 55 to 80° — Close reach
|TWA| 80 to 110° — Beam reach
|TWA| 110 to 150° — Broad reach
|TWA| 150 to 180° — Running
BOOM ANGLE (relative to centerline, by AWA)
|AWA| under 20° — 0° (sail luffs)
|AWA| 130° or more — 90° (boom fully out)
otherwise — (|AWA| − 20) × 90 / 110
Sign = side of AWA; the boom always swings to the leeward side.
JIB ANGLE
jibAngle = boomAngle × 0.85
(jib trims tighter than the main, since it works in cleaner air upstream of the mast)
SAIL DRAFT (camber) — depth of belly
camber = clamp((|AWA| − 20) / 160, 0..1)
windFactor =
if TWS under 5 knots — TWS / 5
if TWS over 20 knots — 1 − (TWS − 20) × 0.02
otherwise — 1.0
clamped to range 0.3 to 1.1
mainDraft = halfLength × (0.03 + 0.16 × camber) × windFactor
jibDraft = halfLength × (0.025 + 0.12 × camber) × windFactor
Result: flat sail close-hauled or in heavy wind, full belly on broad reach.
WING-ON-WING (automatic)
if |TWA| is 155° or more — jib flips to the windward side
(prevents the jib from being blanketed by the main on dead downwind)
NOTES
• Point of sail is defined by TRUE wind (TWA) — what the wind looks like from land.
• Sail trim is calculated by APPARENT wind (AWA) — what the sail actually feels.
• AWA is always closer to the bow than TWA when the boat moves forward.