teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]

 投稿者
  題名
  内容 入力補助
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ]


action script で 外部変形

 投稿者:管理人  投稿日:2012年10月26日(金)21時00分42秒
  jscript の 作図用ライブラリ jw.js を vbscript で
利用しています。

<!-- :線を引く
@echo off & cls
REM #jww
REM #1-%d 始点を指示してください
REM #2%d 終点を指示してください
REM #e
mshta %0
goto:eof
-->
<hta:application id=HTA windowstate=minimize />
<script language=jscript src=/jww/Lite/pro/jw.js></script>
<script language=vbscript>
  JW
  LINE 1, 2
  CLOSE
</script>

一昔前の BASIC のような感じがします。

 
 

maxima で 外部変形(4)

 投稿者:管理人  投稿日:2012年 3月19日(月)21時06分18秒
  楕円 x ^ 2 + (y / w) ^ 2 = r ^ 2 の面積です。

/* 楕円の面積
@echo off & cls
  type %~f0 | maxima --very-quiet
  pause
  goto:eof
*/
  assume(r > 0, w > 0)$
  y(x) := sqrt(r ^ 2 - x ^ 2) * w$
  A : 2 * integrate(y(x), x, -r, r)$
  print("A =", A)$
  quit()$

(結果)
         2
A = %pi r  w
続行するには何かキーを押してください . . .
 

maxima で 外部変形(3)

 投稿者:管理人メール  投稿日:2011年 7月23日(土)11時34分53秒
  wxMaxima を利用して、根の公式を計算しました。
バッチファイルです。

/* 根の公式
@echo off & cls
  type %~f0 | maxima --very-quiet
  pause
  goto:eof
*/
  print(solve(a * x ^ 2 + b * x + c, x))$
  quit()$

 

maxima で 外部変形(2)

 投稿者:管理人メール  投稿日:2011年 7月17日(日)13時30分11秒
  wxMaxima を利用して、2点で円を描く外部変形を
考えてみました。

/* 円を描く
@echo off & cls
REM #jww
REM #1-%d 円の中心を指示してください
REM #2%d 円周上の点を指示してください
REM #e
type %~f0 | maxima --very-quiet
goto:eof
*/

f:openr("jwc_temp.txt")$
  while stringp( line : readline(f) ) do
  (
    s : split(line),
    if strimr("-", s[1]) = "hp1" then p1 : float(map(parse_string, [s[2], s[3]])),
    if strimr("-", s[1]) = "hp2" then p2 : float(map(parse_string, [s[2], s[3]]))
  )$
close(f)$
g:openw("jwc_temp.txt")$
  printf(g, "ci~{ ~a~} ~a~%", p1, sqrt((p1[1] - p2[1]) ^ 2 + (p1[2] - p2[2]) ^ 2))$
close(g)$
quit()$
 

maxima で 外部変形

 投稿者:管理人メール  投稿日:2011年 7月 7日(木)22時05分52秒
編集済
  wxMaxima を利用して、2点を結ぶ線を引く外部変形を
考えてみました。

/* 線を引く
@echo off & cls
REM #jww
REM #1-%d 線の始点を指示してください
REM #2%d 線の終点を指示してください
REM #e
type %~f0 | maxima --very-quiet
goto:eof
*/

f:openr("jwc_temp.txt")$
  while stringp( line : readline(f) ) do
  (
    s : split(line),
    if strimr("-", s[1]) = "hp1" then p1 : [s[2], s[3]],
    if strimr("-", s[1]) = "hp2" then p2 : [s[2], s[3]]
  )$
close(f)$
g:openw("jwc_temp.txt")$
  printf(g, "~{ ~a~}~{ ~a~}~%", p1, p2)$
close(g)$
quit()$

maxima を 利用する実験です。
 

ヒルベルト曲線をDOSコマンドで描く

 投稿者:管理人メール  投稿日:2011年 6月14日(火)19時50分16秒
 
ヒルベルト曲線をDOSコマンドで描くお絵かき124185

@rem Hilbert Curve
@echo off
REM #jw
REM #0
REM #e
( echo bz
  echo k1
  call:hilbert 2 90 10
) > jwc_temp.txt
exit

:hilbert
if not defined d set d=0
set /a i=%1
if not %i% gtr 0 goto:eof
  set /a d-=%2
  call:hilbert %1-1 -%2 %3
  set /a d+=%2
  echo %d% %3
  call:hilbert %1-1 %2 %3
  set /a d-=%2
  echo %d% %3
  set /a d+=%2
  call:hilbert %1-1 %2 %3
  echo %d% -%3
  set /a d+=%2
  call:hilbert %1-1 -%2 %3
  set /a d-=%2
goto:eof

Cmd.exe の シェルスクリプトです。

 

