有一个椭圆是用矩形表示的(Graphics.DrawEllipse的参数),已知椭圆外一点,现在要从椭圆边线上画出一条直线与该点相连,并且要求是最短的直线,怎么求出椭圆上的那一点呢?public PointF aaa(Rectangle 椭圆,Point 椭圆外一点)
{
...
...
return 我要求的点;
}
{
...
...
return 我要求的点;
}
解决方案 »
- sheet.get_range(cell1,cell2)的问题
- C# ftp 如何判断服务器上的文件夹是否存在
- label未将对象实例化
- C#的checkedlistbox的控件如何绑定?
- 我在窗体中有一个Toolstrip,Toolstrip中添加一个ToolstripTextBox1,可是不管用TAB键,或用 ToolstripTExtbox1
- VS.NET与IIS安装问题
- 怎么用c#调用运行word文档的宏?
- 獲取磁空間問題,UP有分
- 在c# winform!中如何自定义打印模板,让客户在程序中自己设计打印模板?高分,在线等!!!
- Aforge.net 怎么链接远程摄像头?
- 自定义panel时 在重载方法里画边框时 用的相同的画笔 出现上边框和左边框 比有边框 和下边框 宽度要大 源码在帖子里面 希望指点
- c# 中用 IOCP 完成端口 碰到问题,请C#高手赐教
求一点P2(x2,y2)在椭圆上并且满足P1P2距离最近.
分解:这样的P2满足在椭圆上并且过该点的椭圆的切线与P1P2直线垂直.
解决:
1)过P2点切线公式:x2 * X / a^2 + y2 * Y / b^2 = 1. 那么切线的斜率是k1 = (b^2 * x2) / (a^2 * y2).
2)直线P1P2斜率是k2 = (y2 - y1) / (x2 - x1).
3)两直线垂直,那么k1 * k2 = -1.
这样((b^2 * x2) / (a^2 * y2)) * ((y2 - y1)/(x2 - x1)) = -1(公式一)
加上P2满足椭圆公式。两个方程两个未知数.
=========
找到的资料,楼主参考一下吧。
我是用Graphics.DrawEllipse()画的椭圆,参数是一个矩形,怎么得出椭圆公司呢?
x2^2 / a^2 + y2^2 / b^2 = 1
((b^2*x2)/(a^2*y2))*((y2-y1)/(x2-x1))=-1我x1,y1用c,d替换,x2,y2用x,y替换x^2 / a^2 + y^2 / b^2 = 1
((b^2*x)/(a^2*y))*((y-d)/(x-c))=-1其中 a,b,c,d已知解了半天都没有解出来啊,谁帮帮我啊!!!
(aa-bb)sintcos-(ax0sint-by0cost)=0
解得:
t=f(x0,y0)
不会算