C# 手动编程正弦、余弦、弧余弦和弧正弦

C# 手动编程正弦、余弦、弧余弦和弧正弦,c#,trigonometry,.net-micro-framework,C#,Trigonometry,.net Micro Framework,我正在使用.net micro framework 4.1。没有测角函数,但我需要计算Eatrh上两点之间的距离。有人能帮我解决这个问题吗?我认为最好的解决方案是手动编程函数,但我不知道如何编程。没有必要创建自己的三角函数实现,因为它们已经存在于.NET Micro Framework 2.0、2.5、3.0、4.0、4.1和4.2版的Math类中 请参阅示例方法。如果您有GHI设备,则可以使用GHIElectronics NETMF MathEx库为NETMF 4.1提供支持 这是真的,但它只

我正在使用.net micro framework 4.1。没有测角函数,但我需要计算Eatrh上两点之间的距离。有人能帮我解决这个问题吗?我认为最好的解决方案是手动编程函数,但我不知道如何编程。

没有必要创建自己的三角函数实现,因为它们已经存在于.NET Micro Framework 2.0、2.5、3.0、4.0、4.1和4.2版的
Math
类中


请参阅示例方法。

如果您有GHI设备,则可以使用GHIElectronics NETMF MathEx库为NETMF 4.1提供支持


这是真的,但它只需要一个int作为参数,当我需要计算经度和纬度时,我需要一个double或float。@JanHolešnský您可以通过将纬度和经度拆分为整数和小数部分,在从
Math.Sin
返回的值之间进行插值。使用整数部分(和整数部分+1)得到
Math.Sin的值,然后使用小数部分在它们之间插值。是的,这是真的,但我需要尽快计算窦、余弦和弧余弦。你认为插值是个好主意吗?@JanHolešnský嗯,实际上你有两种可能的方法。您可以使用插值或从存储在哈希表中的预计算值进行搜索。第二种方法应该更快,但它需要额外的空间来存储预计算的值,而且您还应该以某种方式以所需的容差对其进行预计算(可能使用完整的.NET framework,然后将其存储在文件中的某个位置,并在应用程序启动时从文件中填充哈希表)1.我有一个想法,可以用泰勒多项式得到这个值,但我不确定它是否准确。你有没有试过研究余弦窦和唐氏窦的数学定义?如果没有记错的话,窦的指数定义是1/2i*(e^(i+x)-e^-(i+x))