用DrawArc(Pen,int,int,int,int,int,int)画了一条圆弧,我知道它的起点坐标和终点坐标,我想求这条圆弧上离终点坐标很近的一个点的坐标(很接近就可以,但必须是这条圆弧上面的),如何实现??
解决方案 »
- Devexpress gridview单元格的边框怎么改
- 页面刷新闪烁问题!!!!!!急!!!求救
- 我使用winfrom获取网站的代码,为什么中文字是乱码?
- 请问怎样四舍五入保留两位小数?
- C#中怎么将select的数据update
- datagrid分页
- 在TCP Socket中使用Send发送数据一次后,并没有调用过Close就失去连接
- asp.net中使用C#的问题
- 求一个介绍Visual Studio 2005的PPT(最好还有相关资料)
- remoting的问题!!急!急!急!急!急!急!急!急!在线,内容见内!!
- 如何选择tabPage控件中的子空间pictureBox?
- 定义类前的public作用是什么,如果改为private则有什么变化;与类的字段变量前private含义一样吗?
(2)求经过圆心坐标、终点坐标的线的斜率k;
(3)(假设k不是无穷大或0)可以得出经过终点的弧的切线方程:y-y3=-1/k(x-x3);
画小三角的位置可以依此线确定。
用相邻的离散点来求斜率误差很大,建议不要用这种思路。有兴趣的话你可从弧线函数入手。如果要画小三角则很容易。
GDI+的画笔可以指定起点和终点的形状,比如pen.EndCap = LineCap.ArrowAnchor就在线段的终点画了一个小箭头。如果小箭头或其他内置的形状不满足你的需求,还可以自定义线头和线尾的形状:
// 创建一个自定义的形状
GraphicsPath arrowPath = new GraphicsPath();
arrowPath.AddLine(new Point(-2, -3), new Point(0, 0));
arrowPath.AddLine(new Point(0, 0), new Point(+2, -3));// 创建画笔,并指定线尾的形状。
Pen pen = new Pen(Color.DarkCyan, 3);
pen.EndCap = LineCap.Custom;
pen.CustomEndCap = new CustomLineCap(null, arrowPath);// 画弧
e.Graphics.DrawArc(pen, 0,0,100,200, 45, 270);