精华内容
下载资源
问答
  • 画多边形实例

    2011-10-21 15:38:40
    在网页上画多边形实例,在网页上画多边形实例
  • 中点画线 画多边形

    2011-12-14 14:26:28
    利用中点画线算法画多边形,包含算法思路,和主程序代码
  • Unity画多边形

    2017-09-12 18:08:37
    在Unity 3d中画多边形区域,下载后请直接查看Scene00和Scene01,没有第三方插件,没有使用Shader,开心的学习吧!
  • 画多边形Winform程序

    2013-07-28 23:55:05
    画多边形Winform程序
  • vb 画多边形

    2011-11-18 21:08:42
    实现画多边形,可以更改边数,有兴趣的看看 vb 多边形
  • 鼠标点击左键,画多边形。画完一个多边形之后,双击窗体,然后开始画第二个多边形 鼠标点击左键,画多边形。画完一个多边形之后,双击窗体,然后开始画第二个多边形
  • Winform 画多边形

    2012-06-04 10:55:17
    用C#在winform画多边形,图片可以保存,读取显示!
  • 画多边形 VC++

    2012-12-31 20:28:38
    实现任意给定多边形的扫描多边形填充算法; 基于OpenGL的框架,要求按逆时针顺序给定的多边形顶点,多边形,并用填充颜色。
  • c# 画多边形方法

    2013-05-27 19:25:02
    c# 画多边形方法
  • 画多边形

    千次阅读 2019-05-11 10:15:30
    在现有的graphics库的基础上,设计一个新图形绘制系统。 除了已有的笔的概念(有当前位置)之外,再增加一个表示当前... /*沿当前方向线,长度为distance,当distance为负数时后退*/ void turn (double angle)...

    在现有的graphics库的基础上,设计一个新图形绘制系统。

    除了已有的笔的概念(有当前位置)之外,再增加一个表示当前角度的全局变量,初始值为0,表示坐标轴的横轴方向(正东)。

    然后实现以下两个函数:

    void forward(double distance); /*沿当前方向画线,长度为distance,当distance为负数时后退*/

    void turn (double angle);  /*顺时针旋转角度angle,角度单位为DEG,当angle为负数时逆时针旋转*/

    void move(double distance); /*沿当前方向移动笔(不画线),长度为distance,当distance为负数时后退*/

      在实现以上全局变量和函数的基础上,用以上函数画出下面的图形:

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <stddef.h>
    #include "graphics.h"
    #include "genlib.h"
    #include "conio.h"
    
    #include <windows.h>
    #include <olectl.h>
    #include <mmsystem.h>
    #include <wingdi.h>
    #include <ole2.h>
    #include <ocidl.h>
    #include <winuser.h>
    #include <math.h> 
    
    #define PI 3.1415926
    
    void forward(double distance);
    void turn(double angle);
    void move(double distance);
    void draw();
    
    double nowangle=0.0;//write down the current direction,east is 0.0
    double indexangle;
    void Main() 
    {
    	double cx, cy;
    	int i;
        InitGraphics();
        cx=GetWindowWidth()/2;
        cy=GetWindowHeight()/2;
        SetPenColor("green");
        for(i=0;i<18;i++){
        	MovePen(cx,cy);
        	draw();
        	nowangle=nowangle+20.0;
        	indexangle=nowangle;
    	}
    	_getch();
    }
    
    void draw()
    {
    	forward(1);
    	turn(60);
    	forward(1);
    	turn(-120);
    	forward(1);
    	turn(-60);
    	forward(1);
    	turn(-120);
    	forward(1);
    }
    
    void forward(double distance)
    {
    	DrawLine(distance*sin(indexangle*PI/180),distance*cos(indexangle*PI/180));
    }
    
    void turn(double angle)
    {
    	indexangle=indexangle+angle;
    }
    
    void move(double distance)
    {
    	MovePen((double)GetCurrentX()+distance*sin(indexangle*PI/180),(double)GetCurrentY()+distance*cos(indexangle*PI/180));
    }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • C#鼠标画多边形和矩形 C#实现类画图软件功能,可以用鼠标在界面上画多边形 矩形 圆形 或者充当画笔画任意形状
  • 鼠标画多边形C++实现

    热门讨论 2010-06-24 21:04:22
    鼠标画多边形C++实现 这里只是用画多边形的函数实现的画多边形 但其中技巧望大家认真看代码
  • C# Winform 画多边形源码
  • 图形学 画线 画多边形 填充算法 填充有种子和扫描线法
  • c++ MFC 画多边形

    热门讨论 2009-05-17 22:01:07
    vc++ mfc画多边形,鼠标左击确定点,右击画图。
  • 摘要:VC/C++源码,图形处理,画多边形 就是使用鼠标画图,数组定义为20,画出多边形,VC源代码。用鼠标点击两点,即可画出一条直线。
  • 近期因为需要做一些特殊计算的缘故,想到使用Maptalks 一些多边形作为基础物理地块( 至于为什么要使用maptalks?因为刚好看了下Maptalks的3D展示Linestring)

      近期因为需要做一些特殊计算的缘故,想到使用Maptalks 画一些多边形作为基础物理地块( 至于为什么要使用maptalks?因为刚好看了下Maptalks的3D展示Linestring、Polygon的效果图,并根据官网Demo做了一些编辑,加了自己需要的数据来展示效果, Maptalks加载地图也很快)。

      一下做的一些修改都是基于Maptalks官网的Demo做的一些修改:https://maptalks.org/examples/cn/interaction/draw-tool/

    官网的绘制工具Demo:

     

      上面提到,我不仅需要绘制一些多边形,还要保存数据,所以我加了 下载按钮。在画图期间其实我也遇到了因为拖动地图不小心触发画多边形的事件,导致不得不画一个多边形, 所以我又加了个删除刚画的多边形的按钮 : Clear Last Draw.

     

    效果图:

    1、画几个多边形,最下面那个随便画的,会删除

    2、点击Clear-last-draw删除最后画的那个

    3、点击Download Geometries下载页面上展示的三个多边形数据。 数据会以Array的形式保存到txt文件里。在这里我是用node.js读取这个txt文件,并以需要的格式入库。

      关键部分,js代码:

    var map = new maptalks.Map('map', {
      center: [121.726616,31.106884],
      zoom: 14,
      baseLayer: new maptalks.TileLayer('base', {
        urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
        subdomains: ['a', 'b', 'c', 'd'],
        attribution: '© <a href="http://osm.org">OpenStreetMap</a>  contributors, © <a href="https://carto.com/">CARTO</a> '
      })
    });
    
    var layer = new maptalks.VectorLayer('vector').addTo(map);
    
    var resultList = [];
    var drawTool = new maptalks.DrawTool({
     mode : 'Polygon',
      symbol : {
        'lineColor' : '#000',
        'lineWidth' : 2
      }
    }).addTo(map).disable();
    
    drawTool.on('drawend', function(param) {
      console.log(param.geometry.toGeoJSON().geometry.coordinates);
      resultList.push(param.geometry.toGeoJSON().geometry.coordinates);
      
      console.log(resultList.length);
      
      layer.addGeometry(param.geometry);
      
    });
    
    var items = ['Point', 'LineString', 'Polygon', 'Circle', 'Ellipse', 'Rectangle', 'FreeHandLineString', 'FreeHandPolygon'].map(function(value) {
      return {
        item: value,
        click: function() {
          drawTool.setMode(value).enable();
        }
      };
    });
    
    var toolbar = new maptalks.control.Toolbar({
      items: [{
        item: 'Shape',
        children: items
      }, {
        item: 'Disable',
        click: function() {
          drawTool.disable();
        }
      }, {
        item: 'Clear-last-draw',
        click: function() {
          layer.removeGeometry(layer.getLastGeometry())
          resultList.pop();
          console.log(resultList.length, resultList);
        }
      }, {
        item: 'Download Geometries',
        click: function() {
          console.log(resultList.length)
          //调用方法
          download("polygon-list.txt",  JSON.stringify(resultList));
          resultList = [];
        }
      }, {
        item: 'Clear All',
        click: function() {
          console.log(resultList.length)
          layer.clear();
          resultList = [];
        }
      }]
    }).addTo(map);
    
    function download(name, data) {
        var urlObject = window.URL || window.webkitURL || window;
    
        var downloadData = new Blob([data]);
    
        var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
        save_link.href = urlObject.createObjectURL(downloadData);
        save_link.download = name;
        fake_click(save_link);
    }
    function fake_click(obj) {
        var ev = document.createEvent("MouseEvents");
        ev.initMouseEvent(
            "click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null
        );
        obj.dispatchEvent(ev);
    }

     

    展开全文
  • 画多边形的程序

    2007-07-26 00:08:04
    是一个画多边形的软件,有帮助文件,支持鼠标,文件,画多边形
  • 用python写的可以在屏幕多个多边形的勾边程序
  • 使用Turtle画多边形总结 说明:下方所有的绘制都是满足一笔画的,因为一笔画才总结于此,但是我感觉turtle的意义应该在于起笔落笔和循环,加上笔者学的不精,全为个人看法,所以提前说明。 多边形画法总结 方法一:...
  • 一款C#编写的多边形制作Winform程序。
  • canvas画多边形

    2017-04-11 16:25:00
    <canvas id = "myCanvas" width = '500' height = '500'>... Canvas多边形 </canvas><script> var myCanvas = document.getElementById("myCanvas"); var context = m...

     

     

    <canvas id = "myCanvas" width = '500' height = '500'>
       Canvas画正多边形
    </canvas><script>
    	
    
     var myCanvas = document.getElementById("myCanvas");
      var context =  myCanvas.getContext("2d");
       function drawPath(x, y, n, r)
       {
         var i,ang;
         ang = Math.PI*2/n //旋转的角度
         context.save();//保存状态
         context.fillStyle ='rgba(255,0,0,.3)';//填充红色,半透明
         context.strokeStyle ='hsl(120,50%,50%)';//填充绿色
         context.lineWidth = 1;//设置线宽
         context.translate(x, y);//原点移到x,y处,即要画的多边形中心
         context.moveTo(0, -r);//据中心r距离处画点
         context.beginPath();
         for(i = 0;i < n; i ++)
         {
          context.rotate(ang)//旋转
          context.lineTo(0, -r);//据中心r距离处连线
          }
          context.closePath();
          context.stroke();
          context.fill();
          context.restore();//返回原始状态
        }
        drawPath(100, 100, 5, 40)//在100,100处画一个半径为40的五边形
        drawPath(200, 100, 3, 40)//在200,100处画一个半径为40的三角形
        drawPath(300, 100, 7, 40)//在300,100处画一个半径为40的七边形
        drawPath(100, 200, 15, 40)//在100,200处画一个半径为40的十五边形
        drawPath(200, 200, 4, 40)//在100,200处画一个半径为40的四边形
    
    </script>
    

     

    转载于:https://www.cnblogs.com/anxiaoyu/p/6694090.html

    展开全文
  • 摘要:C#源码,菜单窗体,多边形窗体,Winform WinformC#编写的多边形制作Winform程序,绘画多边形的C#窗体WinForm程序,就像是Windows的画图程序,可线,可一些多边形,根据两点一线直接画图。我觉得不错。
  • 图形学 画直线,画圆 画多边形 多边形的填充、变换 线段的裁剪
  • MFC实现的简单画多边形程序,按压鼠标左键作为起点,再次点下是前一段线的终点另一条边的起点,当点下鼠标右键时,颜色填充多边形内部。
  • 实现了MFC框架下,基于opengl直线,圆,多边形以及填充的算法。
  • 一款C#编写的多边形制作Winform程序。
  • 计算机图形学利用边标志算法画多边形

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,401
精华内容 17,360
关键字:

怎样画多边形