A. 如何用CAD或者计算 算出这偏心圆管的重心
随便弄个3D软件就出来了
我是用SOILDWORKS,有这个功能的
B. 不规则多边形的几何中心怎么求数学算法或者AUTOCAD上的求法,
首先你的多边形必须是一个封闭的区域,然后面域(输入reg回车)。选工具/查询/面域质量特性,选刚才面域的多边形,弹出文本窗口,把质心的X和Y的数据记下。最后,画一条直线,起点输入(0,0)终点输入刚才的X,Y坐标回车,这条线的终点就是你的中心点。
C. CAD中怎么找不规则图形的中心
AutoCAD里面,可以转换为【面域】的封闭曲线,才有【几何中心】也就是质心点。
AutoCAD里面,命令【MASSPROP】可以查询质心点坐标。
autolisp函数【vla-get-Centroid】可以提取面域对象的【几何中心】。
AutoCAD2016版本开始,增加了【几何中心】捕捉,可以直接捕捉到质心点。
D. CAD有没有可以标注矩形中心的命令,或者利用lisp函数获得中心的代码
AutoCAD2016版本开始,捕捉命令有捕捉质心点功能,可以捕捉质心点。
E. CAD如何计算图形的惯性矩和质心位置
massporp在查询工具兰的第三个按钮。
F. 质心算法matlab求讲解
自从网络文库和网络知道通道阻塞后,好久没回答问题了,今天抽空回答一下:
clear
clc
for i=1:1:10
for j=1:1:10
x(j+(i-1)*10)=(i-1)*10;
y(j+(i-1)*10)=(j-1)*10;
end
end
figure
plot(x,y,'.')
hold on
axis([0 100 0 100])
xy=[x;y]
hold on
xm=90;
ym=90;
n=50;%在原有100个点中随机产生50个点
for i=1:1:n
Sx(i)=rand(1,1)*xm;
Sy(i)=rand(1,1)*ym;
plot(Sx(i),Sy(i),'r*')
xlabel('x轴')
ylabel('y轴')
hold on
end
dm=30
m=100;%%%以上都知道,就是下面看不懂,求讲解
for j=1:1:n
SS=[Sx(j);Sy(j)];%选择一个点
k=0;
for i=1:1:m
d=norm((xy(:,i)-SS),2);%计算这个点和其它100点的距离(用欧式距离)
if d<=dm %距离小于阈值则记录
xx(j,i)=xy(1,i);
yy(j,i)=xy(2,i);
k=k+1;
else%距离太大就不记录(可以这么理解:将随机点的周围点作为一组,太远的点就不作为这一组了)
xx(j,i)=0;
yy(j,i)=0;
end
end
if k~=0%如果这个随机点所在的组不是空集,则计算该组的均值
cent(:,j)=[sum(xx(j,:));sum(yy(j,:))]/k;
else
cent(:,j)=0;
end
plot(cent(1,j),cent(2,j),'o')%画出这个组的质心(将一张图分为几组)
hold on
plot([cent(1,j) Sx(j)],[cent(2,j) Sy(j)],'R') %画出这个随机点所属于的质心
Title('Centroid')
hold on
MM=[cent(1,j);cent(2,j)]
e(j)=norm((MM-SS),2)/dm%计算误差(质心和随机点)
end
figure
axis([0 n 0 1])
j=1:1:n
plot(j,e(j) ,'-r.')%画出这50个点的误差,即距离质心的距离
hold on
Title('Centroid')
E=sum(e)/n
G. vbacad面域求质心
Public Sub ss_region()
Dim ss As AcadSelectionSet, region As Variant, p(0 To 2)
Set ss = ThisDrawing.SelectionSets.Add("sss")
ss.SelectOnScreen
Dim ents(0 to 1) As AcadEntity
Dim i As Integer
For i = 0 To 1
Set ents(i) = ss.Item(i)
Next i
ss.Delete
region = ThisDrawing.ModelSpace.AddRegion(ents)
region("0").Boolean acIntersection, region("1")
If region("0").Area > 0 Then
MsgBox "非空交集"
‘MsgBox region("0").Centroid(0)
p(0) = region("0").Centroid(0)
p(1) = region("0").Centroid(1)
P(2) = 0
Call ThisDrawing.ModelSpace.AddCircle(p, 0.5)
region("0").Delete
Else
MsgBox "交集为空"
End If
End Sub