【发布时间】:2014-01-11 01:15:32
【问题描述】:
假设我有一个侧面凸包,现在我如何获得所述凸包的右/左上/下角,现在假设 N 为 3,三角形坐标为 0,0 50,0 0,50 或其他东西,我们知道角是什么,并且 0,50 算作右上和左,所以有什么方法可以得到这个而不是我这里的,其中 Left_Bottom 等等是向量和values 是一个向量数组
Left_Bottom = values[0];
Left_Top = values[0];
Right_Bottom = values[0];
Right_Top = values[0];
for (int i = 1; i < values.length; i++) {
if (!Left_Bottom.XisLess(values[i])) {
if (Left_Bottom.YisLess(values[i])) {
Left_Bottom = values[i];
}
}
if (!Left_Top.XisLess(values[i])) {
if (!Left_Top.YisLess(values[i])) {
Left_Top = values[i];
}
}
if (Right_Bottom.XisLess(values[i])) {
if (Right_Bottom.YisLess(values[i])) {
Right_Bottom = values[i];
}
}
if (Right_Top.XisLess(values[i])) {
if (!Right_Top.YisLess(values[i])) {
Right_Top = values[i];
}
}
}
【问题讨论】:
-
您将在什么情况下使用它,即您寻找更好解决方案的原因是什么?另外:什么是“值”向量?只是一个包含船体中所有点的向量还是其他什么?
-
另外,你的标题和你的问题有点不同步;你是想找到所有角落还是只找到四个? (上/下/左/右)
-
只是四个最极端的角落,用于 2d 照明的应用,不过我在 opengl 中已经记录下来
标签: java c++ opengl vertex convex-hull