gpt4 book ai didi

c++ - vtk IntersectWithLine() 函数使用法线作为线

转载 作者:太空宇宙 更新时间:2023-11-04 14:18:03 25 4
gpt4 key购买 nike

我有两个等值面(头骨和皮肤)。给定颅骨等面上的 A 点,我使用“double *pos = pickerCell->GetPickNormal()”计算 A 点的法线。当我打印 pos 时,这就是我得到的:-6.2367、1.98263、-0.9823有人可以向我解释这 3 个值的含义吗?

我想找到 A 点法线与皮肤等值面的交点。

我可以使用 IntersectWithLine() 函数来这样做吗?如果是,那么我的情况下的线路是正常的吗?法线的起点和终点是什么?

或者有更好的方法吗?

最佳答案

如您所见,您需要定义与两点相交的线。通常所做的是从您选择的点 P 开始(计算法线 v 的同一点)并计算两个点,A = P + v delta 和 B = P - v delta使用上下文设置增量(如果您的模型在单位立方体中,增量可能类似于 .01,如果您的模型的单位大小为 1000,增量可能为 1,等等)。

此外,我不确定为什么单元格选择器返回的法线没有被归一化,但我假设如果你对其进行归一化,它就是表面法线。为了避免混淆,我会称它为“pos”以外的其他名称(因为它是一个方向,而不是一个位置)。

关于c++ - vtk IntersectWithLine() 函数使用法线作为线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9704460/

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