# -*- mode: outline;-*-
# README for Judan
# $Id: README.txt,v 1.2 2000/04/28 06:22:48 ryo Exp $

* Judan ̊Tv

   Judan Ƃ́AJGCL ̃eXgVXeӖ܂B
   Judan p鎖ŁAJGCL 𗘗p邽߂ main vOƂȂA
   JGCL ̊􉽌`IuWFNg̃RXgN^A
   ̃IuWFNg\bhȂǂ̃eXg鎖ł܂B
   􉽌`f[^͂ƂAo͂́A􉽌`f[^̃eLXg\ƁA
   OtBbNX\\łB̋@\p鎖ŁA

     - JGCL ̃eXgɂ镉Sył
     - ʂƂāA`f[^̐lfł͓ꍇɁA
       OtBbNX\p鎖ŁAIɔfł

   Ȃǂ̗_܂B

   ݁AOtBbNX\ɂ́Au for Javav𗘗pĂ܂B
   ܂AJudan ̓ob`IɏC^tF[XƁA
   C^NeBuɏC^tF[X2̌`Ԃ܂B

   ob`[hł͊􉽌`f[^ȊOɁAǂȃ\bhs邩Ƃ
   LqɂȀs킹鎖ł܂B
   C^NeBu[hł́A}EXȂǂɂA􉽌`f[^
   ǂݍ݂A\AZȂǂ̗vsł܂B

* Kvv

   JudañRpCƎsɂ͈ȉ̂̂KvɂȂ܂B

   - JDK               (http://java.sun.com/jdk/)
   - JavaCC            (http://www.metamata.com/JavaCC/)
   - Swing             (http://java.sun.com/products/jfc/tsc/)
   -  for Java   (http://www.sra.co.jp/people/nisinaka/Jun4Java/)
   - JGCL              (Java Geometry Class Library)

   ꂼA_E[hACXg[āAϐȂǂ̐ݒĂB

* RpCƃCXg[

   LKvȂ̂CXg[AJudan  Make s܂B
   Makefile pӂĂ̂ŁAR}h̏ꏊȂǁAMakefile̓e
   eC make sΗǂłB
   蓮̏ꍇ́Aȉ̎菇ŃRpCł܂B

   - JavaCC ̃t@CRpC

   % javacc JudanParser.jj

   - .java ̃t@CRpC

   % javac ?????.java

   NXpXʂANXpXʂĂꏊ Judan B


* 􉽌`f[^`t@C

   JudansƂɗ^A􉽌`f[^`t@CɂĐ܂B

** 􉽌`f[^

   􉽌`f[^͈ȉ̃tH[}bgɏ]B

   􉽌`NX O
        l
           ...
           ...
        l
   End

   lɊ􉽌`󂪗鎖B

   ŁAƂāA2_ʂ钼̒`܂B
   _(0.0, 0,0)Ɠ_(1.0, 1,0)ʂ钼́Aȉ̗lɒ`ł܂B

   JgclLine2D line1
      pnt 0.0 0.0
      pnt 1.0 1.0
   End

   ܂ÃtH[}bǵAe􉽌`IuWFNg output()
   \bhĂяoƂɓo͂ɓB
    IuWFNg̖O

   􉽌`f[^`Ãf[^͂鎖ŁA
   Ή􉽌`IuWFNĝŁA
   ́ARXgN^̃eXgsƓ`łB

** R}h

   R}hɂA`􉽌`IuWFNg
   \bhsł܂B

    Judan ŃT|[gĂR}h͈ȉ̒ʂłB

   coordinates - Wl߂
   length      - ߂
   singular    - ٓ_߂
   inflexion   - ϋȓ_߂
   intersect   - _A߂
   projectFrom - e_߂
   offset      - ItZbg߂
   fillet      - tBbg߂
   tabcyl      - ^uVʂ߂
   loft        - tgʂ߂
   output      - `eLXg\

   \bhł͂ȂAȉ̃R}hŊ􉽌`IuWFNg
   OtBbNX\\łBOtBbNX\݂͌
   u for Javav𗘗pĂ܂B

   display     - `OtBbNX\

   ܂ALR}h̏o͌ʂ́AeLXg and/or OtBbNX
   ؂ւ鎖ł܂Bڍׂ́Aob`[hAC^NeBu[hꂼ
   ̂Ƃōs܂B

   ͂ꂼKvȂ̂A`􉽌`IuWFNg̖OA
   lɂāA^鎖ł܂B

   ŁAƂāA_璼ւ̓e_߂R}h܂B
   2̒ւ̓_̓e_߂ɂ́Aȉ̗lɂ΂悢ł傤B

   // 2_(0.0, 0,0), (1.0, 1.0)ʂ钼
   JgclLine2D line1
      pnt 0.0 0.0
      pnt 1.0 1.0
   End

   // _(1.0, -1.0)
   JgclCartesianPoint2D point1
      1.0 -1.0
   End

   // _ point1   line1 ւ̓e_߂邽߂̃R}h
   line1 projectFrom point1


* s@

** ob`[h

     ob`[hp鎖ŁAscript LqɂA
     AIsȂǂsł܂B

    - ob`[hł Judan ̋N

       % java jp.co.sra.judan.Judan -[c|l][v][f filename]

      IvV̐
        c - ascii o
        v - graphics o
        f - 􉽌`f[^`t@C̎w
	l - u for JavavT|[g Lisp  S \ł̏o

      - 􉽌`f[^`t@C̓ǂݍ

        f IvV̌ɁAt@Cwł܂B
        f IvVgȂꍇ́AW͂̓͂ƂȂ܂B
        􉽌`f[^`t@C̓eɂẮA4. ŏqׂʂłB

      - `󑀍ƉZA\

        􉽌`f[^`t@CɃR}hLq邱ƂŁAsł܂B
        ڍׂ́A4.2 ̃R}h̍QƂĂB

** C^NeBu[h

     C^NeBu[hp鎖ŁA}EXɂA
     􉽌`󑀍􉽌`󓯎m̉ZȂǂsł܂B

     - C^NeBu[hł Judan ̋N

       % java jp.co.sra.judan.JudanGeometryManager

      IvV̐
 
          IvV͂܂B

     - 􉽌`f[^`t@C̓ǂݍ

       `[̃t@Cj[v_E
       Open Ƃڂw肵܂B
       t@C_CAOôŁAŁA
       􉽌`f[^`t@Cw肵܂B

     - `󑀍ƉZA\

       o͌ʕw肷`FbN{bNXŁA
       eLXg\OtBbNX\̂ꂩAȂ́Aw肵Ă܂B

       􉽌`f[^`t@Cw肷ƁAt@C̉͂s܂B
       ͂̌ʁAꂽIuWFNg̈ꗗ`ɕ\܂B
       \ꂽIuWFNg}EXŎw肵āA`̉Eɂ
       R}h{^ŁA`󑀍≉ZA\ł܂B
       IO̐ɂāAsłR}hς悤ɂȂĂ܂B
       ܂AR}hɂẮAp[^̓͂v̂܂B
       ̏ꍇA_CAOāA͑҂ɂȂ̂ŁAK؂Ȑl͂
       Kv܂B

       R}h{^̖ÓA􉽌``t@CɋLqR}hƑΉ܂B
       OƂāAȉ̂̂܂B

       - Output R}h
         Show {^ + eLXgo͂`FbN

       - Display R}h
         Show {^ + OtBbNo͂`FbN

     - I

       `[̃t@Cj[v_E
       Exit Ƃڂw肷B

