标签: geometry-class-library

几何对象的可视调试器

在处理代表几何对象的库时,Debugging目前看起来像这样:

在此输入图像描述

在这里,我在观看的局部变量Autos,Locals,WatchImmediate窗口.

由于我无法在脑海中想象物体的形状,我宁愿使用图形组件来表示这些物体.所以我开始创建一个Debugger Visualizer来绘制对象.我在这里的 bitbucket公共回购中有它.

现在我无法让它在我在解决方案中使用的控制台应用程序之外工作.我究竟做错了什么?

这是它工作时的样子:

在此输入图像描述

另外,如何以允许我一次查看多个对象的方式执行此操作.我意识到我真的想看到多个对象及其交互,而不仅仅是单个对象.(例如,寻找交叉路口等).

PS

有没有人在这样的地方看到调试器扩展?或者有任何关于如何修复现有的建议?

我以Visual Studio扩展的形式尝试过此操作,但也没有成功.有关详细信息,请参阅此问题.

c# vspackage vs-extensibility visual-studio-2012 geometry-class-library

10
推荐指数
1
解决办法
543
查看次数

何时使用Mock v.Stub,或两者都没有?

我一直在读Mocks和Stubs,他们的差异和用途.我仍然有点困惑,但我想我已经得到了它的主旨.

现在我想知道应用程序.我可以看到在测试场景中创建"假"对象的用法,其中实际对象太复杂而无法测试一个方面.

但是让我们考虑我的应用程序:我正在研究计算几何库.我们的库定义了点,线,linesegments,向量,多边形和多面体,以及一堆其他对象和所有常见的几何操作.任何给定对象都存储为点或方向列表或较低级别对象.但是这些对象都不会花费超过几毫秒的时间来生成.

当我测试这个库时,在任何地方使用Mocks/Stubs是否有意义?

现在我们只使用特定的测试用例.我们称它们为存根,但我认为它们不符合存根的技术定义.你觉得那个更好的词汇是什么?"测试用例"?"例子"?

SourceCode:https://bitbucket.org/Clearspan/geometry-class-library/src

编辑:请注意,我们正在努力在所有几何对象中保持不变性,因此测试操作结果只是有意义,而不是初始对象的状态更改.

c# unit-testing mocking stubs geometry-class-library

8
推荐指数
1
解决办法
808
查看次数

围绕多面体的最小矩形框

我正在寻找一种算法,找到包围多面体的最小盒子.

我的想法如下:找到最大的一侧,并移动实体,使侧面与x轴对齐.找到遇到这一侧的下一个最大的一侧,并将其尽可能靠近z轴对齐,同时将另一侧放在x上.然后,计算x,y和z的最大差异.使用这些尺寸创建周围的形状,然后将框移回对象的原始位置.

对此有更有效的策略吗?我的想法是否忽略了一些角落案例?

编辑:现在假设要限制的对象是凸的.虽然,对一般情况的答案也是受欢迎的.

polyhedra computational-geometry geometry-class-library

5
推荐指数
1
解决办法
198
查看次数

Outermost Polygon from a set of Edges

在此处输入图片说明Suppose I have a set of 2d line segments that are all connected. I need an algorithm that finds the outermost segments in the set. That is, the minimal subset that bounds the same region.

Note: this is not the same as finding the convex hull of the points making up the segments.

Edit: On the top is the initial set of segments. Below that is the same outline with interior segments deleted. (Ignore the little grey crosses, they're just …

line-segment computational-geometry geometry-class-library

5
推荐指数
1
解决办法
1552
查看次数