hns - 日記自動生成システム - Version 2.19.9

先月 2024年01月 来月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2024年01月27日() 旧暦 [n年日記] [更新:"2004/08/09 23:43:33"]

#1 [openscad] revenge kind of fails (SignWaveHill.scad)








// SignWave shaped hill

    Xamp  = 50; // one wave length
    Yamp  = 50; // one wave length
    Zamp  = 20; // amplitude (height)

    Xcount = 10;
    Ycount = 200;
    pitchX = Xamp/Xcount;
    pitchY = Yamp/Ycount;
    delta = pitchX;


    X2 = Xamp/2;
    Y2 = Yamp/2;
    D2 = delta/2;

// ---------------------------------------------------------------------
 module two_by_two ( amp, seqX, x_angle_pitch, pitchY, D2, x, y, Zamp, PitchX )
 {
    z = amp * cos((seqX      ) * x_angle_pitch - 180);
    g = amp * cos((seqX + 1  ) * x_angle_pitch - 180);
    hull() {
    translate([x        , y, Zamp]){     cube([delta, delta, z + Zamp + 0.1]);    }
    translate([x + delta, y, Zamp]){     cube([delta, delta, g + Zamp + 0.1]);    }
    }
}
// ---------------------------------------------------------------------
    module SignWaveHill(Xamp, Yamp, Zamp, delta) {
    pitchX = Xamp / Xcount;
    y_angle_pitch = 360/Ycount;
    x_angle_pitch = 360/Xcount;

	for (	 seqY = [0:pitchY/2:Ycount  - 1] ){
	    amp = Zamp * cos(seqY * y_angle_pitch - 180);

            for ( seqX = [0:0.5:Xcount - 1] ){

              x = (seqX   ) * pitchX ;
	      y = (seqY   ) * pitchY   - Y2;

     	     two_by_two ( amp, seqX, x_angle_pitch, pitchX, D2, x, y,  Zamp, pitchY );
	      y = (seqY + 0.5 )* pitchY  - Y2;
	     # two_by_two   ( amp, seqX, x_angle_pitch, pitchX, D2, x, y,  Zamp, pitchY );

	     }
	 }
        }	


  SignWaveHill(Xamp, Yamp, Zamp, pitchX);



最近の日記
2024年11月14日
DWL66+ 2018 405 nm
2024年02月19日
another (large, 0.55 x 1.0 m/m) version for contrast curve
2024年02月15日
curved star cone
2024年02月13日
paraboloid with base plane
2024年02月09日
bit map format for contrast curve
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project