as3求直线与圆的交点坐标

 计算是对的,误差太大
 /////////////////////////////////////////////
 //复制到第一帧,效果显示交点坐标
 //
 /////////////////////////////////////////////
 var Arr:Array=new Array(); 
 Arr.push({m_type:null});//0
 Arr.push({m_type:"point",m_x:100,m_y:100});//1
 Arr.push({m_type:"point",m_x:200,m_y:200});//2
 Arr.push({m_type:"line2",m_p1:1,m_p2:2});  //3
 Arr.push({m_type:"point",m_x:100,m_y:200});//4
 Arr.push({m_type:"point",m_x:160,m_y:160});//5
 Arr.push({m_type:"circle",m_center:4,m_point:5});//6
 //以上是圆6和线3
  
 chuizu(3,6);
 
function chuizu(line:Number,circle:Number){
 
 //圆的两个控制点信息
 
 var circle_center:Number =Arr[circle].m_center;
 var circle_point:Number =Arr[circle].m_point;
 
 var circle_center_x:Number =Arr[circle_center].m_x;
 var circle_center_y:Number =Arr[circle_center].m_y;
 var circle_point_x:Number =Arr[circle_point].m_x;
 var circle_point_y:Number =Arr[circle_point].m_y;
 
 //线的两个控制点信息
 
 var line_p1:Number =Arr[line].m_p1;
 var line_p2:Number =Arr[line].m_p2;
 
 var line_p1_x:Number =Arr[line_p1].m_x;
 var line_p1_y:Number =Arr[line_p1].m_y;
 var line_p2_x:Number =Arr[line_p2].m_x;
 var line_p2_y:Number =Arr[line_p2].m_y;
 
 //圆心作圆弦垂线 垂足信息
 
 var line_k1:Number =(line_p2_y-line_p1_y)/(line_p2_x-line_p1_x);
 var line_b1:Number =line_p1_y-line_k1*line_p1_x;
 var line_k2:Number =-1/line_k1;
 var line_b2:Number =circle_center_y-line_k2*circle_center_x;
 
 var node_x:Number =(line_b1-line_b2)/(line_k2-line_k1);
 var node_y:Number =(line_k2*line_b1-line_k1*line_b2)/(line_k2-line_k1);
 
 trace(node_x,node_y);
 //半径 圆心到弦的距离
 
 var circle_radius:Number =Math.sqrt((circle_center_x-circle_point_x)*(circle_center_x-circle_point_x)+(circle_center_y-circle_point_y)*(circle_center_y-circle_point_y))
 var center_line_d:Number =Math.sqrt((circle_center_x - node_x)*(circle_center_x-node_x)+(circle_center_y-node_y)*(circle_center_y-node_y))
 
 //焦点坐标
 if(circle_radius == center_line_d){
  trace(node_x,node_y);
 }else if(circle_radius
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1953.html
内容概要:本文介绍了一个基于Matlab的综合能源系统优化调度仿真资源,重点实现了含光热电站、有机朗肯循环(ORC)和电含光热电站、有机有机朗肯循环、P2G的综合能源优化调度(Matlab代码实现)转气(P2G)技术的冷、热、电多能互补系统的优化调度模型。该模型充分考虑多种能源形式的协同转换利用,通过Matlab代码构建系统架构、设定约束条件并解优化目标,旨在提升综合能源系统的运行效率经济性,同时兼顾灵活性供需不确定性下的储能优化配置问题。文中还提到了相关仿真技术支持,如YALMIP工具包的应用,适用于复杂能源系统的建模解。; 适合人群:具备一定Matlab编程基础和能源系统背景知识的科研人员、研究生及工程技术人员,尤其适合从事综合能源系统、可再生能源利用、电力系统优化等方向的研究者。; 使用场景及目标:①研究含光热、ORC和P2G的多能系统协调调度机制;②开展考虑不确定性的储能优化配置经济调度仿真;③学习Matlab在能源系统优化中的建模解方法,复现高水平论文(如EI期刊)中的算法案例。; 阅读建议:建议读者结合文档提供的网盘资源,下载完整代码和案例文件,按照目录顺序逐步学习,重点关注模型构建逻辑、约束设置解器调用方式,并通过修改参数进行仿真实验,加深对综合能源系统优化调度的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值