というわけで うちの「Script!」にて
円を作図するテストプログラムです。
円というより内接多角形ですが、その分割数(sp)を多くすれば円に近付きます。で、サイン曲線・コサイン曲線は、軸を縦線であるとして、x値にサイン値/コサイン値にして、振幅=半径で、円1周のうちにどれくらいY値をずらしていくか、というだけなので
サイン曲線
コサイン曲線
実行して、絵の画面を残したまま[JWWクリップボード転送]をクリック。
Jw_cad で[貼付]をクリックし、原点位置を指定すれば、その曲線(連続線)を作図出来ます。カクカク具合は分割数を多くすればするほどマシになりますがデータ量が多くなります。あ、「Script!」も遅くなりますが「□Log出力しない」にチェックすれば幾分マシになります。
うん、「Script!」を実行したの何年ぶりだろう?
完璧に忘れてしまっていますww
円を作図するテストプログラムです。
// テスト
// 線で円を書く
//
#VAR
r = 100 ;*半径
sp = 24 ;*分割数
x1 // 作業用変数
y1
x2
y2
a
i
#DRAW
PEN 2,1,0
CAL a = 0
CAL i = 0
CAL x1 = r*Cos(a)
CAL y1 = r*Sin(a)
#WHILE ( i < sp )
CAL a = a + 2.0*PI/sp
CAL x2 = r*Cos(a)
CAL y2 = r*Sin(a)
LINE x1,y1, x2,y2
CAL x1 = x2
CAL y1 = y2
CAL i = i + 1
#END
円というより内接多角形ですが、その分割数(sp)を多くすれば円に近付きます。で、サイン曲線・コサイン曲線は、軸を縦線であるとして、x値にサイン値/コサイン値にして、振幅=半径で、円1周のうちにどれくらいY値をずらしていくか、というだけなので
サイン曲線
// テスト
// 線でサイン曲線を書く
//
#VAR
r = 100 ;*半径
l = 100 ;*円1周での高さ
n = 10 ;*繰り返し数
sp = 24 ;*分割数
x1 // 作業用変数
y1
x2
y2
a
i
j
#DRAW
PEN 2,1,0
CAL j = 0
CAL y1 = 0
#WHILE ( j < n )
CAL a = 0
CAL i = 0
CAL x1 = r*Sin(a)
#WHILE ( i < sp )
CAL a = a + 2.0*PI/sp
CAL x2 = r*Sin(a)
CAL y2 = y1 + l/sp
LINE x1,y1, x2,y2
CAL x1 = x2
CAL y1 = y2
CAL i = i + 1
#END
CAL j = j + 1
#END
コサイン曲線
// テストのような感じで
// 線でコサイン曲線を書く
//
#VAR
r = 100 ;*半径
l = 100 ;*円1周での高さ
n = 10 ;*繰り返し数
sp = 24 ;*分割数
x1 // 作業用変数
y1
x2
y2
a
i
j
#DRAW
PEN 2,1,0
CAL j = 0
CAL y1 = 0
#WHILE ( j < n )
CAL a = 0
CAL i = 0
CAL x1 = r*Cos(a)
#WHILE ( i < sp )
CAL a = a + 2.0*PI/sp
CAL x2 = r*Cos(a)
CAL y2 = y1 + l/sp
LINE x1,y1, x2,y2
CAL x1 = x2
CAL y1 = y2
CAL i = i + 1
#END
CAL j = j + 1
#END
実行して、絵の画面を残したまま[JWWクリップボード転送]をクリック。
Jw_cad で[貼付]をクリックし、原点位置を指定すれば、その曲線(連続線)を作図出来ます。カクカク具合は分割数を多くすればするほどマシになりますがデータ量が多くなります。あ、「Script!」も遅くなりますが「□Log出力しない」にチェックすれば幾分マシになります。
うん、「Script!」を実行したの何年ぶりだろう?
完璧に忘れてしまっていますww