已知矩形的中心、半长及旋转角度,求四个顶点坐标

这段代码初始化了矩形顶点的坐标,首先设置了临时变量,然后检查矩形的长度是否合法。接着,通过欧拉坐标变换计算出矩形四个顶点的坐标,包括右上、左上、左下和右下角。最后返回这些坐标值。

*Initialize the variable for coordinate of vertexes of rectangle2

VertexesY:=[]

VertexesX:=[]

*Initialize the temperary variables

RowTem:=0

ColTem:=0

*Judge the rectangle if it is available

if(Len1<0 or Len2<0)

    return()

endif

*Compute the sine and cosine of tuple Phi

tuple_cos(Phi,Cos)

tuple_sin(Phi,Sin)

*Compute the coordinate of the upper-right vertex of rectangle

RowTem:=CenterY-Len1*Sin-Len2*Cos

ColTem:=CenterX+Len1*Cos-Len2*Sin

VertexesY:=[VertexesY,RowTem]

VertexesX:=[VertexesX,ColTem]

 

*Compute the coordinate of the upper-left vertex of rectangle

RowTem:=CenterY+Len1*Sin-Len2*Cos

ColTem:=CenterX-Len1*Cos-Len2*Sin

VertexesY:=[VertexesY,RowTem]

VertexesX:=[VertexesX,ColTem]

 

*Compute the coordinate of the bottom-left vertex of rectangle

RowTem:=CenterY+Len1*Sin+Len2*Cos

ColTem:=CenterX-Len1*Cos+Len2*Sin

VertexesY:=[VertexesY,RowTem]

VertexesX:=[VertexesX,ColTem]

 

*Compute the coordinate of the bottom-right vertex of rectangle

RowTem:=CenterY-Len1*Sin+Len2*Cos

ColTem:=CenterX+Len1*Cos+Len2*Sin

VertexesY:=[VertexesY,RowTem]

VertexesX:=[VertexesX,ColTem]

return ()

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值