GraphiC Slideshow

3D Geometry
3D Geometry 1 / 40
Bar3d
Bar3d 2 / 40
Bartest
Bartest 3 / 40
Bess
Bess 4 / 40
Cltdmnd
Cltdmnd 5 / 40
Cnttest
Cnttest 6 / 40
Complex
Complex 7 / 40
D2test
D2test 8 / 40
D3test
D3test 9 / 40
DLYCHN560
DLYCHN560 10 / 40
Dlychn735 0
Dlychn735 0 11 / 40
Erftest
Erftest 12 / 40
Extra Pipes
Extra Pipes 13 / 40
Fermi
Fermi 14 / 40
Fig1
Fig1 15 / 40
Fig8
Fig8 16 / 40
Fig10
Fig10 17 / 40
Fntdemo
Fntdemo 18 / 40
Intersection Geometry
Intersection Geometry 19 / 40
Logtest
Logtest 20 / 40
Look Ahead
Look Ahead 21 / 40
Multi Y
Multi Y 22 / 40
Nwa Fleet Savings Regression
Nwa Fleet Savings Regression 23 / 40
Nwa Msp Arrival Banks
Nwa Msp Arrival Banks 24 / 40
Nwa Schedule Recovery
Nwa Schedule Recovery 25 / 40
Orbits
Orbits 26 / 40
Patrn256
Patrn256 27 / 40
Pattern
Pattern 28 / 40
Pietest
Pietest 29 / 40
Poltest
Poltest 30 / 40
Resequence
Resequence 31 / 40
Sample
Sample 32 / 40
Savings:Flight
Savings:Flight 33 / 40
Sector Traffic At Altitude
Sector Traffic At Altitude 34 / 40
Simplex
Simplex 35 / 40
Smtest
Smtest 36 / 40
Triplex
Triplex 37 / 40
Tritest
Tritest 38 / 40
Vfield
Vfield 39 / 40
ZOB48 Complexity
ZOB48 Complexity 40 / 40

History of GraphiC

The IBM PC was released in 1981. At the time, George Kelley and I (James Rome) were plasma physicists studying nuclear fusion. We realized that generating graphical plots would give us critical insight into plasma equilibria and physical behavior, but the original IBM PC had very low-resolution graphics (CGA 320×200). To overcome this, we each purchased a Corona PC, which offered an amazing 640×480 pixel display.

However, we soon discovered that there was no software available to produce publication-grade scientific plots on microcomputers. We had been using the DISSPLA™ Fortran package on mainframes and were heavily influenced by its methodology. In both DISSPLA and GraphiC, plotting is a structured, procedural state machine:

  1. Initialize Session: bgnplot(device, mode, file)

  2. Page Dimensions & Units: page(width, height)

  3. Start Page Canvas: startplot(bgcolor)

  4. Set Plot Area & Origin: area2d(xlen, ylen) and physor(x, y)

  5. Calibrate Axes & Labels: box(), heading(title), xname(x), yname(y), graf(...)

  6. Execute Plot Routines: Calling the authentic GraphiC routines across all languages (conmat, curve, surmat, smdraw, polgrid, xlog, etc.) without obscuring them behind generic OOP abstractions.

  7. Close Frame & Subsystem: Always conclude with endplot() followed by stopplot().

We insisted on vector graphics—where everything is a discrete point, stroke, or filled polygon—so that we could zoom in to inspect fine details on our computer screens and reproduce plots cleanly across pen plotters and laser printers.

We decided that the C language was best suited to run efficiently on a personal computer, but we had to learn it from scratch! We also studied 8086 assembly language and hand-coded critical inner loops in assembly to maximize rendering speed, since numerical math co-processors (like the 8087) were not yet available. It took us several years to perfect our lean, mean, fast C graphics engine. We subsequently founded Scientific Endeavors Corporation to market GraphiC worldwide to scientists and other technical workers.

After George passed away, his son Steve Kelley took his place in the company. Steve cleaned up numerous bugs, expanded features, and managed dedicated customer support. When Steve suffered an untimely death, we terminated Scientific Endeavors. And there the codebase sat, untouched, for over 30 years…

The 2026 Renaissance: Enter AI and Google Antigravity

In 2026, working in close collaboration with me, Google’s Antigravity autonomous AI coding agent resurrected the original GraphiC C archives.

