GithubHelp home page GithubHelp logo

amagiddmxh / java-geometry-expert Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yezheng1981/java-geometry-expert

0.0 1.0 0.0 10.63 MB

Java Geometry Expert

Home Page: http://www.cs.wichita.edu/~ye

Rebol 1.31% C 0.03% TeX 0.19% HTML 11.79% CSS 4.33% JavaScript 2.54% Java 67.60% NewLisp 0.10% Perl 12.10%

java-geometry-expert's Introduction

Java Geometry Expert

JGEX is a software which combines dynamic geometry software (DGS), automated geometry theorem prover (GTP) and our approach for visually dynamic presentation of proofs. As a dynamic geometry software, JGEX can be used to build dynamic visual models to assist teaching and learning of various mathematical concepts. As an automated reasoning software, we can build dynamic logic models which can do reasoning themselves. As a tool for dynamic presentation of proofs, JGEX is a valuable for teachers and students to write and present proofs of geometry theorems with various dynamic visual effects.

  1. JGEX is a powerful software for geometric reasoning. Within its domain, it invites comparison with the best of human geometry provers. It implements most of the effective methods for geometric reasoning introduced in the past twenty years, including the deductive base method, Wu's method, and the full-angle method, etc. With these methods, users may automated prove geometry theorems, to discover new properties of theorems, and to generate readable proofs for many geometry theorems.
  2. By its dynamic nature, the diagram built by this softwares can be changed dynamically. With JGEX, we can drag part of the diagram with mouse and see immediately how the diagram changes accordingly.
  3. JGEX can be used to create proofs either manually and automatically. It provides a series of visual effects for presenting of these proof.

JGEX consists of three parts: the drawing part, the reasoning and proving part, and the part of the visual presentation of proofs. In the drawing part, JGEX provides a graphical interface for the user to draw the diagram step by step with predefined constructions. Wu's method, the Full Angle Method and the Deductive Database Method based on Full Angle are implemented in JGEX as reasoning and proving tool.

The part of visual presentation of proofs makes JGEX most distinctive from other geometry drawing systems on one side, and from other geometry reasoning systems, including our previous versions of GEX, on the other side. It is based on our work on automated generation of readable proofs and on our approach to geometric drawing.

 

1. A Dynamic Geometry Software

There have been excellent commercial geometry theorem drawing systems such as the Geometer’s Sketchpad in the US, Cabri in France, and Cinderella in Germany. All of them are capable of doing dynamic geometry. Each of them has its own advantages and extends to other areas such as drawing in 3D geometry, etc. The name “dynamic geometry” was introduced as early as 1950 in the book:

By a dynamic geometry we simply mean a study of the parts of space andtheir relations to one another while they are in motion and changing.

The drawing part of JGEX allows the user to construct the diagram interactively and manipulate the diagram in a dynamic way, so JGEX is first a DGS. Starting from free points, the user can create elements which is dependent on existed elements. With the mouse, the user can place points, draw lines, introduce marks, etc. In this way, the diagram is constructed step by step. Much more important is the fact that the user can explore the dynamic nature of the diagram. The user can drag part of the diagram with mouse and see immediately how the diagram changes accordingly. However, JGEX has its distinctive features comparing to the three commercial geometry drawing systems.

See Detail >>>

2. An Automated Geometry Theorem Prover

Wu's method, the Full Angle Method and the Deductive Database Method based on Full Angle are implemented in JGEX as reasoning and proving tool.

See Detail >>>

3. A Tool for Visual Presentation of Proofs

The part of visual presentation of proofs makes JGEX most distinctive from other geometry drawing systems on one side, and from other geometry reasoning systems, including our previous versions of GEX, on the other side. It is based on our work on automated generation of readable proofs and on our approach to geometric drawing.

However, as a first step, instead of automated generation of visual presentations of proofs, we implement the manual input method for creating visual presentations of proofs. This gives us first-hand experience with the approach we propose. It is also an important preparation for our future work on the proof checker. Especially, we have a collection of over 100 examples created manually with JGEX. We collect mainly those examples that do not mix algebraic expressions or computations with the geometry diagrams.

See Detail >>>

 

See Also:

 

4. How to use

The JGEX is written in Java, so you need a JDK in order to compile the code. The prefered IDE for development is NetBeans: https://netbeans.org/

5. the interface of JGEX


Some interesting animations



A Manually Created Proof for Pythagoras Theorem.

How to install & develop

It's suggested to use Netbeans to open Java Geometry Expert. The main class is in wprover. GExpert. The build.xml contains all the scripts to build the jar file. If you choose to run "all", this will do the compile, copy resources, generate jar file. You can also choose to generate applet for web use (unfortunately it's not supported anymore by the browser).

java-geometry-expert's People

Contributors

yezheng1981 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.