您现在的位置:首页 > 教案格式 > 正文

算法问题,,如何判断一条线段是否经过一个矩形?

2019-07-06 13:09 网络整理 教案网

java 判断坐标在矩形_已知矩形abcd是黄金矩形_如何判断是矩形

cjnetcjnet11-17 18:22

等级Bbs43楼

关注中,顶一下

julong88julong8811-17 18:30

等级Bbs44楼

toMyLf(不睡觉的鱼)

你仔细想想这样行吗?

计算几何(二)判断点是否在线段上

MyLfMyLf11-17 19:00

等级Bbs75楼

嗯,仔细想了想,还真不行。

呵呵。。。

怎么感觉像学校里的一道几何证明题?

编码实现Cohen-Sutherland端点编码算法

lijipanlijipan11-17 23:07

等级Bbs46楼

第一步:判断线段是否在直线内,即判断线段端点是否在矩形内;

(((x1-x)*(x2-x)+(y1-y)*(y2-y))<=0)

第二步:判断线段与矩形四边是否相交;

privateboolIfCross(floatx1,floaty1,floatx2,floaty2,floatx3,floaty3,floatx4,floaty4)

{

floatdet,t1_x_det,t2_x_det,det1,det2;

det=(x1-x2)*(y4-y3)-(x4-x3)*(y1-y2);

if(det!=0)

{

t1_x_det=(y4-y3)*(x4-x2)-(x4-x3)*(y4-y2);

t2_x_det=(x1-x2)*(y4-y2)-(y1-y2)*(x4-x2);

if(det<0)

{

det=-det;

t1_x_det=-t1_x_det;

t2_x_det=-t2_x_det;

}

return $this->.$this-><,6)==0){。return 0#include<.v]),反复思考。return e}),lt:pt(function(e,t,n){var r=0>n。

已知矩形abcd是黄金矩形_如何判断是矩形_java 判断坐标在矩形

}

else

{

det1=(x1-x2)*(y4-y2)-(y1-y2)*(x4-x2);

det2=(x4-x3)*(y4-y2)-(y4-y3)*(x4-x2);

if(det!=0||det2!=0)

{

returnFalse;

}

else

{

returnInside(x1,y1,x3,y3,x4,y4)||

Inside(x2,y2,x3,y3,x4,y4)||

Inside(x3,y3,x1,y1,x2,y2)||

Inside(x4,y4,x1,y1,x2,y2);

}

}

}

线段(向量)的计算(判断线段重叠、相交,合并线段,点与线的关系)

julong88julong8811-18 08:41

等级Bbs47楼

最好gdi+里有相应的功能,可我没找到

最好能效率高些,因为要判断很多次……

碰撞检测算法:点和矩形碰撞、点和圆形碰撞、矩形碰撞、圆形碰撞

julong88julong8811-18 08:45

等级Bbs48楼

在gdi+里就是判断一条线段是否经过剪切区

python判断两条线段是否相交

givenchygivenchy11-18 09:21

等级Bbs49楼

哈哈,MyLf(不睡觉的鱼)满可爱的。

多空的方法应该可用吧。

【程序员面试金典】对于一个有向图,请实现一个算法,找出两点之间是否存在一条路径。

TYCOON3342TYCOON334211-18 11:11

java 判断坐标在矩形_已知矩形abcd是黄金矩形_如何判断是矩形

等级Bbs110楼

方法應該是可行。但無論如何用數學乘除總會有誤差的,這種誤差會影響計算機的判斷能力!有沒有邏輯的方法???

计算几何(叉积和点积在算法上应用)

julong88julong8811-18 11:20

等级Bbs411楼

多空的方法不行,第一步就判断不准

给你一个(500,500,100,100)的矩形

一条x1=550,y1=550,x2=680,y2=680;

的线段

这条线段的端点在矩形内如何判断是矩形,你看能判断出来吗?

线段与圆是否相交

tiaocitiaoci11-18 11:47

等级Bbs712楼

计算机图形学里有的经典算法

矩形窗口的裁减

scala 实现:判断点是否在多边形内的算法

tiaocitiaoci11-18 11:49

等级Bbs713楼

Cohen-Sutherland算法,

7-120 矩形范围(判断一个点是否超出矩形范围)

MyLfMyLf11-18 15:02

等级Bbs714楼

给你一个(500,500,100,100)的矩形

一条x1=550,y1=550,x2=680,y2=680;

的线段

这条线段的端点在矩形内,你看能判断出来吗?

-----------------------------------------

这个用GDI+可以判断出来。

Rectangle有Contains(Point)方法可以知道某一点是否在矩形内。

但。。。这和你的问题没有直接关系。

python检测网格

seekgseekg11-18 15:24

等级Bbs415楼

Cohen-Sutherland算法

java 判断坐标在矩形_已知矩形abcd是黄金矩形_如何判断是矩形

像这样经典的算法GDI+里应该有吧,可一搜一下这个算法,应该有实现的。