Over the course of this modernization: Archaic 16-bit DOS segmented pointers, expanded memory (EMS) page banking, and disk overlays were eliminated in favor of a clean, flat 64-bit POSIX/C99 architecture running natively across macOS (Apple Silicon ARM64 & Intel), Linux, and Windows.  Obsolete pen plotter support and the Tektronix storage file format were replaced by a modern W3C Scalable Vector Graphics (SVG) driver with an interactive browser-based viewer and live monitor streaming. And, Complete multi-language parity was established—delivering first-class bindings for Modern Fortran (2003/2018/legacy F77), Python 3, and Java 22 (Foreign Function & Memory API).

Most importantly, the core mathematical soul of GraphiC remains unaltered: the exact procedural state machine, analytical 3D hidden-surface horizon algorithms, Hershey stroke vector fonts (and now Postscript and TrueType), and precision coordinate transforms developed four decades ago are now preserved and running at native 64-bit speed for the next generation of scientific research.

Advantages of GraphiC

  • GraphiC is made for users who want to display data in new ways that are not part of standard "give me the data and I will plot it for you" programs.
  • GraphiC can plot multiple views of data as it is being generated. Thus, long experiments can be monitored and stopped if things go awry.
  • Vector graphics allow zooming and panning in the included viewer. This allows an overview and study of details in one plot.
  • GraphiC is fully self-contained and needs no other libraries or programs except for your compiler..
  • The GraphiC C code was designed before numeric co-processors, and is extremely fast and compact.
  • It was bug tested for many years and eventually, no changes were needed. (Bad for upgrade sales.)
  • GraphiC has support for things such as Smith Charts and error function plots that are not included in most competitive packages.
  • The Manual has numerous examples (ported to other languages on disk) that can be used as boiler plate for new plots. Several real-world examples that used GraphiC are also included.
🚀 Introductory Launch Special

Get GraphiC 2026 Today

Complete C, Fortran 2003, Python 3, and Java 22 source code • 23 Hershey vector fonts & TrueType engine • 35+ production-ready examples • 190-page manual

$499.99 $299.99 (Single-User Developer License)
🎉 Save $200 with Launch Code: Coupon LAUNCH is automatically applied at checkout!

Instant digital download via Lemon Squeezy • Secure checkout with Credit Card, Apple Pay, or PayPal

Technical Evaluation & Architectural Benchmark

GraphiC vs. The Landscape: Modern Scientific Graphics Compared

How the modernized 2026 edition of GraphiC compares against Matplotlib, Gnuplot, MATLAB, OriginPro, Tecplot, DISLIN, and Plotly across binary footprint, execution latency, polyglot language parity, and specialized scientific visualization.

âš¡ Sub-Millisecond Execution (<0.002s) ? <700 KB Static Footprint ? Zero External Dependencies ? 4 First-Class Languages: C, Fortran 2003, Python 3, Java 22

1. Executive Overview: The Right Tool for the Job

In computational science, engineering simulations, and mission-critical automated pipelines, visualization tools fall into two divergent paradigms:

  • Heavyweight, Interactive Desktop Environments (MATLAB, OriginPro, Tecplot): Feature-rich with extensive graphical user interfaces and thousands of analysis tools, but carry multi-gigabyte footprints, restrictive per-seat commercial licenses, and prohibitive cold-start latencies that make them unsuitable for autonomous microservices, HPC compute nodes, or embedded systems.
  • Dynamic Language & Web Frameworks (Matplotlib, Plotly): Ubiquitous in interactive exploratory data science (Jupyter Notebooks, web dashboards), but burdened by massive dependency stacks (CPython, NumPy, FreeType, libpng, V8, Node.js, Chromium), slow process startup (500–1,500 ms), and lack of native binary linkage for compiled simulation codes written in C and Modern Fortran.

GraphiC occupies a unique, high-value tier: an ultra-lean, high-precision, self-contained scientific plotting engine with zero external runtime dependencies. Developed originally for high-performance scientific publication and modernized in 2026, GraphiC delivers sub-millisecond execution, true physical layout precision (inches/centimeters), pure algorithmic 3D hidden-surface removal with zero GPU/OpenGL prerequisites, and identical API semantics across C/C++, Modern Fortran 2003, Python 3, and Java 22 (FFM).

2. Comprehensive Feature Matrix

Scroll horizontally on smaller screens to compare GraphiC against standard scientific libraries and software packages.

