矩形旋转的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 ifeng
  • 开始时间 开始时间
I

ifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi中的矩形是水平的,但我想要矩形能旋转任意角度,并能填充颜色再画出来。
望大侠们解答。
 
Delphi中的矩形是水平的,但我想要矩形能旋转任意角度,并能填充颜色再画出来。
望大侠们解答。
 
旋转后就是一个多边形,用POLYGON(四个顶点)就可以了么!
 
兄弟能具体点吗,我第一次做这个。
 
是围绕顶点旋转,帮忙算出其他三个点的位置。谢谢!
初中几何忘了。
 
procedure RotatePoints(var Points: array of TPoint;//顶点
const Angle: Extended;//角度
const Org: TPoint);//原点
var
Sin, Cos: Extended;
Prime: TPoint;
I: Integer;
begin
SinCos(Angle, Sin, Cos);
for I := Low(Points) to High(Points) do
with Points do
begin
Prime.X := X - Org.X;
Prime.Y := Y - Org.Y;
X := Round(Prime.X * Cos - Prime.Y * Sin) + Org.X;
Y := Round(Prime.X * Sin + Prime.Y * Cos) + Org.Y;
end;
end;

我的初中几何也不好!
 
to wk_knife
里面有个函数 SinCos是不是这样的?
procedure SinCos(Angle:Extended;var ASin,ACos:Extended);
begin
ASin:=Sin(Angle);
ACos:=Cos(Angle);
end;
试一下,可以就放分!
 
我旋转90度,不对,超过90度了
 
笨 SinCos原来是MATH里的,哈哈!不好意思!
 
角度不对啊,兄弟
 
都要用弧度!
 
是的, 用弧度。 还有你哪个绕一点旋转的 公式好像有问题。
 
弧度和角度换算?
好象是初中题目,忘了,怎么换算?
 
已解决,散分!
公式没问题,在Math单元里找到换算的。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
781
import
I
I
回复
0
查看
641
import
I
后退
顶部