1 定义 - ProjectOnPlane

 //
// 摘要:
//     Projects a vector onto a plane defined by a normal orthogonal to the plane.
//
// 参数:
//   planeNormal:
//     The direction from the vector towards the plane.
//
//   vector:
//     The location of the vector above the plane.
//
// 返回结果:
//     The location of the vector on the plane.
public static Vector3 ProjectOnPlane(Vector3 vector, Vector3 planeNormal);

2 使用方法

  • 参数1 方向
  • 参数2 平面的法向量

投影向量

var pj = Vector3.ProjectOnPlane(dir, normal);

返回值是一个投影向量,平行于指定的平面

3 效果演示

4 参考代码

using UnityEditor;
using UnityEngine;public class Pj : MonoBehaviour
{void Update(){project();}//方向向量目标点 看向点public Transform target,looker;//两点确定法线方向public Transform n1, n2;//跟随点public Transform sign;void project(){looker.transform.LookAt(target);//指向目标的向量var dir = target.position - transform.position;//平行于X轴平面的法向量 Y轴正方向向量 (1,0,0)var normal = n1.position - n2.position;//投影向量var pj = Vector3.ProjectOnPlane(dir, normal);//相对本对象位置进行变化sign.position = transform.position + pj;//绘制方向Debug.DrawLine(transform.position, target.position);//绘制投影Debug.DrawLine(transform.position, sign.position, Color.blue);//绘制法线Debug.DrawLine(target.position, sign.position,Color.red);}//绘制平面private void OnDrawGizmos(){//平行于X轴平面的法向量 Y轴正方向向量 (1,0,0)var dir = n1.position - n2.position;Handles.color = Color.yellow;for (int i = 0; i < 10; i++){var dis = i + 1;Handles.DrawWireDisc(transform.position, dir, dis * 0.1f);}}
}

5 工程包
链接

6 投影函数 Project

7 函数返回值
是vector向量 想X轴正方形进行投影,最终落在X轴的一个点

向量的平面投影 ProjectOnPlane相关推荐

  1. 几何向量:向量到平面投影和LookAt

    在研究所保密开发完后回来隔离两波,已经接近四五个月没碰外网电脑了,可以说是活成了原始人.       因为某些开发细节原因,需要实现向量投影和LookAt功能,记录一下.       首先实现向量到平 ...

  2. 第三课向量与平面直线方程

    向量 点积,加减什么的就不说了 叉积: 这个是叉积结果与原来两个向量的方向与模长的关系,其中模长为两者模长相乘后乘以夹角的sin值,方向符合右手规则,即四指从第一个向量的方向以最小的角度转向第二个向量 ...

  3. C++空间中一点到平面投影

    1.点到平面投影公式推导 2.C++代码 void projectCloudToplane( pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_raw,c ...

  4. python——经纬度坐标和平面投影坐标的相互转换

    美赛建模需要使用到平面坐标系去做基于时间序列的运动范围模型,所以需要对经纬度进行坐标系转换,转换到XY坐标系下.同时,在机器人的路径规划等方面依然会经常使用到坐标系的转换,所以记录一下. 文章目录 经 ...

  5. 平面投影坐标转经纬度坐标

    平面投影坐标转经纬度坐标 本人在进行开发时,使用geotools的GeoTiffReader类读取卫星影像的顶点坐标,得到的是平面坐标,单位是米,打开arcGIS,加载影像,右下角会有坐标,在视图-& ...

  6. 空间几何-向量在另外一个向量上的投影计算

       u ⃗ \vec{u} u 向量在 v ⃗ \vec{v} v 向量上的投影分量 u x ⃗ \vec{u_{x}} ux​ ​的计算,其实就是 u ⃗ \vec{u} u 的模乘以 u ⃗ \ ...

  7. android立体3D效果_3D全息投影和平面投影有什么区别_广州全息投影

    随着时代的发展.科技的进步,3D全息投影已经融入到人们的日常生活当中,给人们带来全新的视觉体验,呈现亦真亦幻的虚拟影像世界,越来越多的行业肯定及选择全息投影技术.那么与传统的平面投影相比,3D全息投影 ...

  8. Cesium平面投影坐标系加载

    Cesium支持CGCS2000平面坐标系加载,自己扩展投影计算规则. 支持CGCS2000各类投影坐标,如EPSG:4547,EPSG:4528.各地区本地2000坐标系(如温州2000,苏州200 ...

  9. 向量在另一个向量上的投影

    向量在另一个向量上的投影 若v向量为单位向量,则结果为uv向量的点积* v向量. 即:某个方向力u,在v方向上的分量.

最新文章

  1. 腾讯T2亲自讲解!搞懂开源框架设计思想真的这么重要吗?系列篇
  2. LeetCode : Number of Segments in a String
  3. DML、DDL的概念与区别
  4. Spring Boot集成Spring Data Reids和Spring Session实现Session共享(多个不同的应用共用一个Redis实例)...
  5. 整理转载:分枝定界图解(含 Real-Time Loop Closure in 2D LIDAR SLAM论文部分解读及BB代码部分解读)
  6. thinkphp路径引用问题
  7. 美区苹果id关闭双重认证_双重认证
  8. 测试计划报告---5W1H
  9. c++中string 各种函数的函数用法
  10. ★如何提高睡眠质量?
  11. Mysql之三少一多原则
  12. matlab ps液化,photoshop液化工具崩溃怎么办 ps液化工具崩溃解决方法
  13. 为什么我们要学操作系统?
  14. cannot find -lxxx问题
  15. 通俗理解极大似然估计
  16. 【AI视野·今日CV 计算机视觉论文速览 第157期】Mon, 16 Sep 2019
  17. IT运维工单高效协同,助力打造一站式运维方案
  18. java爬虫爬豆瓣图书,十一. 爬虫实战(Xpath)- 豆瓣图书TOP250的数据
  19. c语言outl函数,在作业中Outlook
  20. 易语言晨风机器人源_易语言FQ自动聊天机器人源码,易语言自动聊天插件制作源码...

热门文章

  1. BCD码与十六进制值转换
  2. Mac m1 安装php redis扩展
  3. Vue鼠标移入(悬停)显示-移出隐藏
  4. 什么是云原生数据库?
  5. “正被停用的激活上下文不是最近激活的”的错误的解决
  6. UIPATH 发送SMTP电子邮件
  7. LCD显示屏 字模 俄文字体显示8*16
  8. VMware Workstation安装爱快
  9. 服务器虚拟化和网络虚拟化关系,数据中心网络如何应对服务器虚拟化?
  10. Navicat的安装及免费使用方式