获得两点之间连续坐标,向量加法减法乘法的运用

Posted dj1232090

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获得两点之间连续坐标,向量加法减法乘法的运用相关的知识,希望对你有一定的参考价值。

这是一个很小的知识点,不过我觉得可以记录下来,就算是在大都项目都是这些小小的知识点堆积而来,之前我用这个小知识点获取了,两点之间都一系列点,今天当我想做一个移动的时候,发现这个知识点也能做这方面都事情,所以我觉得把它记录下来,虽然很简单,但是用处并不简单。

 

using UnityEngine;
using System.Collections;

/// <summary>
/// 下面这个类是将一个transfrom对象移动到目标点(100,0,100)位置
/// 主要的方法GetBetweenPoint,能够获取起始点和终点之间都由起始点朝向终点都distance距离点
/// </summary>
public class Main : MonoBehaviour 
{
    private Vector3 target = new Vector3(100, 0, 100);
    private int count = 0;
    // Use this for initialization
    void Start ()
    {

    }
    
    // Update is called once per frame
    void Update ()
    {
        if (Vector3.Distance(transform.position, target) > 0.1f)
        {
            transform.position = GetBetweenPoint(transform.position, target, 0.1f);
        }
        else
        {
            transform.position = target;
        }
    }

    /// <summary>
    /// 获取两点之间的一个点,在方法中进行了向量的减法,以及乘法运算
    /// </summary>
    /// <param name="start">起始点</param>
    /// <param name="end">结束点</param>
    /// <param name="distance">距离</param>
    /// <returns></returns>
    private Vector3 GetBetweenPoint(Vector3 start, Vector3 end, float distance)
    {
        Vector3 normal = (end - start).normalized;
        return normal * distance + start;
    }
}

 

 

using UnityEngine;
using System.Collections;
 
/// <summary>
/// 这个类和上面都类功能是相同都,都是从当前坐标移动到目标坐标点,只是向量的计算方式不一样,这种方式是向量的加法运算
/// </summary>
public class Main : MonoBehaviour 
{
    private Vector3 target = new Vector3(100,0,100);
    private Vector3 normal;
    // Use this for initialization
    void Start () 
    {
    //向量的减法运算
        normal = (target - transform.position).normalized;
    }
    
    // Update is called once per frame
    void Update ()
    {
        if (Vector3.Distance(transform.position, target) > 0.1)
        {
            //向量的加法运算
            transform.position = transform.position + normal * 0.1f;
        }
        else
        {
            transform.position = target;
        }
    }
}

 来源:http://blog.gamerisker.com/archives/496.html

 

以上是关于获得两点之间连续坐标,向量加法减法乘法的运用的主要内容,如果未能解决你的问题,请参考以下文章

通过连续自然数的加法或减法获得一个数

第五次作业

请问怎样用加法-移位实现定点乘除法?

向量及其坐标表示

两个向量的坐标相加遵循啥运算法则

高精度 加法 减法 乘法 除法 整合