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