我是一个图形编程课,我正在写作业,而不是编程,所以我希望这适合这个网站.我有这个问题:
计算由以下每个顶点集指定的三角形的单位法线(假设三角形背向原点):
一年前我接受了线性代数,然后我的老师说他不会教交叉产品,因为只有班上的计算机科学人员需要它,并且在需要时会被覆盖(这不是因为他们假设线性代数老师做了它,我已经检查了二十几个解释,它们都在我脑海中.
这个问题有三个不同的问题,所以如果有人可以指导我如何解决一个不涉及大量变量和希腊字母的单一问题,我将不胜感激.
这个问题的A部分将这三个坐标作为三角形的点:[1, 1, 1]; [1, -1, 1]; [1, 0, -1]
.我试着拼凑不同的公式和解释,我得到法线向量是[4,0,0],但这似乎不正确,因为我知道这个三角形不在yz平面上.我唯一的另一件事是配方:
(A x B) / | A x B |
Run Code Online (Sandbox Code Playgroud)
我知道A和B是三角形的两个随机边,表示为矢量,通过减去V2和V1分别为A和V3和V1分别为B计算,但我不明白究竟是什么告诉我这样做.
我正在Unix平台上运行C++中的Hex游戏(目前正在运行c shell).我的游戏的AI需要不到一分钟的时间来决定它的移动(我使用的是一种蒙特卡罗算法),经过几个步骤,程序自行终止,只是打印"Killed"才返回我的命令提示符.有没有人理解导致这种情况发生的原因,并对如何更改我的代码进行修复提出任何建议?如果它有帮助,我没有使用我的系统.我使用SSH Secure Shell连接到学校的服务器.我还应该指出,我不认为我的算法有问题,因为它可以像我预期的那样工作直到崩溃,但它在决定第7步时一直崩溃.
我的老师刚刚将此作为即将到来的C++期中考试的几个程序示例之一.代码是:
//What does this program print?
#include <iostream>
using namespace std;
#define foo1( a ) a * a
int j = 6;
inline int
foo2( int a )
{
return a * a;
}
void
goo1( int& x )
{
x = 3;
}
void
goo2( int x )
{
x = 3;
}
int main()
{
int i, j = 12;
cout << "foo1 = " << foo1( 3 + 2 ) << "\n";
cout << "foo2 = " …
Run Code Online (Sandbox Code Playgroud)