前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF 基础 2D 图形学知识 求向量旋转角度

WPF 基础 2D 图形学知识 求向量旋转角度

作者头像
林德熙
发布2021-03-08 12:01:54
9640
发布2021-03-08 12:01:54
举报
文章被收录于专栏:林德熙的博客

求向量的三角函数 sin 或 cos 的值,已知两个点,求两点相连线段角度

在 WPF 或 UWP 中,可以通过两个点的减法获取向量

代码语言:javascript
复制
Vector vector = p1 - p2;

求向量的三角函数 sin 或 cos 的值,可以使用如下代码

代码语言:javascript
复制
    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;
    }

通过反三角函数可以获取弧度值

代码语言:javascript
复制
            var cosθ = vector.GetCos();
            var sinθ = vector.GetSin();

            var 弧度 = Math.Acos(cosθ);

从弧度转换角度,可以使用以下方法转换

代码语言:javascript
复制
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订阅博客,或者前往 CSDN 关注我的主页

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

无盈利,不卖课,做纯粹的技术博客

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档