Pour la cinématique directe, je crois j'ai trouvé une approche plus simple, en remplaçant la géométrie pure par de la géométrie à base de coordonnées cartésiennes.
NB : je suis partis sur un repère avec X vers la droite et Y vers le haut, et je ne me suis rendu compte qu'après coup de mon erreur. Du coup, il suffit de changer le signe pour avoir les résultats dans ton repère.
Il n'y a lors que 4 étapes :
1) Calculer les coordonnées de A comme S2+longueur(S2A)*vecteru_directeur(S2A)
2) Idem pour K à partir de S1
3) Calculer les coordonnées de B : pour ça, le plus simple me semble être de considérer que B se situe à l'intersection de deux cercles : celui de centre A et longueur AB, et celui de centre K et de longueur KB. On a donc un système de 2 équations à 2 inconnues.
4) BK et BF sont "proportionnels" : on en déduit F
Je te joins mes calculs (nb : il manque la fin de l'étape 3, mais c'est assez facile. Si tu as besoin d'aide, préviens moi)
Pour l'option de pré-calculer et de stocker des valeurs en RAM, je penses que ça peut se faire assez raisonnablement.
Si on suppose que chaque servo a une course utile de 90°, et qu'on découpe en tranches de 10°, ça fait 10 tranches.
Donc pour les 2 servos, ça fait un tableau de 10*10=100 cases. Si on y stocke des entiers 8 bits (par exemple la position en mm, éventuellement avec un offset, si ta zone de travail cartésienne fait moins de 255*255mm), alors tu n'utilises que 100 octets de RAM. Sur un total de 8ko, c'est quasiment négligeable.Et je pense que la précision avec une interpolation entre les 4 points de la grille autour du point cherché te donnera une précision suffisante. Au pire, tu doubles la densité de la grille, ce qui te faut 400 octets de RAM.
Si tu veux encore plus de précision, tu peux aussi stoker les valeurs dans la mémoire flash avec PROGMEM : là, tu as 256ko de disponible sur la méga, et d'après les infos que j'ai trouvé, une lecture ne prend que 3 cycles d'horloge.
Bref, je pense que sur une méga, tu peux sans problème te permettre de pré-calculer tes valeurs puis d'interpoler