首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

简单的三角函数有关问题

2012-03-24 
简单的三角函数问题已知黑色点1,点2坐标,从点1到点2画了一条直线,点2到红色两个点的连线与已知线段夹角都

简单的三角函数问题

已知黑色点1,点2坐标,从点1到点2画了一条直线,点2到红色两个点的连线与已知线段夹角都是45度,点2到红色两点长度为10个像素,求红色两点中任一个坐标。



[解决办法]
你想画箭头?去找个画箭头的算法,一大把,可以任意角度。
[解决办法]

C# code
        public var Radius:int=6;               public var LineColor:uint=0x000000;        private function GetAngle(startX:Number,startY:Number,endX:Number,endY:Number):int        {            var tmpx:int=endX-startX ;            var tmpy:int=startY -endY ;            var angle:int= Math.atan2(tmpy,tmpx)*(180/Math.PI);            return angle;        }        private function drawArrow(startX:Number,startY:Number,endX:Number,endY:Number):void{                var angle:int= GetAngle(startX,startY,endX,endY);                var centerX:int=endX-Radius * Math.cos(angle *(Math.PI/180)) ;                var centerY:int=endY+Radius * Math.sin(angle *(Math.PI/180)) ;                var topX:int=endX ;                var topY:int=endY  ;                                var leftX:int=centerX + Radius * Math.cos((angle +120) *(Math.PI/180))  ;                var leftY:int=centerY - Radius * Math.sin((angle +120) *(Math.PI/180))  ;                                var rightX:int=centerX + Radius * Math.cos((angle +240) *(Math.PI/180))  ;                var rightY:int=centerY - Radius * Math.sin((angle +240) *(Math.PI/180))  ;                                s.graphics.beginFill(LineColor,1);                                s.graphics.lineStyle(1,LineColor,1);                                s.graphics.moveTo(topX,topY);                s.graphics.lineTo(leftX,leftY);                                s.graphics.lineTo(centerX,centerY);                                s.graphics.lineTo(rightX,rightY);                s.graphics.lineTo(topX,topY);                s.graphics.endFill();        }
[解决办法]
C/C++ code
dx=x2-x1;dy=y2-y1;d=sqrt(dx*dx+dy*dy);sqrt2=sqrt(2);x3=x2-dx*10/d/sqrt2+dy*10/d/sqrt2;y3=y2-dy*10/d/sqrt2-dx*10/d/sqrt2;x4=x2-dx*10/d/sqrt2-dy*10/d/sqrt2;y4=y2-dy*10/d/sqrt2+dx*10/d/sqrt2; 

热点排行