フィボナッチ数をDOSコマンドで計算する

 投稿者:管理人メール  投稿日:2011年 6月13日(月)20時26分1秒
 
フィボナッチ数をDOSコマンドで計算するお絵かき124091

@rem fib
@echo off
REM #jw
REM #e

:input
echo フィボナッチ数の計算 (-1 で終了)
:next
set /p a=数値を入力してください =
if not defined a cls & goto:input
if %a% lss 0 exit
call:fib %a% 0 1
echo fib(%a%)=%x%
goto:next

:fib
set /a i=%1
set /a x=%2+%3
if %i% lss 1 (
  set x=0
) else if %i% == 1 (
  if %a% gtr 1 goto:eof
  set x=1
) else (
  call:fib %1-1 %3 %x%
)
goto:eof

Cmd.exe の シェルスクリプトです。
 

樹木曲線をDOSコマンドで描く

 投稿者:管理人メール  投稿日:2011年 6月12日(日)18時40分37秒
 
樹木曲線をDOSコマンドで描くお絵かき123978

@rem Tree
@echo off
REM #jw
REM #0
REM #e
( echo bz
  echo k1
  call:tree 2 90 50
) > jwc_temp.txt
exit

:tree
set /a i=%1
set /a d=%2
set /a r=%3
if %r% lss 1 set r=1
if %i% gtr 0 (
  echo %d% %r%
  call:tree %1-1 %2-15 %3*4/5
  call:tree %1-1 %2+15 %3*4/5
  echo %d% -%r%
)
goto:eof

Cmd.exe の シェルスクリプトです。

 

ハノイの塔をDOSコマンドで解く

 投稿者:管理人メール  投稿日:2011年 6月11日(土)19時30分54秒
 
ハノイの塔をDOSコマンドで解くお絵かき123801

@rem Hanoi
@echo off
call:Hanoi 3 A B C
pause
exit

:Hanoi
set /a n=%1
if %n% gtr 0 (
  call:Hanoi %1-1 %2 %3 %4
  echo %n% 番の円盤を %2 から %3 へ移動
  call:Hanoi %1-1 %4 %3 %2
)
goto:eof

○つぎのホームページに紹介されていた C 言語のプログラムを
  シェルスクリプトにしたものです。

  ハノイの塔を攻略せよ!
http://www13.plala.or.jp/kymats/study/C++/Hanoi/Hanoi.html
 

C曲線をDOSコマンドで描く

 投稿者:管理人メール  投稿日:2011年 6月10日(金)20時20分14秒
 
C曲線をDOSコマンドで描くお絵かき123641

@rem C曲線
@echo off
REM #jw
REM #0
REM #e
( echo bz
  echo r1
  call:c 5 1 0
) > jwc_temp.txt
exit

:c
set /a i=%1
set /a x=%2
set /a y=%3
if %i% lss 1 (
  echo %x% %y%
) else (
  call:c %1-1 %x%+%y% %y%-%x%
  call:c %1-1 %x%-%y% %x%+%y%
)
goto:eof

Cmd.exe の シェルスクリプトです。
 

コッホ曲線をDOSコマンドで描く

 投稿者:管理人メール  投稿日:2011年 6月 9日(木)18時25分7秒
 
コッホ曲線をDOSコマンドで描くお絵かき123526

@rem KOCH
@echo off
REM #jw
REM #0
REM #e
( echo bz
  echo k1
  call:koch 2 81*3
) > jwc_temp.txt
exit

:koch
if not defined d set d=0
set /a i=%1
set /a r=%2/3
if not %i% gtr 0 (
  echo %d% %2
) else (
  call:koch %1-1 %r%
  set /a d+=60
  call:koch %1-1 %r%
  set /a d-=120
  call:koch %1-1 %r%
  set /a d+=60
  call:koch %1-1 %r%
)
goto:eof
Cmd.exe の シェルスクリプトです
 

ドラゴン曲線をDOSコマンドで描く

 投稿者:管理人メール  投稿日:2011年 6月 7日(火)22時45分56秒
 
ドラゴン曲線をDOSコマンドで描くお絵かき123347

@rem ドラゴンカーブ
@echo off
REM #jw
REM #0
REM #e
( echo bz
  echo r1
  call:dragon 3 1 0 1
) > jwc_temp.txt
exit

:dragon
if not defined i set i=0
if not defined x set x=0
if not defined y set y=0
if not defined z set z=0
if not defined w set w=0
set /a i=%1-1
set /a x=%2+%3*%4
set /a y=%3-%2*%4
set /a z=%2-%3*%4
set /a w=%3+%2*%4
if %1 lss 1 (
  echo %2 %3
) else (
  call:dragon %i% %x% %y% 1
  call:dragon %i% %z% %w% -1
)
goto:eof

Windows Script の JW_CAD 外部変形です。
 

