绘制二维坐标系的圆弧

问题描述

圆弧的起点、终点、圆心坐标已知(平面任意分布),现在想画出圆弧(可能是劣弧,可能是优弧),这里也涉及到顺时针、逆时针问题,stareanglesweepangle都是变动的,怎么分情况呢,谢谢。你们的点滴帮助,我都会万分感谢。

解决方案

解决方案二:
好像很简单啊,drawarc不就可以用吗?起始角度和扫描波束都可以设置,逆时针顺时针无非是角度转换的问题,如果要控制画线的速度,用定时器~
解决方案三:
我上周写过给三个点,用gdiplus绘制弧线的程序,c++代码,x1x2x3是三点坐标,算出圆心半径,xy是圆心坐标这是我自己写的算法,判断弧线划过部分,可能有更好办法dStartAngledSweepAnglestartAngle=atan2((y1-y),(x1-x))*180/pi;//点到圆心与X轴正方向夹角middleAngle=atan2((y2-y),(x2-x))*180/pi;//中间点endAngle=atan2((y3-y),(x3-x))*180/pi;//结束点stuArcData.dStartAngle=startAngle;//弧线开始角度/*弧线划过角度*/if(startAngle<middleAngle&&middleAngle<endAngle)//判断三点角度确定弧线划过角度{stuArcData.dSweepAngle=endAngle-startAngle;}elseif(startAngle<endAngle&&endAngle<middleAngle){stuArcData.dSweepAngle=(360+(startAngle-endAngle))*-1;}elseif(middleAngle<startAngle&&startAngle<endAngle){stuArcData.dSweepAngle=(360+(startAngle-endAngle))*-1;}elseif(middleAngle<endAngle&&endAngle<startAngle){stuArcData.dSweepAngle=360-(startAngle-endAngle);}elseif(endAngle<startAngle&&startAngle<middleAngle){stuArcData.dSweepAngle=360-(startAngle-endAngle);}elseif(endAngle<middleAngle&&middleAngle<startAngle){stuArcData.dSweepAngle=(startAngle-endAngle)*-1;}

时间: 2024-09-21 19:57:10

绘制二维坐标系的圆弧的相关文章

2d绘制-jsp页面如何绘制二维坐标系

问题描述 jsp页面如何绘制二维坐标系 请问jsp页面可以绘制二维的坐标系吗,xy轴对应的数据来自所关联的数据库,这样的功能可以实现吗,求大神赐教! 解决方案 坐标轴用图片表示,点可以用像素来显示 或者把所有的点隐藏,然后,根据数据点对应的ID显学

matlab中绘制二维图形

  matlab中有时为了看清方程,更加系统的了解方程,常常需要画图表达,那么为了绘制二维图形就需要了解matlab中常用的图形功能,下面介绍一下matlab中的二维图形功能. plot(x) ------------根据向量绘制二维曲线,例如: x=[1,2,3,5,4,3.5,2,0]; plot(x) plot(x,y)------------根据向量x,y绘制二维图形; 在matlab中利用plot(x,y)绘制y=2x^2(0<=x<=10)d的图形 x=linspace(0,10,

教你用CAD软件绘制二维弹簧

弹簧的画法有很多种,本文介绍在CAD软件操作中两种比较简单的画二维弹簧的方法: 方法一:使用阵列 先绘制一个V字型的图形,如下图所示,作为弹簧的基本部件: 再使用矩形阵列就可以了: 方法二 : 先简单地画好弹簧的基本线经,然后画出内/径,再向上方向复制好节距,然后把第一排圆 的切点切到第二排圆的切点.   本文摘选自:<CAD画二维弹簧> http://www.zwcad.com/jishushequ/zwcadwenti/1213.html

关于VB2008中MSChart控件绘制二维折线图时更改线宽

问题描述 各位高手,1.我在VB2008(.net3.5sp1)中用MSChart控件绘制折线图时,线宽似乎默认为1个像素,我觉得太粗了,绘制3万多点无法分清,有无属性可以缩小此线宽????2.我在MSDN和Google及Baidu中均查过,未找到适用VB2008的.找到MSChart.Plot.SeriesCollection.pen.width只有VisualBasic.NET2003中有,在2008中打不出来的请高手赐教请写详细点属性的位置如果试过那就更感谢了!!! 解决方案 解决方案二:

java实现二维码([带]logo)的绘制和解析(zxing by google)

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度:具有一定的校验功能等.同时还具有对不同行的信息自动识

Android简明开发教程八:引路蜂二维图形绘制实例功能定义

有了前面对Android平台的介绍,基本上可以开始编写Android应用了,这里将以绘制二维图形为例,对Android开发的一般方 法做过介绍,其中涉及到自定义Application类,扩展View,Intent定义,发送消息,Data Binding(Adapter),和基本UI设计 .示例没有使用Android平台自带的二维图形API,而是调用了引路蜂二维图形库,引路蜂二维图形库Graphics 2D API实现了移 动平台上图形引擎,它能够以一种统一的方式处理各种基本图形(Shape),路

java实现二维码([带]logo)的绘制和解析(swetake.util.Qrcode)

使用jar:qrcode.jar和源码twodimensioncode: 1:绘制二维码: package com.tsxs.tools.twodimensioncode; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStrea

vfplot 1.0.10发布 二维矢量场绘制工具

vfplot 是一款绘制二维矢量场的工具,使用弯曲的箭头和自适应布置来完成.该工具可以作为输入网格(多种格式)或编译,以PostScript格式输出. vfplot 1.0.10该版本的多线程代码已重写,在一个多处理器的硬件上大幅加速.支持gfs2xyz2D实用的Gerris库更新到http://www.aliyun.com/zixun/aggregation/29707.html">最新版本. 软件信息:http://soliton.vm.bytemark.co.uk/pub/vfplo

《MATLAB图像处理375例》——第2章 MATLAB图形的可视化 2.1 二维绘图

第2章 MATLAB图形的可视化 MATLAB图像处理375例数据可视化是MATLAB一项重要的功能.MATLAB所提供的丰富绘图功能,使得工程科研人员从繁琐的绘图细节中脱离出来,并专注于最关心的本质.通过数据可视化的方法,工程科研人员可以对样本数据的分布.趋势特性有一个直观的了解. 2.1 二维绘图 MATLAB图像处理375例在MATLAB中绘制二维图形,通常采用以下步骤. (1)准备数据. (2)设置当前绘图区. (3)绘制图形. (4)设置图形中曲线和标记点格式. (5)设置坐标轴和网格