Hi,
ich hab mich mal zur berechnung des cos/sin an das folgende tutorial gehalten und
würde jetzt gerne wissen wie ich mit der selben tabelle die inversen funktionen (arcus sinus reicht da ja acos=90°-asin) dazu berechne.
Hier das Tutorial: http://www.mikrocontroller.net/articles/AVR_Arithmetik/Sinus_und_Cosinus_(Lineare_Interpolation)

und hier mein Versuch:

Code:
int16_t linasin(int16_t input)
{
	uint8_t neg = input<0?1:0;

	input &= ~(1 << 15); //=abs()
	for (uint8_t i = 0; i < 91; i++) {
		if (input >= linsin_tab[i] && input < linsin_tab[i +1]) {
			uint16_t data0 = linsin_tab[i+1] - linsin_tab[i];
			uint16_t data1 = input - linsin_tab[i];
			int16_t res = i * 256 + 256 * data1 / data0;
			return neg ? -res :res;
		}
	}
}
MFG XBert