2011-01-10 26 views
4

我想在Mathematica的单个2D图上绘制多个,也许是数千个线段。这些线段将根据将检测并保存每个段端点的算法确定。一旦算法确定了有限的二维绘图域和范围内的所有线段(例如,x = 0,4和y = 0,0.5),我想将它们全部绘制在单个绘图上。 感谢您的任何建议。Mathematica中2D图上的多个线段的图形

回答

5

像这样的东西?

detectEndPoints := { 
    {RandomReal[{0, 4}], RandomReal[{0, 5}]}, 
    {RandomReal[{0, 4}], RandomReal[{0, 5}]}}; 

segments = Table[detectEndPoints , {1000}]; 

(* Graphics[Line /@ segments] Old Way *) 
Graphics[Line @ segments] (* Valid since V6. Thanks @Mark McClure *) 

alt text

HTH!

编辑

重读你的问题,我不知道您是否通过确定每次一个端点或一组非连接段(如上)产生连续线。万一你要不断方式:

detectEndPointsV2[i_] := {Cos[2 Pi i 17/100], Sin[2 Pi 17 i/100]}; 
segments = Table[detectEndPointsV2[i], {i, 101}]; 
Graphics[[email protected]] 

alt text

+0

需要注意的是,由于V6,您可以在这两种情况下使用图形[行@段];您无需在第一种情况下将线映射到线段上。这大大加快了渲染速度。如果您想绘制10,000个细分,则会产生很大的差异。 – 2011-01-10 17:21:21