外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
javaで罫線を引く
:javaで罫線を引く
@echo off
if not exist %~dp0Keisen.class (
for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
more +%%n %0 > %~dpn0.java
javac -encoding shift_jis %~dpn0.java
)
)
set yp=8
set div=2
set sx=15
set sy=20
copy jwc_temp.txt myfiles > nul
java -Dfile.encoding=shift_jis -classpath %~dp0 Keisen > jwc_temp.txt
goto:eof
REM #jww
REM #hp
REM #zs
REM #e
#!この次の行からプログラムを書いてください
import java.io.*;
import java.util.regex.Pattern;
class Keisen {
public static void main(String args) {
try {
BufferedReader f = new BufferedReader(new FileReader("myfiles"));
String line;
double yp = Double.parseDouble(System.getenv("yp"));
int div = Integer.parseInt(System.getenv("div"));
double sx = Double.parseDouble(System.getenv("sx"));
double sy = Double.parseDouble(System.getenv("sy"));
double w, h;
w = h = 0.0;
int i, n;
double x0, x1, y;
while ( (line = f.readLine()) != null) {
if (Pattern.compile("^hzs").matcher(line).find()) {
String hzs = line.split(" ");
w = Double.parseDouble(hzs[1]);
h = Double.parseDouble(hzs[2]);
continue;
}
}
f.close();
System.out.println("bz");
System.out.println("lc9");
System.out.println("lt9");
if (yp < 5.0) { yp = 5.0; }
n = (int) ((h - 2 * sy) / yp);
x0 = sx;
x1 = x0 + w / div - sx;
i = 0;
while (i <= n) {
y = yp * i + sy;
System.out.printf("%.15f %.15f %.15f %.15f%n", x0, y, x1, y);
i++;
}
} catch (IOException e) {
System.out.println(e);
}
}
}