求向量的三角函数 sin 或 cos 的值,已知两个点,求两点相连线段角度
在 WPF 或 UWP 中,可以通过两个点的减法获取向量
Vector vector = p1 - p2;
求向量的三角函数 sin 或 cos 的值,可以使用如下代码
static class VectorExtensions
{
/// <summary>
/// 获取向量的 cos(θ)值
/// </summary>
/// <param name="vector"></param>
/// <returns></returns>
public static double GetCos(this Vector vector)
=> vector.Y / vector.Length;
/// <summary>
/// 获取向量的 sin(θ)值
/// </summary>
/// <param name="vector"></param>
/// <returns></returns>
public static double GetSin(this Vector vector)
=> vector.X / vector.Length;
}
通过反三角函数可以获取弧度值
var cosθ = vector.GetCos();
var sinθ = vector.GetSin();
var 弧度 = Math.Acos(cosθ);
从弧度转换角度,可以使用以下方法转换
var 角度 = 弧度 / Math.PI * 180;
此时比较不推荐使用 tan 这个三角函数,因为也许会出现除以零的问题
更多请看 WPF 基础 2D 图形学知识
本文会经常更新,请阅读原文: https://blog.lindexi.com/post/WPF-%E5%9F%BA%E7%A1%80-2D-%E5%9B%BE%E5%BD%A2%E5%AD%A6%E7%9F%A5%E8%AF%86-%E6%B1%82%E5%90%91%E9%87%8F%E6%97%8B%E8%BD%AC%E8%A7%92%E5%BA%A6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
无盈利,不卖课,做纯粹的技术博客
以下是广告时间
推荐关注 Edi.Wang 的公众号
欢迎进入 Eleven 老师组建的 .NET 社区
以上广告全是友情推广,无盈利