Feature / Dimension GraphiC (Modern 2026) Matplotlib Gnuplot MATLAB OriginPro DISLIN
Binary Footprint ~655 KB static
(407 KB dynamic)
150–350 MB
(Python + wheels)
15–30 MB
(standalone bin)
15–25 GB
(MCR runtime: 4GB)
3–5 GB
(Windows suite)
10–25 MB
(compiled libs)
External Dependencies ZERO
(Pure standard libc/libm)
Python, NumPy, FreeType, libpng, pyparsing, dateutil cairo, pango, libpng, readline, Qt/X11 Java VM, Intel MKL, OpenGL drivers, Qt Windows COM, MSVC CRT, DirectX/OpenGL FreeType, Motif/X11, GL, zlib
Cold-Start Execution Latency < 0.002s
(Sub-millisecond)
0.50 – 1.50s
(module import overhead)
0.05 – 0.15s
(process fork/pipe)
3.0 – 10.0s
(desktop engine boot)
4.0 – 8.0s
(GUI suite launch)
0.01 – 0.03s
(compiled binary)
Language Integration True 4-Way Parity:
C/C++, Fortran 2003,
Python 3, Java 22 FFM
Python only
(C/Fortran bridges brittle)
Piped scripts only
(no direct C/Fortran API)
MATLAB syntax
(MEX/Engine IPC required)
LabTalk & Origin C
(proprietary desktop)
C, Fortran, Python
(legacy Java JNI wrappers)
Vector & Web Output Native SVG + Auto Interactive HTML5 Viewer, PostScript, WMF SVG, PDF, PNG
(HTML requires mpld3/bokeh)
SVG, PostScript, Canvas (HTML5 JS driver) FIG, EPS, PDF, SVG
(complex 3D often rasterized)
EPS, PDF, SVG, EMF, TIFF PostScript, PDF, SVG, WMF, PNG
Serverless & Cloud Containers
(AWS Lambda, GCP Cloud Run)
Native & Trivial
(<2 MB container layer, instant cold boot)
Possible but bulky
(250+ MB layer, high cold start)
Requires apt dependencies in container Impractical / Costly
(Production Server license: $10k+)
Unsupported
(Windows desktop only)
Supported via dynamic shared object
Typography & Fonts Dual-Engine:
23 Built-in Hershey Vector Fonts + TrueType Engine (Zero FreeType dep)
External FreeType library + system TTF/OTF Relies on host fontconfig & pango System fonts + internal TeX engine Windows GDI TrueType & OpenType Hershey fonts + external FreeType
3D Hidden-Surface Engine Pure Software Algorithmic:
No GPU, No OpenGL, No X11 required
Painter's Algorithm
(notorious depth sorting artifacts)
Software hidden3d algorithm Hardware OpenGL / Software Mesa fallback OpenGL hardware acceleration Software hidden-line removal
Specialized Built-In Plots
(Smith charts, Ternary, Quiver)
Built-In:
RF Smith Charts, Ternary Phase, 3D Columns, Vector Quiver
Requires 3rd-party add-ons
(scikit-rf, python-ternary)
Complex manual math transform scripts Requires RF Toolbox or File Exchange scripts Built-in (Ternary & Smith templates) Polar/contour built-in; lacks native Smith
Simultaneous Active Plots simuplot(n)
Up to 10 live concurrent coordinate systems
Subplots & Axes objects (OOP state) multiplot (sequential write) subplot / tiled layout Multi-layer graph windows Multiple page zones
Cost & Distribution Model $499.99 / Single User
(Perpetual license; OEM redistribution negotiated)
Open Source (PSF / BSD) Open Source (Gnuplot License) $$$$ Proprietary
($2,000+ / seat; cloud expensive)
$$$ Proprietary
($1,000–$3,000 / seat)
Freeware / Commercial license

3. In-Depth Comparative Analyses

GraphiC vs. Matplotlib (Python): The Burden of Runtime Overhead

