fredag 18 juli 2008

Välkommen Drake!


Jag kan stolt meddela att kontrakt är underskrivet och handpenning erlagd för ett stycke Corsair 750 Sprint!
Leverans till nästa år. Jag längtar...

måndag 14 juli 2008

Härlig animation

Den här filmen tycker jag var härlig...

onsdag 9 juli 2008

Koda dvdfilm till format lämpligt för webben

En kompis fick en dvdfilm med en intervju med honom skickad till sig, och bad mig om att göra om filmen till något format som man kan ha på en websida.
Eftersom bara en del av filmen var relevant behövde jag redigera, detta gjorde jag med kino. Extrahera filmen försökte jag göra med ffmpeg (något i stil med ffmpeg -i /var/tmp/VTS_01_1.VOB -ss 00:11:14 -t 350 -threads 4 -vcodec mpeg4 -b 4000k -acodec copy /tmp/output_mpeg4_b4000_ab128.avi) och sedan med mencoder (något i stil med
mencoder dvd:// -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=694 -oac mp3lame -lameopts br=128 -o dvdvideo.avi) men detta funkade lite halvdant för mig.

Till slut hittade jag en ganska enkelt framkomlig väg:

  1. importera dvd:n med vobcopy (kopierar dvd-filmen till filer):
    $vobcopy
  2. importera filen i kino
  3. klipp bort ändar etc i kino
  4. exportera inifrån kino

fredag 4 juli 2008

Optimal segling

Givet konstant vind, ett polardiagram och en önskad kurs, hur ska man segla för att komma fram fortast? Denna eviga fråga tål att funderas på - speciellt för båtar med spetsiga polardiagram som t ex trimaraner.

Jag började ställa upp problemet och har lite funderingar på hur man ska angripa det. Började med att ställa upp det som ett analytiskt optimeringsproblem med två kurser, sedan med en kontinuerlig viktfunktion (oändligt många kurser). Det blev ganska långa uttryck, så jag angrep istället problemet numeriskt. Med ett ändligt antal kurser (diskretisering av problemet) och villkor som att man inte kan tillbringa negativ tid på en kurs blir problemet direkt ett linjärt program på standardform. Med lite data från Seacart 30 och octave fick jag fram den optimala lösningen. (jag provade först med data från farr 40 one design men det var inte lika intressant, jag är ju trots allt trimaranseglare). Efter att ha experimenterat med lite olika kurser och vindstyrkor känns det som att jag börjat få kläm på problemet:

Alla möjliga kombinationer av segling enligt polardiagrammet bildar det
"konvexa höljet" (eng. convex hull) av polardiagrammet. Man kan tänka såhär: man spenderar en viss tid på varje kurs, en faktor som är större än noll. Summan av alla faktorer för alla kurser är ett. Detta är definitionen på en konvex kombination, och följaktligen är konvexa höljet det som går att få ur - det går inte att segla fortare än konvexa höljet!
Med denna insikt så kan problemet med optimal segling reduceras till att man gör såhär:
  1. hitta konvexa höljet för polardiagrammet (trivialt, görs enkelt med penna och linjal, se streckade linjen i figuren)
  2. för den önskade kursen, sök skärningen med konvexa höljet (punkt C på bilden)
  3. Optimala kombinationen av kurser är de kurser där konvexa höljet möter polardiagrammet. (punkt A och B på bilden)
Detta kanske låter komplicerat men det är vad seglare vetat länge, när man ska mot vinden måste man kryssa! Det är dock framförallt medvind och vid val mellan olika stora segel (t ex vid punkt E på bilden) man behöver fundera lite mer över detta.

Några mycket intressanta slutsatser kan dras
  • det är INTE är vmg mot målet som ska maximeras i varje enskilt tillfälle - det gör alltså inget att vmg är lågt eller negativt sålänge man seglar enligt receptet ovan, man hämtar hem det i genomsnitt. Att få negativt VMG kan hända om skärningsvinkeln är större än 45 grader från/mot vinden, något som ofta händer snabba båtar i svag vind.
  • så länge målet ligger i ett område innanför optimala skärningsvinklarna t ex på medvind eller kryss gäller det att alltid skära på de optimala vinklarna. På bilden gäller detta i området F-G (kryss) och A-B (medvind) samt vid E.
För båtar med olika segel, t ex screacher och gennaker kan det vara lönsamt att hålla lite lägre kurs med ett större segel och sedan hämta hem höjden med mindre segel. Detta ges av om polardiagrammet är konvext (polardiagrammet sammanfaller med konvexa höljet) för den önskade kursen!