要不查查图形学的书吧,书上还有代码,别自己想了,大师们早就想好了

flash判断旋转矩形是否相交

lijipanlijipan11-19 06:04

等级Bbs416楼

给你一个(500,500,100,100)的矩形

一条x1=550,y1=550,x2=680,y2=680;

的线段.....

村长同志,请你画一画,想一想,我的算法恰恰证明了这个线段没有经过矩形.

/680,680

/550,550

.500,500

.

100,100

线段是否经过矩形的函数

fsdy2000fsdy200011-19 09:49

等级Bbs417楼

(x,z)为终点c坐标,(u,w)为终点c相对于起点a坐标值的增量。•其中,x为移至的终点横坐标,y为移至终点的纵坐标,该方法可以反复调用,第一次调用后,画笔自动移至终点坐标位置,第二次调用时,又以该终点坐标位置作为第二次调用时的起点位置,开始绘制直线。 螺纹导程为1.5mm,δ =1.5mm, δ ′ =1mm ,每次吃刀量(直径值)分别为0.8mm、0.6 mm 、0.4mm、0.16mm、华中数控车床编程如下:%9003n10 g92 x50 z120 (设立坐标系,定义对刀点的位置)n20 m03 s300 (主轴以300r/min旋转)n30 g00 x29.2 z101.5(到螺纹起点,升速段1.5mm,吃刀深0.8mm)n40 g32 z19 f1.5 (切削螺纹到螺纹切削终点,降速段1mm)n50 g00 x40 (x轴方向快退)n60 z101.5 (z轴方向快退到螺纹起点处)n70 x28.6 (x轴方向快进到螺纹起点处,吃刀深0.6mm)n80 g32 z19 f1.5 (切削螺纹到螺纹切削终点)n90 g00 x40 (x轴方向快退)n100 z101.5 (z轴方向快退到螺纹起点处)n110 x28.2 (x轴方向快进到螺纹起点处,吃刀深0.4mm)n120 g32 z19 f1.5 (切削螺纹到螺纹切削终点)n130 g00 x40 (x轴方向快退)n140 z101.5 (z轴方向快退到螺纹起点处)n150 u-11.96 (x轴方向快进到螺纹起点处,吃刀深0.16mm)n160 g32 w-82.5 f1.5 (切削螺纹到螺纹切削终点)n170 g00 x40 (x轴方向快退)n180 x50 z120 (回对刀点)n190 m05 (主轴停)n200 m30 (主程序结束并复位)===================================================================例4.g90外圆固定循环指令编程,如下图点画线代表毛坯。

构建Line对应的Rectangle.newRectangle(LineStart.X-int.MinValue,LineStart.Y-int.MinValue,LineEnd.X+MinValue,LineEnd.Y+MinValue).

再和另一个Rectangle求交集。

也可都转换为Region再求交集。

涉及GDI+

方向检测,判断一个点位于射线的位于左边如何判断是矩形,右边,或者线上

julong88julong8811-19 11:20

等级Bbs418楼

toMyLf(不睡觉的鱼)

给你一个(500,500,100,100)的矩形

一条x1=550,y1=550,x2=680,y2=680;

的线段

这条线段的端点在矩形内,你看能判断出来吗?

-----------------------------------------

这个用GDI+可以判断出来。

Rectangle有Contains(Point)方法可以知道某一点是否在矩形内。

但。。。这和你的问题没有直接关系。

java 判断坐标在矩形_已知矩形abcd是黄金矩形_如何判断是矩形

=========================================

这个我当然知道,我是在判断一下多空的算法

to多空

我判断错了,不好意思:)

tofsdy2000(乡愁)

没看明白

二维空间内,如何判断两条线段是否相交,相离,平行,重合,并求交点

julong88julong8811-19 11:21

等级Bbs419楼

能吸引来众多算法高手,深感荣幸

现在还有一个问题就是如何准确判断

鼠标经过一条直线

判断两条线段是否相交 计算几何

julong88julong8811-19 11:21

等级Bbs420楼

可以令开贴放分

空间中直线段和三角形的相交算法

MyLfMyLf11-19 12:42

等级Bbs721楼

鼠标经过一条直线

--------------------

呵呵...这个就容易多了.

用GraphicsPath的IsVisible(Point)方法就可以了.

判断一个点是否在矩形内部

fsdy2000fsdy200011-19 15:49

等级Bbs422楼

线段有一个起点和终点。把起点和终点的x、y值同时减去和加上足够小的数,构成矩形的四个点。再将新构建的矩形和要判断的矩形进行交运算。上面的int.MinValue没有对,应该是绝对值足够小的数。

判断点在有向线段的左边还是右边

bytesoonbytesoon11-19 16:21

等级Bbs223楼

GZ

------------------------------------

我的团队:

欢迎访问,有志者共谋事,每天都有惊喜,SOHO

计算几何----判断两矩形是否相交