Matplotlib is the standard for interactive ad-hoc data exploration in Jupyter Notebooks. However, when software architects attempt to use Matplotlib in high-throughput backend services, serverless execution (AWS Lambda), or automated high-performance computing (HPC) loops, its architectural limits quickly emerge:

  • Cold-Start Lag & Footprint: Matplotlib requires between 500 ms and 1.5 seconds just to import its modules (due to Python bytecode parsing, CPython ABI loading, NumPy array initialization, and font cache indexing). GraphiC compiles into a single 655 KB static binary that executes from cold start in under 2 milliseconds.
  • 3D Depth Sorting Artifacts: Matplotlib’s 3D engine (mplot3d) relies on a simple Painter’s algorithm that sorts polygons by centroid distance. On overlapping or concave 3D mesh surfaces, it frequently produces visual rendering errors (triangles popping in front of nearer surfaces). GraphiC’s 3D algorithms (d3plot, surmat, surfun) utilize rigorous mathematical hidden-line horizon algorithms that guarantee mathematically correct occlusion without requiring a GPU.
  • Polyglot Deployment: Matplotlib cannot be natively linked into Fortran 2003 or C/C++ simulations without running an embedded CPython interpreter instance. GraphiC provides native, zero-overhead C and Fortran bindings alongside its idiomatic Python wrapper.

GraphiC vs. Gnuplot: In-Process Binary Linkage vs. Brittle Shell Scripting

Gnuplot has long been a favorite tool for rapid terminal plotting. Yet from a software engineering perspective, Gnuplot is a standalone executable, not an embeddable C/Fortran library:

  • No In-Memory Pointer Passing: Integrating Gnuplot into a compiled C or Fortran simulation requires writing data to temporary disk files or piping formatted ASCII text across an OS subshell (e.g. popen("gnuplot", "w")). This introduces serialization overhead, disk I/O bottlenecks, and shell-injection risks.
  • True Library Architecture: GraphiC functions (such as curve(x, y, n, sym) or surmat(z, nx, ny, ...)) receive your existing memory buffers directly by pointer or array descriptor. There is zero serialization, zero disk writing, and zero IPC overhead.
  • Deterministic Page Layout: Gnuplot manages layouts through terminal-specific commands. GraphiC operates strictly on physical paper dimensions (page(8.5, 11), area2d(6.5, 4.5) in inches or cm), ensuring that multi-panel figures conform exactly to publisher specifications (IEEE, Nature, Elsevier).

GraphiC vs. MATLAB & OriginPro: Enterprise Agility vs. Proprietary Monoliths

MATLAB and OriginPro excel at interactive desktop exploratory plotting with hundreds of point-and-click dialogs. However, for automated production pipelines:

  • Licensing & Cost Barriers: Running MATLAB on a cluster of 500 cloud workers requires exorbitant MATLAB Production Server licenses or massive Compiler Runtime containers (~4 GB each). With GraphiC's $499.99 single-user perpetual license, you compile directly into your own executables and run batch jobs across your own workstations or cloud nodes without license servers or per-core metering. (Commercial redistribution in products sold or given to third parties requires a separate OEM agreement with Scientific Endeavors Corporation.)
  • Headless Architecture: OriginPro is tied to the Microsoft Windows desktop subsystem. GraphiC is 100% portable POSIX C, running headlessly on Alpine Linux, macOS (Apple Silicon & Intel), Windows, or supercomputing architectures with identical SVG vector output.

GraphiC vs. DISLIN & Plotly: Modern Polyglot Parity and Zero Web Bloat

DISLIN provides a classic C/Fortran library, while Plotly provides rich JavaScript web graphics. GraphiC bridges the best of both worlds:

  • Next-Generation Java 22 FFM: While DISLIN relies on legacy JNI C wrapper stubs for Java, GraphiC features modern Java 22 Foreign Function & Memory (FFM) bindings (Linker and Arena), achieving native compiled C speed inside Java applications without any custom native glue code.
  • Zero-Framework Interactive HTML5: Plotly produces interactive HTML charts, but requires bundling a heavy 3.5 MB JavaScript runtime engine and cannot run inside an MPI Fortran simulation on a supercomputer. GraphiC generates native, lightweight SVG files accompanied by a zero-framework HTML5 viewer that provides smooth pan, scroll-wheel zoom, and vector export using pure browser-native DOM APIs.

4. The Architectural Pillars of GraphiC

?

Zero Runtime Dependencies

Compiles cleanly on 64-bit platforms with nothing more than standard C library headers and -lm. No external graphical toolkits, no X11/Wayland servers, and no external font engines required.

?

Dual-Engine Typography

Includes 23 built-in Hershey vector stroke fonts (Simplex, Complex, Triplex, Gothic, Math, Astronomy, Dot-Matrix) plus an integrated TrueType (.ttf) quadratic B-spline tessellator with outline caching.