浦島かもめ

 投稿者:管理人メール  投稿日:2011年 5月 5日(木)17時25分13秒
 
浦島かもめお絵かき118021
 

新しい芽

 投稿者:管理人メール  投稿日:2011年 4月 4日(月)09時08分20秒
 
新しい芽お絵かき112348
 

lua で 外部変形(4)

 投稿者:管理人メール  投稿日:2011年 1月12日(水)22時51分26秒
  jw.lua で 軽量形鋼を描いてみます。


:軽みぞ形鋼
@echo off
REM #jww
REM #0
REM #e
%~dp0run -x %~f0

       |---b---|
___  3________4
       |
       |
  h    |
       |
___  2|_______1

       |---c---|

#!run
h, b, c, t = 100, 50, 20, 3.2
p = {{c, -h}, {0, -h}, {0, 0}, {b, 0}}
pt = 1 --作図の基点
ot = 7 --元図の基点
p0 = {offset(b, h, pt, ot)} --基点のずれ
jw()
for i = 1, #p do
  p[i] = rot(moveto(p[i], p0), rad(__hk__))
end
dline(p, 0, -t, t * 2, 0)


軸角の設定があれば付随して回転
します。
 

lua で 外部変形(3)

 投稿者:管理人メール  投稿日:2010年12月 4日(土)20時28分0秒
  lua の 外部変形用作図ライブラリ jw.lua で
線や円を描いてみます。


:線や円を描く
@echo off
REM #jww
REM #e
call %~dp0run %0
goto:eof

#!run
jw()
line   (0, 0, 100, 100)
circle (0, 0, 100)
rect   ({-100, -100}, {100, 100})


run.bat は jw.lua を自動的に組み込む
バッチです。


 

lua で 外部変形(2)

 投稿者:管理人メール  投稿日:2010年10月31日(日)20時03分20秒
  lua で 線を引くなら

--[[ 線を引く
@echo off & cls
REM #jww
REM #1-%d 始点を指示してください (L)free (R)Read
REM #2%d 終点を指示してください (L)free (R)Read
REM #e
copy jwc_temp.txt myfiles > nul
lua %~f0 myfiles > jwc_temp.txt
goto:eof
--]]

for line in io.lines(arg[1]) do
  F = {}; string.gsub(line, "%S+", function (x) table.insert(F, x) end)
  if string.match(line, "^hp1") then p1 = table.concat(F, " ", 2) end
  if string.match(line, "^hp2") then p2 = table.concat(F, " ", 2) end
end
print(p1 .. " " .. p2)

となります。
 

lua で 外部変形

 投稿者:管理人メール  投稿日:2010年10月29日(金)23時22分44秒
  Lua は ブラジル生まれのスクリプ
ト言語だそうです。外部変形に 使
えるのでしょうか?

lua を バッチファイル(*.bat) に
書いて使うやり方を考えます。

ようこそ! を 画面表示するなら

①1行プログラム
lua -e print("ようこそ!")
 あるいは
echo print("ようこそ!") | lua

②--& を 利用する
--& cls & lua %0 & pause & goto:eof
print("ようこそ!")

③more を 利用する
more +1 %0 | lua & pause & goto:eof
print("ようこそ!")

など いろいろ考えられます。

②③ は バッチファイルで利用する
やり方です。

動作は Lua 5.1.4 / Windows VISTA
で確認しています。

日本語は 苦手なようです。
echo print('構\造と機能\を表\現する') | lua

それでも
lua は 外部変形に使えそうです。
 

gawk で 外部変形(3)

 投稿者:管理人メール  投稿日:2010年10月24日(日)21時54分55秒
  gawk で 線を引くなら

REM #jww 線を引く
#& gawk -f %0 jwc_temp.txt & exit
REM #1-%d
/^hp1/ { p1 = $2 FS $3 }
REM #2%d
/^hp2/ { p2 = $2 FS $3 }
REM #e
END { print p1, p2 > "jwc_temp.txt" }

あるいは

REM #jww 線を引く
REM #1-%d
REM #2%d
REM #e
#& gawk -f %0 jwc_temp.txt & exit
/^hp1/ { p1 = $2 FS $3 }
/^hp2/ { p2 = $2 FS $3 }
END { print p1, p2 > "jwc_temp.txt" }

となります。
 

gawk で 外部変形(2)

 投稿者:管理人メール  投稿日:2010年10月19日(火)19時15分3秒
  more と gawk -f- で バッチファイルに
書くやり方を考えます。

ようこそ! を 画面表示するなら

BEGIN { print "ようこそ!" }
#!& cls & more %0 | gawk -f- & pause

と書けるため ファイルに落とす必要
はないようです。

more +n で 開始行 n を指定できる
ので、外部変形にも使えそうです。
 

レンタル掲示板
/4