Arcgis中怎么画椭圆

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arcgis中怎么画椭圆相关的知识,希望对你有一定的参考价值。

在arcgis中的图形一般按点、线、面分别作为一个文件单独存储,简单的说,每个文件类似acad中的一个图层,首先确定你想画什么?是想画点、还是线、面,然后先用arccatalog生成点或线、面文件,运行arcgis,把文件加载进来(点击工具框中的+号),点击“editor”-“start editing”进入编辑状态,点击“editor“旁的铅笔图标就可以画图了,arcgis比一般的编辑软件要复杂,但功能也强大很多,最好还是到书店买一本书来参考。 参考技术A 用手画比较累人,也不太精确。可以用“表转椭圆”(table to ellipse)工具来绘制椭圆,具体步骤可查阅相关工具使用文档

在HTML5的Canvas上绘制椭圆的几种方法

HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结。各种方法各有优缺,视情况选用。各方法的参数相同,以下为两种常见的方法。

工具原料:浏览器、编辑器

方法一:参数方程法

1、函数的参数x,y为椭圆中心,a,b分别为椭圆横半轴、纵半轴长度,不可同时为0,该方法的缺点是,当lineWidth较宽,椭圆较扁时,椭圆内部长轴端较为尖锐,不平滑,效率较低,代码如下:

function ParamEllipse(context, x, y, a, b)

   //max是等于1除以长轴值a和b中的较大者
   //i每次循环增加1/max,表示度数的增加
   //这样可以使得每次循环所绘制的路径(弧线)接近1像素
   var step = (a > b) ? 1 / a : 1 / b;
   context.beginPath();
   context.moveTo(x + a, y); //从椭圆的左端点开始绘制
   for (var i = 0; i < 2 * Math.PI; i += step)
   
      //参数方程为x = a * cos(i), y = b * sin(i),
      //参数为i,表示度数(弧度)
      context.lineTo(x + a * Math.cos(i), y + b * Math.sin(i));
   
   context.closePath();
   context.stroke();
;

方法二:均匀压缩法

1、其方法是用arc方法绘制圆,结合scale进行,横轴或纵轴方向缩放(均匀压缩),这种方法绘制的椭圆的边离长轴端越近越粗,长轴端点的线宽是正常,边离短轴越近、椭圆越扁越细,甚至产生间断,这是scale导致的结果,这种缺点某些时候是优点,比如在表现环的立体效果(行星光环)时,对于参数a或b为0的情况,这种方法不适用,代码如下:

function EvenCompEllipse(context, x, y, a, b)

   context.save();
   //选择a、b中的较大者作为arc方法的半径参数
   var r = (a > b) ? a : b; 
   var ratioX = a / r; //横轴缩放比率
   var ratioY = b / r; //纵轴缩放比率
   context.scale(ratioX, ratioY); //进行缩放(均匀压缩)
   context.beginPath();
   //从椭圆的左端点开始逆时针绘制
   context.moveTo((x + a) / ratioX, y / ratioY);
   context.arc(x / ratioX, y / ratioY, r, 0, 2 * Math.PI);
   context.closePath();
   context.stroke();
   context.restore();
;
参考技术A

关于canvas绘制椭圆的方式在我的这篇博文里面有详细的描述.其实canvas是支持绘制椭圆的,只不过很多人转发博文的时候不带思考.把错的也给转发了.下面是链接Canvas绘制椭圆

以上是关于Arcgis中怎么画椭圆的主要内容,如果未能解决你的问题,请参考以下文章

如何用MATHCAD绘制椭圆

在HTML5的Canvas上绘制椭圆的几种方法

如何用 css 画出一个椭圆

置信椭圆与R画法

怎样动态演示椭圆的画法?

PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图