Nacke och syn
Vektorbild av ögon och nacke
Nedan en modell av nacke, ögon och ett objekt att fokusera på. Objektet går att flytta och då ändras också ögonens fokus. Modellen tickar fram och tillbaka lite så att man lättare skall förstå den. Alltså inte huvudet som rör sig - utan betraktelsevinkeln (kameran). Slumpa ny fokusvektor (se uträkning längst ner på sidan)
Data

Ögonen
Ögonen i bilden ovan är två rektanglar. Jag vrider på dessa rektanglar med de uträknade vinklarna enligt nedan.

Beräkning av ögonens vinklar
ogonens konvergensvinklar C1 och C2 är respektive öga (kamera) och F är fokuspunkten. Vektorerna V och H är kända och har statiska värden. Om man tänker sig att man ger vektorn D ett godtyckligt värde är det enkelt att räkna ut vektorerna C1F och C2F. Med dessa som kända kan man räkna skalärprodukt och få fram vinkeln för respektive ögon i horisontalled. Man kan vidare tänka sig en vertikal vektor och på motsvarande sätt räkna skalärprodukt för att få fram ögonens vinklar i vertikalled. Dessa vinklar för respektive öga i horisontal och vertikalled bör direkt kunna överföras via någon funktion till börvärde för de servo som styr ögonen.

vektor exempel Säg att vi vill fokusera en vektor D=(1,0,2), dvs 1 i x-led, 0 i y-led och 2 längdenheter i z-led. Längdenheter kan vara vad vi bestämmer oss för längre fram.

D = (1,0,2)

alfa-vinkeln, horisontalt (y/z):
v = (0,-1,0)
C1F = v+D = (1,-1,2)
COS(alfa) = (v*C1F)/(|v||C1F|) = (0,-1,0)(1,-1,2)/(1*SQRT(6)) = 1/√6 = 0.408
alfa = COS-1(0.408) = 65 grader

teta-vinkeln, vertikalt (x/y):
h=(1,0,0)
COS(teta) = (h*C1F)/(|h||C1F|) = (1,0,0)(1,-1,2)/(1*SQRT(6)) = 1/√6 = 0.408
teta = COS-1(0.408) = 65 grader

Vi kan sedan låta öga C1's horisontala och vertikala servo snurra 65 grader respektive 65 grader (lite dåligt exempel med samma vinkel på båda) så tittar det högra ögat mot det vi skulle fokusera. Samma för vänstra ögat också.

Denna beräkning
Kalkylen nedan avser ögonens vinklar för exemplet i vektorgrafiken överst på sidan. Kalkylen ändras dynamiskt när du slumpar en ny fokusvektor.

vektor algebra
Data

Funderingar och slutsatser
Linjära algebra för att beräkna ögonens vinklar är mycket enklare och snyggare än den trigonometriska härva när jag använde cosinussatsen och sinussatsen för att beräkna konvergensvinklarna i 2 dimensioner.