找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1127|回复: 16

[求助]:已知起点终点和弧长,如何求圆心?

[复制链接]
发表于 2004-8-5 21:57:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
已知起点终点和弧长,如何求圆心?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-8-6 14:02:04 | 显示全部楼层
回学校学基础数学!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-8-6 17:16:22 | 显示全部楼层
我怕学校不收我了!
我在大学只学过经济方面(概率等)的数学
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 20:23:31 | 显示全部楼层
void Cad_GetArcCenter(AcGePoint3d Pt1,AcGePoint3d Pt2,double Bul,AcGePoint3d *PtCenter,double *R,double *BegA,double *EndA)
//根据两点和凸率求圆心
{ AcGePoint3d Pt0,Pt;
  AcGeVector3d vv;
  double Angle,Radius;

  if (Bul<0) { Pt=Pt2; Pt2=Pt1; Pt1=Pt; Bul=-Bul; }
  Angle=atan(Bul)*4;
  Radius=(Cad_LsegLength(Pt1,Pt2)/2)/sin(Angle/2);
  Angle=PI/2-Angle/2;
  vv=Pt2-Pt1; vv.normalize();
  Pt0=Pt1+vv.rotateBy(Angle,AcGeVector3d(0,0,1))*Radius;
  *PtCenter=Pt0;
  if (R!=NULL) *R=Cad_LsegLength(Pt0,Pt1);
  if (BegA!=NULL) *BegA=Cad_VectorToAngle(Pt1-Pt0);
  if (EndA!=NULL) *EndA=Cad_VectorToAngle(Pt2-Pt0);
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 21:16:25 | 显示全部楼层
两点距离公式:D=sqrt((x2-x1)^2+(y2-y1)^2)
知道了两点,就可以求出两点间直线距离D
假设弧线的角度为A(弧度),半径为R,已知弧长为C,得以下等式
C=A*R
D=sin(A/2)*R*2
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 23:33:46 | 显示全部楼层
其实利用AcGe Helper 类的AcGeCircArc2d类,可以非常方便的得到,以后大家在求对象的几何性质的时候,不放多利用下AcGe Helper类


code:
AcGeCircArc2d(
const AcGePoint2d& startPoint,
const AcGePoint2d& endPoint,
double bulge,
Adesk::Boolean bulgeFlag = Adesk::kTrue);
startPoint Input start point of arc
endPoint Input endpoint of arc
bulge Input bulge distance
bulgeFlag Input how to interpret bulge distance for arc calculation
Constructs an arc with the specified start and endpoints. If a line is drawn
between startPoint and endPoint, then the distance between this line
and the midpoint of the constructed arc is equal to the bulge distance.
The direction of the constructed arc is always counterclockwise.
startPoint must be different than endPoint. This constructor always
constructs a bounded arc and cannot be used to construct a full circle. If
bulgeFlag is Adesk::kTrue, then bulge is interpreted to be the maximum
distance between the arc and the chord between the two input points. If
bulgeFlag is Adesk::kFalse, then bulge is interpreted to be the tangent of
1/4 the included angle (tan(ang/4)), where ang is the angle of the arc
segment between the two input points.
所以代码可以简单的写成:
code:
AcGeCircArc2d mArc(startPt,endPt,bulge); //利用构造函数得到几何圆弧数学模型
AcGePoint2d cenPt=mArc.center(); //得到圆心。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 23:57:50 | 显示全部楼层
非常感谢!又学会一招!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-7 00:36:47 | 显示全部楼层
朝闻道,夕睡可矣!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-8-7 10:17:06 | 显示全部楼层
多谢各位!

yusongrong 的方法中,我把弧长直接放入bulge参数中得的的结果不正确。
我应如何根据弧长得到bulge参数?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-7 12:13:37 | 显示全部楼层
弧长!=Bulge
不只一个圆心!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-8-9 09:20:38 | 显示全部楼层
最初由 小树袋熊 发布
[B]两点距离公式:D=sqrt((x2-x1)^2+(y2-y1)^2)
知道了两点,就可以求出两点间直线距离D
假设弧线的角度为A(弧度),半径为R,已知弧长为C,得以下等式
C=A*R
D=sin(A/2)*R*2 [/B]


用导数化简后为:C/arcsin(sqrt(C*C-D*D)/C)

D=200;
C=314.1593;
代入不对,R=172.....。
R应为100。
我的化简结果不对?应如何化简
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-17 10:37:38 | 显示全部楼层
在后面可以多知道些,谢了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-12 09:53:45 | 显示全部楼层
AcGeCircArc2d类



表示2D空间中的圆和圆弧。



继承自

AcGeCurve2d



包含文件

gearc2d.h



参见

AcGeTol



成员



AcGeCircArc2d建构器和析构器



AcGeCircArc2d::AcGeCircArc2d Function

AcGeCircArc2d(

const AcGeCircArc2d& arc);

arc
输入任意的2D弧线


建构一条与输入弧线相同的2D弧线。


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

AcGeCircArc2d(

const AcGePoint2d& cent,

double radius);

cent
输入圆的中心

radius
输入圆的半径


以输入的圆心和半径建构一圆。半径一定不为0。


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

AcGeCircArc2d(

const AcGePoint2d& cent,

double radius,

double startAngle,

double endAngle,

const AcGeVector2d& refVec = AcGeVector2d::kXAxis,

Adesk::Boolean isClockWise = Adesk::kFalse);

cent
输入圆弧的中心

radius
输入圆弧的半径

startAngle
输入圆弧起点角度

endAngle
输入圆弧终点角度

refVec
输入测量圆弧角度的参考向量

isClockWise
输入圆弧方向


以指定的中心、半径、起始角度和终止角度建构一圆弧。以弧线上的一点和中心点作一向量,并以该向量和参考向量(refVec)来测量角度。最后一个参数指定角度是顺时针还是逆时针。终止角度必须比起始角度大。若要建构一个圆,则终止角度和起始角度之差为2 x Pi。


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

AcGeCircArc2d(

const AcGePoint2d& startPoint,

const AcGePoint2d& point,

const AcGePoint2d& endPoint);

startPoint
输入弧线的起始点

point
输入弧线上的点

endPoint
输入弧线的终止点


通过这三点建构一弧线。不论这三点是重复的还是共线的。这个建构器只能建构弧线,不能用于建构圆。


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

AcGeCircArc2d(

const AcGePoint2d& startPoint,

const AcGePoint2d& endPoint,

double bulge,

Adesk::Boolean bulgeFlag = Adesk::kTrue);

startPoint
输入弧线的起始点

endPoint
输入弧线的终止点

bulge
输入凸起部分的距离

bulgeFlag
输入如何说明弧线凸起部分距离的计算


以指定的起点和终点建构一圆弧。如果连接起点和终点,那么连线到建构圆弧的中点的距离等于凸起部分的距离。建构弧线的方向总是逆时针。起始点必须不同于终止点。这个建构器只能建构边界弧线而不能用于建构圆。如果“bulgeFlag”是Adesk::kTrue,则说明“bulge”是弧线和两输入点连线间最大的距离。如果“bulgeFlag”是Adesk::kFalse,则说明“bulge”是含有角度(tan(ang/4))1/4的正切值,“ang”是输入两点间弧段的角度。


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

AcGeCircArc2d();
缺省建构器。以中心(0,0)和半径1建构圆。

AcGeCircArc2d几何访问函数
AcGeCircArc2d::center Function
AcGePoint2d
center() const;
返回弧线的中心点。

AcGeCircArc2d::endAng Function
double
endAng() const;
和参考向量相关的弧线终止点角度。

AcGeCircArc2d::endPoint Function
AcGePoint2d
endPoint() const;
弧线终止点。

AcGeCircArc2d::isClockWise Function
Adesk::Boolean
isClockWise() const;
返回弧线是否绕顺时针方向。

AcGeCircArc2d::radius Function
double
radius() const;
返回弧线半径。

AcGeCircArc2d::refVec Function
AcGeVector2d
refVec() const;
返回弧线的参考向量。参考向量是从弧线起点和终点测量的向量。这个函数总是返回一个单位向量。

AcGeCircArc2d::startAng Function
double
startAng() const;
和参考向量相关的弧线起始点角度

AcGeCircArc2d::startPoint Function
AcGePoint2d
startPoint() const;
弧线起始点。

AcGeCircArc2d交集函数
AcGeCircArc2d::intersectWith Function
Adesk::Boolean
intersectWith(
const AcGeLinearEnt2d& line,
int& intn,
AcGePoint2d& p1,
AcGePoint2d& p2,
const AcGeTol& tol = AcGeContext::gTol) const;

line
输入任意2D实体直线

intn
输入相交点数目

p1
输入第一个相交点

p2
输入第二个相交点

tol
输入交点切线公差


确定弧线是否与输入直线相交。如果这个函数返回Adesk::kTrue,则“intn”设置为1或2,否则设置为0。“p1”含有特定数据仅当“intn”大于0时且“p2”含有特定数据仅当“intn”大于1时。


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

Adesk::Boolean
intersectWith(
const AcGeCircArc2d& arc,
int& intn,
AcGePoint2d& p1,
AcGePoint2d& p2,
const AcGeTol& tol = AcGeContext::gTol) const;

arc
输入任意2D弧线

intn
输入相交点数目

p1
输入第一个相交点

p2
输入第二个相交点

tol
输入交点切线公差


确定弧线是否与输入弧线相交。如果这个函数返回Adesk::kTrue,则“intn”设置为1或2,否则设置为0。“p1”含有特定数据仅当“intn”大于0时且“p2”含有特定数据仅当“intn”大于1时。



AcGeCircArc2d杂项函数

AcGeCircArc2d::isInside Function

Adesk::Boolean

isInside(

const AcGePoint2d& pnt,

const AcGeTol& tol = AcGeContext::gTol) const;

pnt
输入任意2D点

tol
输入公差


确定输入点是否在弧线内。这个函数视弧线为圆,不管弧线边界,并判断输入点是否在圆内。如果点在圆上或在圆外返回值Adesk::kFalse。

AcGeCircArc2d::tangent Function
Adesk::Boolean
tangent(
const AcGePoint2d& pnt,
AcGeLine2d& line,
const AcGeTol& tol = AcGeContext::gTol) const;

pnt
输入在圆上的点

Line
如果函数返回Adesk::kTrue,则添入返回的切线

tol
输入公差


如果输入点在弧线所在的圆上,则返回Adesk::kTrue,否则返回Adesk::kFalse。如果返回Adesk::kTrue,则直线设置为圆上在输入点位置的切线。


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

Adesk::Boolean
tangent(
const AcGePoint2d& pnt,
AcGeLine2d& line,
const AcGeTol& tol,
AcGeError& error) const;

pnt
输入在圆上的点

line
如果函数返回Adesk::kTrue,则添入返回的切线

tol
输入公差

error
返回AcGeError值表示为什么出错


如果输入点在弧线所在的圆上,则返回Adesk::kTrue,否则返回Adesk::kFalse。如果返回Adesk::kTrue,则直线设置为圆上在输入点位置的切线。如果返回Adesk::kFalse,则“error”值将设置为下面这些值表示为什么出错:kArg1TooBig,kArg1InsideThis或kArg1OnThis。



AcGeCircArc2d操作符

AcGeCircArc2d::operator = Function

AcGeCircArc2d &

operator =(

const AcGeCircArc2d& arc);

arc
输入任意2D弧线


将输入弧线分配到原弧线。



AcGeCircArc2d 设定函数

AcGeCircArc2d::set Function

AcGeCircArc2d &

set(

const AcGePoint2d& cent,

double radius);

cent
输入圆的中心

radius
输入圆的半径


修改弧线的定义以获得指定中心和半径的圆。这个函数总是返回一个圆。


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

AcGeCircArc2d &

set(

const AcGePoint2d& startPoint,

const AcGePoint2d& pnt,

const AcGePoint2d& endPoint);

startPoint
输入弧线的起始点

pnt
输入弧线上的点

endPoint
输入弧线的终止点


修改弧线的定义以获得指定起点、终点和通过“pnt”点的弧线。不论这三点是重复的还是共线的。这个函数总是返回边界弧线。


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

AcGeCircArc2d &

set(

const AcGePoint2d& startPoint,

const AcGePoint2d& pnt,

const AcGePoint2d& endPoint,

AcGeError& error);

startPoint
输入弧线的起始点

pnt
输入弧线上的点

endPoint
输入弧线的终止点

error
返回AcGeError值表示为什么出错


修改弧线的定义以获得指定起点、终点和通过“pnt”点的弧线。不论这三点是重复的还是共线的。这个函数总是返回边界弧线。 “error”值将设置为下面这些值表示为什么出错:kEqualArg1Arg2, kEqualArg1Arg3, kEqualArg2Arg3,或kLinearlyDependentArg1Arg2Arg3.


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

AcGeCircArc2d &

set(

const AcGePoint2d& startPoint,

const AcGePoint2d& endPoint,

double bulge,

Adesk::Boolean bulgeFlag = Adesk::kTrue);

startPoint
输入弧线的起始点

endPoint
输入弧线的终止点

bulge
输入凸起部分的距离

bulgeFlag
输入如何说明弧线凸起部分距离的计算


修改弧线的定义以获得指定的起点、终点和凸起部分的距离的圆弧。如果连接起点和终点,那么连线到建构圆弧的中点的距离等于凸起部分的距离。弧线的方向将变为逆时针,不论原方向如何。起始点必须不同于终止点。如果“bulgeFlag”是Adesk::kTrue,则说明“bulge”是弧线和两输入点连线间最大的距离。如果“bulgeFlag”是Adesk::kFalse,则说明“bulge”是含有角度(tan(ang/4))1/4的正切值,“ang”是输入两点间弧段的角度。这个函数总是返回一条边界弧线。


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

AcGeCircArc2d &

set(

const AcGeCurve2d& curve1,

const AcGeCurve2d& curve2,

double radius,

double& param1,

double& param2,

Adesk::Boolean& success);

curve1
输入任意2D曲线1

curve2
输入任意2D曲线2

radius
输入弧线半径

param1
输入曲线1上弧线的高程曲线参数值

param2
输入曲线2上弧线的高程曲线参数值

success
输出表示计算弧线是否成功


修改弧线的定义使弧线与两条输入曲线相切并含有指定半径。这个函数总是返回弧线,弧线的终点是和“param1”与“param2”相符的两输入曲线上的点。如果函数返回“success”的值是Adesk::kFalse,则函数未改变对象。


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

AcGeCircArc2d &

set(

const AcGeCurve2d& curve1,

const AcGeCurve2d& curve2,

const AcGeCurve2d& curve3,

double& param1,

double& param2,

double& param3,

Adesk::Boolean& success);

curve1
输入任意2D曲线1

curve2
输入任意2D曲线2

Curve3
输入任意2D曲线3

radius
输入弧线半径

param1
输入曲线1上弧线的高程曲线参数值

param2
输入曲线2上弧线的高程曲线参数值

Param3
输入曲线3上弧线的高程曲线参数值

success
输出表示计算弧线是否成功


修改弧线的定义使弧线与三条输入曲线相切。这个函数总是返回圆。如果函数返回“success”的值是Adesk::kFalse,则函数未改变对象。


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

AcGeCircArc2d &

set(

const AcGePoint2d& cent,

double radius,

double ang1,

double ang2,

const AcGeVector2d& refVec = AcGeVector2d::kXAxis,

Adesk::Boolean isClockWise = Adesk::kFalse);

cent
输入圆的中心

radius
输入圆的半径

ang1
输入弧线起始点角度

ang2
输入弧线终止点角度

refVec
输入测量弧线角度的参考向量

isClockWise
输入弧线方向


修改弧线的定义以获得指定中心、半径、起始角度和终止角度的圆弧。以弧线上的一点和中心点作一向量,并以该向量和参考向量(refVec)来测量角度。最后一个参数指定角度是顺时针还是逆时针。终止角度必须比起始角度大。若要建构一个圆,则终止角度和起始角度之差为2 x Pi。



AcGeCircArc2d::setAngles Function

AcGeCircArc2d &

setAngles(

double startAng,

double endAng);

startAng
输入弧线的起始角度

endAng
输入弧线的终止角度


修改弧线的起始角度和终止角度为指定的角度。



AcGeCircArc2d::setCenter Function

AcGeCircArc2d &

setCenter(

const AcGePoint2d& cent);

cent
输入弧线的中心


修改弧线的中心点为指定点。



AcGeCircArc2d::setRadius Function

AcGeCircArc2d &

setRadius(

double radius);

radius
输入弧线的半径


修改弧线的半径为输入半径。



AcGeCircArc2d::setRefVec Function

AcGeCircArc2d &

setRefVec(

const AcGeVector2d& vec);

vec
输入弧线的参考向量


修改弧线的参考向量为指定向量。由于弧线起始角度和终止角度的测量是以参考向量为基准的,因此该函数对绕中心点旋转的弧线有作用。



AcGeCircArc2d::setToComplement Function

AcGeCircArc2d &

setToComplement();

在保持边界弧线起始点和终止点时,翩转弧线的方向,该函数返回原弧线的余角。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-12 13:29:12 | 显示全部楼层
问题不难,写出程序也不容易啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-12 23:06:18 | 显示全部楼层
此问题将归结解非线性方程:2*r*sin(L/(2*r))-D==0,r为未知数,L为弧长,D为点距。只能数值法解(如非线性搜索法)此方程,且解不唯一。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-16 08:28 , Processed in 0.218790 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表