- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 OpenGL/C++ 编写一个程序来对圆锥体进行光线追踪。对于我的强度计算,我需要知道表面法线。给定基本半径、高度和中心坐标,我如何计算表面法线?
最佳答案
我假设您需要在给定表面上的一个点的情况下找到表面的法线。我进一步假设这是一个圆锥体,底部朝下(-y 轴),圆锥体的点向上(+y 轴)。如果这些条件中的任何一个不是这种情况,我可以编辑我的答案以适合您的情况。
让我们称您在表面上的点为 P,中心坐标为 C,半径为 r,高度为 h,法线为 N。
所有点和向量都具有三个分量(x、y、z),因此我将使用“.”来引用它们。例如 P.x 是 P 的 x 分量。
首先,我们需要一个单位向量投影到从 C 指向 P 的 x/z 平面上。
V.x=P.x-C.x
V.y=0
V.z=P.z-C.z
这个向量方向正确,但幅值大于 1。它还不是单位向量,所以我们必须相应地缩放它。
m=sqrt(V.x2+V.z2)
m 现在是 V 的大小,我们将使用它来缩放 V...
V.x/=m
V.z/=m
找到法线的最终计算是...
N.x=V.x*h/r
N.y=r/h
N.z=V.z*h/r
关于graphics - 垂直于圆锥体的表面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792861/
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在尝试绘制动态雷达,但无法正确绘制圆锥形状。我可以让这两条线正常工作,但我无法让它们之间的阴影正常工作。 我的目标: 我得到了什么: 这是我的代码: paint.setColor(Color.WH
我是一名优秀的程序员,十分优秀!