|
> No.1721[元記事へ]
図形を分けて考える。
●例1
!座標法で図形(多角形)の断面性能を求める
!エ = ━ + ┃ + ━
DATA 4 !頂点の個数 ※下フランジ
DATA 0, 0 !頂点の座標
DATA 25, 0
DATA 25, 2.5
DATA 0, 2.5
READ N1 !頂点の個数
DIM X1(N1),Y1(N1) !頂点の座標
FOR i=1 TO N1
READ X1(i),Y1(i)
NEXT i
CALL MOAofPolygon(N1,X1,Y1, Du1,Dd1,Dl1,Dr1, S1,Sx1,Sy1,Xg1,Yg1,Jx1,Jy1,Jxy1) !基本
CALL MOA_Print(Du1,Dd1,Dl1,Dr1, S1,Sx1,Sy1,Xg1,Yg1,Jx1,Jy1,Jxy1) !基本を表示する
PRINT
DATA 4 !頂点の個数 ※ウェブ
DATA 11.9, 2.5 !頂点の座標
DATA 13.1, 2.5
DATA 13.1, 47.5
DATA 11.9, 47.5
READ N2 !頂点の個数
DIM X2(N2),Y2(N2) !頂点の座標
FOR i=1 TO N2
READ X2(i),Y2(i)
NEXT i
CALL MOAofPolygon(N2,X2,Y2, Du2,Dd2,Dl2,Dr2, S2,Sx2,Sy2,Xg2,Yg2,Jx2,Jy2,Jxy2) !基本
CALL MOA_Print(Du2,Dd2,Dl2,Dr2, S2,Sx2,Sy2,Xg2,Yg2,Jx2,Jy2,Jxy2) !基本を表示する
PRINT
DATA 4 !頂点の個数 ※上フランジ
DATA 0, 47.5 !頂点の座標
DATA 25, 47.5
DATA 25, 50
DATA 0, 50
READ N3 !頂点の個数
DIM X3(N3),Y3(N3) !頂点の座標
FOR i=1 TO N3
READ X3(i),Y3(i)
NEXT i
CALL MOAofPolygon(N3,X3,Y3, Du3,Dd3,Dl3,Dr3, S3,Sx3,Sy3,Xg3,Yg3,Jx3,Jy3,Jxy3) !基本
CALL MOA_Print(Du3,Dd3,Dl3,Dr3, S3,Sx3,Sy3,Xg3,Yg3,Jx3,Jy3,Jxy3) !基本を表示する
PRINT
LET Du=MAX(MAX(Du1,Du2),Du3) !3つの形状を合わせる
LET Dd=MIN(MIN(Dd1,Dd2),Dd3)
LET Dl=MIN(MIN(Dl1,Dl2),Dl3)
LET Dr=MAX(MAX(Dr1,Dr2),Dr3)
LET S=S1+S2+S3
LET Sx=Sx1+Sx2+Sx3
LET Sy=Sy1+Sy2+Sy3
LET Xg=(Xg1*S1+Xg2*S2+Xg3*S3)/S
LET Yg=(Yg1*S1+Yg2*S2+Yg3*S3)/S
LET Jx=Jx1+Jx2+Jx3
LET Jy=Jy1+Jy2+Jy3
LET Jxy=Jxy1+Jxy2+Jxy3
CALL MOA_Print(Du,Dd,Dl,Dr, S,Sx,Sy,Xg,Yg,Jx,Jy,Jxy) !基本を表示する
CALL MOA_Print2(Du,Dd,Dl,Dr, S,Sx,Sy,Xg,Yg,Jx,Jy,Jxy, ALPHA) !その他
!●形状を描く
LET w=Dr-Dl !幅 ※多角形の大きさ
LET h=Du-Dd !高さ
LET t=MAX(w,h) !縦横の比率を合わせる
LET xx1=Dl-t*0.1
LET xx2=Dl+t*1.1
LET yy1=Dd-t*0.1
LET yy2=Dd+t*1.1
SET WINDOW xx1,xx2,yy1,yy2 !表示領域を設定する
IF t>=10 THEN
DRAW grid(INT(t/10),INT(t/10)) !座標を描く
ELSE
DRAW grid(t/10,t/10) !座標を描く
END IF
CALL gcDRAWPOLYGON(N1,X1,Y1) !多角形の形状を描く
CALL gcDRAWPOLYGON(N2,X2,Y2)
CALL gcDRAWPOLYGON(N3,X3,Y3)
CALL gcDRAWPOINT(Xg,Yg,"G") !図心位置
SET LINE COLOR 4 !赤色
LET L=TAN(ALPHA) !u軸 ※点(x1,y1)と通り、傾きαの直線は、Y-y1=tanα(X-x1)より
LET M=-1
LET N=-L*Xg+Yg
CALL gcDRAWLINE(L,M,N)
SET LINE COLOR 3 !緑色
LET A=-M !v軸 ※点(x1,y1)と通り、直線Lx+My+N=0に垂直な直線は、L(y-y1)=M(x-x1)より
LET B=L
LET C=-L*Yg+M*Xg
CALL gcDRAWLINE(A,B,C)
SET LINE COLOR 2 !青色
PLOT LINES: Dl,Dd; Dr,Dd; Dr,Du; Dl,Du; Dl,Dd !AABB(軸並行境界ボックス: Axis-Aligned Bounding Box)
END
※サブルーチン部分は省略します。
実行結果
上端= 2.5 下端= 0 左端= 0 右端= 25
断面積 S= 62.5
断面1次モーメント(原点からX軸方向)Sx= 781.25 (原点からY軸方向)Sy= 78.125
図心 Xg= 12.5 Yg= 1.25
断面2次モーメント(X軸回り)Jx= 130.208333333333 (Y軸回り)Jy= 13020.8333333333
断面相乗モーメント(原点回り)Jxy= 976.5625
上端= 47.5 下端= 2.5 左端= 11.9 右端= 13.1
断面積 S= 54
断面1次モーメント(原点からX軸方向)Sx= 675 (原点からY軸方向)Sy= 1350
図心 Xg= 12.5 Yg= 25
断面2次モーメント(X軸回り)Jx= 42862.5 (Y軸回り)Jy= 8443.98
断面相乗モーメント(原点回り)Jxy= 16875
上端= 50 下端= 47.5 左端= 0 右端= 25
断面積 S= 62.5
断面1次モーメント(原点からX軸方向)Sx= 781.25 (原点からY軸方向)Sy= 3046.875
図心 Xg= 12.5 Yg= 48.75
断面2次モーメント(X軸回り)Jx= 148567.708333333 (Y軸回り)Jy= 13020.8333333333
断面相乗モーメント(原点回り)Jxy= 38085.9375
上端= 50 下端= 0 左端= 0 右端= 25
断面積 S= 179
断面1次モーメント(原点からX軸方向)Sx= 2237.5 (原点からY軸方向)Sy= 4475
図心 Xg= 12.5 Yg= 25
断面2次モーメント(X軸回り)Jx= 191560.416666666 (Y軸回り)Jy= 34485.6466666666
断面相乗モーメント(原点回り)Jxy= 55937.5
断面2次モーメント(図心Xg軸回り)Jxg= 79685.416666666 (図心Yg軸回り)Jyg= 6516.8966666666
断面相乗モーメント(図心回り)Jxyg= 0
断面2次極モーメント(原点回り)Jd= 226046.063333333
断面2次極モーメント(図心回り)Jdg= 86202.3133333326
断面2次半径(X軸回り)Rx= 32.7134517517198 (Y軸回り)Ry= 13.8801024473113
断面2次半径(図心Xg軸回り)Rxg= 21.0990503462147 (図心Yg軸回り)Ryg= 6.03384155806714
断面2次半径(図心回り)Rxyg= 21.944866585604
断面係数(上端)Mu= 3187.41666666664 (下端)Md= 3187.41666666664
(左端)Ml= 521.351733333328 (右端)Mr= 521.351733333328
主軸の角度=-17.7300030228546 °
断面2次モーメント(主軸u軸回り)Ju= 209444.630641627 (v軸回り)Jv= 16601.4326917053
●例2
!座標法で図形(多角形)の断面性能を求める
!エ = □ - ロ - ロ
DATA 4 !頂点の個数 I型
DATA 0, 0 !頂点の座標 全体の矩形
DATA 25, 0
DATA 25, 50
DATA 0, 50
READ N1 !頂点の個数
DIM X1(N1),Y1(N1) !頂点の座標
FOR i=1 TO N1
READ X1(i),Y1(i)
NEXT i
CALL MOAofPolygon(N1,X1,Y1, Du1,Dd1,Dl1,Dr1, S1,Sx1,Sy1,Xg1,Yg1,Jx1,Jy1,Jxy1) !基本
CALL MOA_Print(Du1,Dd1,Dl1,Dr1, S1,Sx1,Sy1,Xg1,Yg1,Jx1,Jy1,Jxy1) !基本を表示する
PRINT
DATA 4
DATA 13.1, 2.5 !ウェブ右側 ※差の図形は右回り
DATA 13.1, 47.5
DATA 25, 47.5
DATA 25, 2.5
READ N2 !頂点の個数
DIM X2(N2),Y2(N2) !頂点の座標
FOR i=1 TO N2
READ X2(i),Y2(i)
NEXT i
CALL MOAofPolygon(N2,X2,Y2, Du2,Dd2,Dl2,Dr2, S2,Sx2,Sy2,Xg2,Yg2,Jx2,Jy2,Jxy2) !基本
CALL MOA_Print(Du2,Dd2,Dl2,Dr2, S2,Sx2,Sy2,Xg2,Yg2,Jx2,Jy2,Jxy2) !基本を表示する
PRINT
DATA 4
DATA 0, 2.5 !ウェブ左側 ※差の図形は右回り
DATA 0, 47.5
DATA 11.9, 47.5
DATA 11.9, 2.5
READ N3 !頂点の個数
DIM X3(N3),Y3(N3) !頂点の座標
FOR i=1 TO N3
READ X3(i),Y3(i)
NEXT i
CALL MOAofPolygon(N3,X3,Y3, Du3,Dd3,Dl3,Dr3, S3,Sx3,Sy3,Xg3,Yg3,Jx3,Jy3,Jxy3) !基本
CALL MOA_Print(Du3,Dd3,Dl3,Dr3, S3,Sx3,Sy3,Xg3,Yg3,Jx3,Jy3,Jxy3) !基本を表示する
PRINT
LET Du=Du1 !3つの形状を合わせる
LET Dd=Dd1
LET Dl=Dl1
LET Dr=Dr1
LET S=S1+S2+S3
LET Sx=Sx1+Sx2+Sx3
LET Sy=Sy1+Sy2+Sy3
LET Xg=(Xg1*S1+Xg2*S2+Xg3*S3)/S
LET Yg=(Yg1*S1+Yg2*S2+Yg3*S3)/S
LET Jx=Jx1+Jx2+Jx3
LET Jy=Jy1+Jy2+Jy3
LET Jxy=Jxy1+Jxy2+Jxy3
CALL MOA_Print(Du,Dd,Dl,Dr, S,Sx,Sy,Xg,Yg,Jx,Jy,Jxy) !基本を表示する
CALL MOA_Print2(Du,Dd,Dl,Dr, S,Sx,Sy,Xg,Yg,Jx,Jy,Jxy, ALPHA) !その他
!●形状を描く
LET w=Dr-Dl !幅 ※多角形の大きさ
LET h=Du-Dd !高さ
LET t=MAX(w,h) !縦横の比率を合わせる
LET xx1=Dl-t*0.1
LET xx2=Dl+t*1.1
LET yy1=Dd-t*0.1
LET yy2=Dd+t*1.1
SET WINDOW xx1,xx2,yy1,yy2 !表示領域を設定する
IF t>=10 THEN
DRAW grid(INT(t/10),INT(t/10)) !座標を描く
ELSE
DRAW grid(t/10,t/10) !座標を描く
END IF
CALL gcDRAWPOLYGON(N1,X1,Y1) !多角形の形状を描く
CALL gcDRAWPOLYGON(N2,X2,Y2)
CALL gcDRAWPOLYGON(N3,X3,Y3)
CALL gcDRAWPOINT(Xg,Yg,"G") !図心位置
SET LINE COLOR 4 !赤色
LET L=TAN(ALPHA) !u軸 ※点(x1,y1)と通り、傾きαの直線は、Y-y1=tanα(X-x1)より
LET M=-1
LET N=-L*Xg+Yg
CALL gcDRAWLINE(L,M,N)
SET LINE COLOR 3 !緑色
LET A=-M !v軸 ※点(x1,y1)と通り、直線Lx+My+N=0に垂直な直線は、L(y-y1)=M(x-x1)より
LET B=L
LET C=-L*Yg+M*Xg
CALL gcDRAWLINE(A,B,C)
SET LINE COLOR 2 !青色
PLOT LINES: Dl,Dd; Dr,Dd; Dr,Du; Dl,Du; Dl,Dd !AABB(軸並行境界ボックス: Axis-Aligned Bounding Box)
END
※サブルーチン部分は省略します。
実行結果
上端= 50 下端= 0 左端= 0 右端= 25
断面積 S= 1250
断面1次モーメント(原点からX軸方向)Sx= 15625 (原点からY軸方向)Sy= 31250
図心 Xg= 12.5 Yg= 25
断面2次モーメント(X軸回り)Jx= 1041666.66666667 (Y軸回り)Jy= 260416.666666667
断面相乗モーメント(原点回り)Jxy= 390625
上端= 47.5 下端= 2.5 左端= 13.1 右端= 25
断面積 S=-535.5
断面1次モーメント(原点からX軸方向)Sx=-10201.275 (原点からY軸方向)Sy=-13387.5
図心 Xg= 19.05 Yg= 25
断面2次モーメント(X軸回り)Jx=-425053.125 (Y軸回り)Jy=-200653.635
断面相乗モーメント(原点回り)Jxy=-255031.875
上端= 47.5 下端= 2.5 左端= 0 右端= 11.9
断面積 S=-535.5
断面1次モーメント(原点からX軸方向)Sx=-3186.225 (原点からY軸方向)Sy=-13387.5
図心 Xg= 5.95 Yg= 25
断面2次モーメント(X軸回り)Jx=-425053.125 (Y軸回り)Jy=-25277.385
断面相乗モーメント(原点回り)Jxy=-79655.625
上端= 50 下端= 0 左端= 0 右端= 25
断面積 S= 179
断面1次モーメント(原点からX軸方向)Sx= 2237.5 (原点からY軸方向)Sy= 4475
図心 Xg= 12.5 Yg= 25
断面2次モーメント(X軸回り)Jx= 191560.41666667 (Y軸回り)Jy= 34485.646666667
断面相乗モーメント(原点回り)Jxy= 55937.5
断面2次モーメント(図心Xg軸回り)Jxg= 79685.41666667 (図心Yg軸回り)Jyg= 6516.896666667
断面相乗モーメント(図心回り)Jxyg= 0
断面2次極モーメント(原点回り)Jd= 226046.063333337
断面2次極モーメント(図心回り)Jdg= 86202.313333337
断面2次半径(X軸回り)Rx= 32.7134517517202 (Y軸回り)Ry= 13.8801024473114
断面2次半径(図心Xg軸回り)Rxg= 21.0990503462152 (図心Yg軸回り)Ryg= 6.03384155806733
断面2次半径(図心回り)Rxyg= 21.9448665856046
断面係数(上端)Mu= 3187.4166666668 (下端)Md= 3187.4166666668
(左端)Ml= 521.35173333336 (右端)Mr= 521.35173333336
主軸の角度=-17.7300030228543 °
断面2次モーメント(主軸u軸回り)Ju= 209444.630641631 (v軸回り)Jv= 16601.432691706
|
|