gpt4 book ai didi

c# - 给定一个点和方向,如何获得一个距离左边 1 个单位的新点?

转载 作者:行者123 更新时间:2023-12-04 10:37:52 25 4
gpt4 key购买 nike

鉴于我们有:

  • 矢量3点a在一个空间
  • 点的矢量3方向a (标准化)

  • 如何获得距离 b 点左侧(或右侧)1 个单位的新 Vector3 ( a ) ?
    Vector3 a = new Vector3(0, 0, 0);
    Vector3 direction = new Vector3(0.9417419, 0, 0.3363364);

    最佳答案

    正如@Pluto 所说,如果您有向上的方向,您可以使用叉积来找到它。但是,Unity 使用左手系统,因此(方向 X 向上)将在左侧。您可以使用 direction 的负数找到正确的一面。例如:

    Vector3 a = new Vector3(0, 0, 0);
    Vector3 direction = new Vector3(0.9417419, 0, 0.3363364);
    Vector3 localUp = Vector3.up;

    bool onLeft = true;

    Vector3 b = Vector3.Cross(onLeft ? direction : -direction, localUp).normalized + a;

    关于c# - 给定一个点和方向,如何获得一个距离左边 1 个单位的新点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60081873/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com