?

RF & Chemical Specialization

Native support for RF Smith transmission charts (impedance & admittance circles), ternary mixture phase diagrams (trimat, trifun), 3D column bars (d3bars), and vector quiver fields (vfield).

?

Polyglot First-Class Parity

The exact same API across C99/C11/C23, Modern Fortran 2003/2008, Python 3 (with Jupyter Notebook inline SVG support), and Java 22 FFM. Write in your team’s preferred language with zero feature divergence.

5. Polyglot Parity in Action

Compare how simple, clean, and consistent GraphiC code remains across all 4 supported environments. Each produces an identical, high-precision vector SVG figure:

// C / C++ (High Performance)
#include <graphic.h>
#include <math.h>

int main(void) {
    float x[100], y[100];
    for (int i = 0; i < 100; i++) {
        x[i] = i * 0.1f;
        y[i] = sinf(x[i]);
    }
    bgnplot(1, 'g', "wave.tkf");
    startplot(WHITE);
    page(8.0f, 6.0f);
    area2d(6.5f, 4.5f);
    color(BLACK); box();
    heading("Harmonic Oscillation");
    graf("%g", 0.0f, 2.0f, 10.0f,
         "%g", -1.5f, 0.5f, 1.5f);
    color(BLUE);
    curve(x, y, 100, 0);
    endplot(); stopplot();
    return 0;
}
! Modern Fortran 2003 (ISO_C_BINDING)
program wave_demo
    use graphic_iso
    implicit none
    real(c_float) :: x(100), y(100)
    integer :: i

    do i = 1, 100
        x(i) = real(i - 1) * 0.1
        y(i) = sin(x(i))
    end do
    call bgnplot(1, 103, "wave.tkf")
    call startplot(WHITE)
    call page(8.0, 6.0)
    call area2d(6.5, 4.5)
    call color(BLACK); call box()
    call heading("Harmonic Oscillation")
    call graf("%g", 0.0, 2.0, 10.0, &
              "%g", -1.5, 0.5, 1.5)
    call color(BLUE)
    call curve(x, y, 100, 0)
    call endplot(); call stopplot()
end program wave_demo
# Python 3 (Object-Oriented & Jupyter)
import math
from graphic import Figure, BLUE, SOLID

x = [i * 0.1 for i in range(100)]
y = [math.sin(v) for v in x]

with Figure(8.0, 6.0, tkf_name="wave.tkf") as fig:
    fig.setup_axes(0.0, 2.0, 10.0,
                   -1.5, 0.5, 1.5)
    fig.title("Harmonic Oscillation")
    fig.xlabel("Time (s)")
    fig.ylabel("Amplitude (V)")
    fig.plot(x, y, color="blue")
    fig.save("wave.svg")
// Java 22 (Foreign Function & Memory API)
import com.sciend.graphic.*;

public class WaveDemo {
    public static void main(String[] args) {
        float[] x = new float[100];
        float[] y = new float[100];
        for (int i = 0; i < 100; i++) {
            x[i] = i * 0.1f;
            y[i] = (float) Math.sin(x[i]);
        }
        try (Figure fig = new Figure(8.0f, 6.0f,
                 Color.WHITE, "wave.tkf")) {
            fig.setupAxes(0f, 2f, 10f,
                          -1.5f, 0.5f, 1.5f);
            fig.title("Harmonic Oscillation");
            fig.plot(x, y, Color.BLUE, LineStyle.SOLID);
            fig.save("wave.svg");
        }
    }
}

When Should You Choose GraphiC?

GraphiC is the ideal solution if your project requires:

✔ High-Throughput Batch Generation: Rendering thousands of figures per minute where sub-millisecond execution eliminates CPU bottlenecks.
✔ High-Performance Computing (HPC): Direct in-process linkage to C or Fortran MPI simulation codes running on headless Linux supercomputers.
✔ Serverless / Container Microservices: Minimal Docker layers (<2 MB vs. 300 MB Matplotlib images) for AWS Lambda or Google Cloud Run.
✔ Specialized Engineering Disciplines: Out-of-the-box RF Smith charts, chemical ternary phase diagrams, and clean 3D hidden-surface removal.
✔ Real-time plotting of data as they are generated: 
✔ New types of plots: GraphiC gives you full control over all aspects of the plot.

 

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA

Enter the characters shown in the image.

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.