フリーソフト、ライブラリなど

RINEARN では、貢献活動の一環として、フリーソフトやライブラリなども一般公開しています。ご質問・ご感想も大歓迎!
Japanese English

リニアングラフ3D

3次元グラフソフトです。おそらくRINEARNで最も代表的なソフトです。 » 詳細

特徴

表計算ソフトや計算プログラムなどで作成されたファイル、または数式から、簡単な操作で3次元グラフを描画できます。

特に表計算ソフトからは、領域をコピーしてグラフ画面上で「貼り付け」するだけで、すぐにグラフを描けます。

加えて、Java®言語などで記述したプログラムから呼び出して、ライブラリとしても使用できます。 簡易プログラミング言語VCSSLも標準搭載し、制御や自動処理に対応。

専用開発の3D描画エンジンにより、リアルな立体感のあるグラフを描画でき、各種アニメーションにも対応、数十万メッシュの高密度プロットも行えます。

| 詳細ページ | ダウンロード |

リニアングラフ2D

主に計算・データ解析分野向けの2次元グラフソフトです。上記の2D版です。 » 詳細

特徴

画面設計はリニアングラフ3Dと共通で、表計算ソフトや計算プログラムなどで作成されたファイル、または数式から、簡単操作で2次元グラフを描画できます。

数多くある2次元グラフソフトの中で、高度な図を作成する能力よりもむしろ、「普段使い」での扱いやすさを目指しているのが特徴です。

Java®言語などで記述したプログラムから呼び出し、ライブラリとして使用する事もできます。 簡易プログラミング言語VCSSLも標準搭載し、制御や自動処理に対応。

座標点の番号を時刻とするアニメーションや、系列番号を時刻とするアニメーションも簡単に行えます。

| 詳細ページ | ダウンロード |

リニアンプロセッサー

グラフ描画機能付きのプログラム関数電卓です。RINPn よりも多機能ですが少し重いです。 » 詳細

特徴

途中式の表示や2次元/3次元グラフの描画をはじめ、 数値微積分、毎秒1億回超の倍精度浮動小数点演算、数百桁以上の10進実数&複素数計算、2/8/16進数の変換など、 数値計算・データ解析分野に便利な機能を搭載した、比較的コアユーザー向けの電卓です。

C言語ライクな簡易プログラミング言語VCSSLを標準サポートしており、自作関数・変数の定義や自動処理にも対応。

VCSSLで記述したプログラムをメニューに登録し、拡張機能として常用する事もできます。 プログラムは、自作はもちろん、コードアーカイブでも配信しています。

| 詳細ページ | ダウンロード |

関数電卓 RINPn(りんぷん)

単純で扱いやすい画面デザインと、軽さを重視したプログラム関数電卓です。 » 詳細

特徴

機能の数とのトレードオフにより、電卓ソフトとしては若干大きく&重くなってしまっている「 リニアンプロセッサー 」から、 日常での使用頻度の高い機能のみに絞って小型軽量にまとめたソフトで、名称も「 RINEARN Processor nano 」の略になっています。

計算式やプログラムを実行するスクリプトエンジンに新開発の Vnano (VCSSL nano) を採用し、 リニアンプロセッサーと同様、C言語ライクな記法での自作関数・変数の定義に対応。 グラフ描画やアプリレベルのプログラム作成には非対応ですが、その代わり軽快なレスポンスを実現しています。

| 詳細ページ | ダウンロード | ソースコード リポジトリ |

プログラミング言語 VCSSL

VCSSL は、ライトな計算処理やデータの可視化、及びちょっとしたツール製作などに便利な、C言語系の簡易プログラミング言語です。 VCSSL ランタイムはその実行環境ソフトです。 » 詳細

特徴

リニアングラフ3D&2Dの自動処理用言語にも採用しているため、データを加工してプロットしたり、それを自動で大量のファイルに行ったりするのに便利です(ユーザー層の大多数がそういった用途です)。

また、簡易用途に焦点を絞ったものですが、GUIや2次元 & 3次元グラフィックス機能も標準でサポートしているため、ちょっとした画面を備えたツールを作ったりするのにも使えます。

処理速度面では、インタープリタ式でありつつ、毎秒1億演算(100 MFLOPS)を超えるくらいは発揮可能で、それなりの計算量の用途もこなせます。 実際にコードアーカイブでは計算系のコード例も公開しています。

また、アプリ内組み込み用サブセット言語である「Vnano」のコードも実行できます。 そちらはさらに高速です(ピーク値でGFLOPSクラス)。

| 公式サイト | ダウンロード |

スクリプトエンジン Vnano

一般のJavaアプリケーション内に組み込み、スクリプト処理機能を提供するための、オープンソースのスクリプトエンジン & 言語です。 » 詳細

特徴

言語仕様はVCSSLのサブセットで、C言語系のシンプルな文法によるスクリプト処理機能を提供します。 後述の Exevalator よりも実装サイズは大きいですが、その代わり機能数が多く、適材適所の使い分けを想定しています。

処理速度面では、中間コードの実行レイヤーにベクトルレジスタマシン型のVMを採用する事により、最大で数百MFLOPS〜数GFLOPSクラスの演算速度を発揮します。

| 公式サイト | ダウンロード | ソースコード リポジトリ | コンセプト解説記事 | アーキテクチャ解説記事 |

式計算ライブラリ Exevalator

Java™/C#/C++/Rust/Visual Basic/TypeScript/Python製のアプリケーション内に組み込んで、文字列内の式の値を計算するのに使える、著作権フリー/オープンソースのコンパクトなライブラリです。 » 詳細

特徴

各言語版ごとに、実装は単一ファイルのみに収まっており、開発アプリケーションのソースコードフォルダ内に放り込むだけで、簡単に使う事ができます。 ライセンスも実質著作権フリーである Unlicense or CC0 です。

処理速度もそれなりに重視しており、コンパイラ型言語用の実装では、数百MFLOPSクラス(概ねVnanoの半分程度)の処理速度を発揮します。

また、MCPによる制御をサポートしており、AI用の計算ツールとしても利用できます。

| 公式サイト | ダウンロード | ソースコード リポジトリ | コンセプト解説記事 | アーキテクチャ解説記事 |

ベクトルレジスタ中間言語 VRIL

中間コードコンパイラ+VM形式の言語処理系内で用いる、VMの命令セットアーキテクチャおよび中間コード言語です。

特徴

VRILは「Vector Register Intermediate Language(ベクトルレジスタ中間言語)」の略で、 名称の通り、ベクトル単位の仮想レジスタ/メモリーを備える、レジスタマシン型のVM実装を前提に仕様設計されています。

VRILの命令セットはほぼ全てが仮想的なSIMD命令で構成されているため、ベクトル演算では命令実行オーバーヘッドに対して実演算時間の比率が高められ、高い性能を実現できます。 また、シンプルな三番地コードの形式であるため最適化が容易で、スカラ演算性能も高めやすい側面を備えています。

VRILは将来的にVCSSLの処理系内で採用する予定で、現在はそのサブセットであるVnanoにおいて先行して採用しています。

| 参照: Vnano処理系のアーキテクチャ |

ベクトルレジスタ仮想マシン VRIL-VM

言語処理系の中間コード実行層に用いるプロセス仮想マシン(いわゆる仮想的なCPUとしてのVM)です。

特徴

データ解析ソフトウェアなどでの使用も見込んで、数値のスカラ演算およびベクトル演算の性能を共に重視しており、 そのためベクトルプロセッサ風の命令を備えるレジスタマシン方式のアーキテクチャを採用しています。 具体的には、中間コード言語にSIMD命令主体のVRILを採用し、レジスタやメモリーのデータ単位も全てベクトル(配列)となっています。

実測性能では、全体がJava言語のみで実装された中間コードインタープリタでありながら、倍精度浮動小数点演算で数百MFLOPS(スカラ演算)〜 数GFLOPS(ベクトル演算)クラスのピーク性能を発揮します。 これにより、プラットフォーム非依存性やアプリケーションへの組み込みやすさと、数値演算パフォーマンスとの間の高い妥協点を実現します。

VRIL-VMは将来的にVCSSLの処理系内で採用する予定で、現在はそのサブセットであるVnanoにおいて先行して採用・開発しています。

| 参照: Vnano処理系のアーキテクチャ | 実装コード |

VRIL出力コンパイラ LexicalCraft

C言語系のオーソドックスな文法を持つVnanoのコードを、ベクトルレジスタマシン上で実行可能なVRILコードに変換するコンパイラです。

特徴

特にアプリケーション組み込み用途を想定したもので、構造上は一般的な字句/構文/意味解析器およびコード生成処理の4ステージ(最適化はVM側)を備えつつ、 カスタマイズ性を確保するために各ステージの分離性を重視し、複雑性や実装規模もコンパクトに抑える事を目指したコンパイラです。

また、アプリケーション内に組み込むという用途上、コンパイル時でのスタックオーバーフロー等の発生を回避しやすいよう、 構文解析器(パーサ)を含む全ステージを非再帰処理のみで実装する設計を採用しています。

LexicalCraft は現在、Vnanoのスクリプトエンジン内部の中間コードコンパイラ層において採用・開発しています。

| 詳細解説記事 | 実装コード |

ASTインタープリタ GARNET

現行版のVCSSL処理系内の実行レイヤーで採用している、中間表現インタープリタです。

特徴

アーキテクチャは広義のASTインタープリタに類するもので、 ポリモーフィズムで機能分化した演算オブジェクトの集合を、抽象構文木と同型のツリー構造となるよう参照リンクで繋ぐ事で、コードを比較的高速に実行します。

GARNETは、VCSSL最初期の頃から処理系の実行層として継続採用してきたものですが、現在は性能向上が鈍化し、実装も複雑化しつつあるため、 将来のVCSSL処理系では別方式のVRIL-VMへ置き換わる予定です。

その後はGARNETは互換エンジンの役割を担う予定であるため、現在は拡張方向での開発よりも、修正やメンテナンスを中心として安定性を固める方向の開発に収束しています。

簡易3D描画ライブラリ RINEARN-X

RINEARN でのソフトウェア開発に使用している簡易3D描画ライブラリです。

特徴

ベクトルや変換行列等、一般に3Dに必要となる数学的な記述を要求せずに、データ可視化などの比較的単純な3DCGを、手軽に描画する事を目指した、簡易用途向けの3D描画ライブラリです。 もともとは リニアングラフ3D の描画エンジンから派生したもので、 現在は VCSSL3DCG機能 の下層レイヤーなどに採用しています。

RINEARN-X は、2009年頃に外部への一般公開を行ったものの、 その後の公開バージョンおよびドキュメントの更新やメンテナンスは、現在停止中となっています。 これはVCSSLの開発に伴って大幅な改修を行ったためで、 将来的には、再び一般公開に向けたバージョンおよびドキュメントの再整備を計画しています( そのタイミングにおいて「 BlockMount3D 」に改称予定です )。

| 詳細ページ( ※ 古い情報です。あらかじめご了承ください。 ) |

VCSSL コードアーカイブ

VCSSL公式サイト内の「コードアーカイブ」コーナーでは、様々な種類のプログラムを、題材やコードの解説記事と一緒に配信しています! » 配信プログラム 一覧

シミュレーション

主に科学系のテーマを中心とする、いろいろなシミュレーションのコードです。

波の干渉(面上の円形波)のアニメーション表示

面上の円形波が干渉する様子を、パラメータを操作しながらアニメーションで見られるプログラムです。
正弦波のアニメーション表示

振幅・波長・周期をスライダ―で操作しながら、正弦波のグラフをアニメーションで見られるプログラムです。
Vnano版 | ローレンツ方程式を数値的に解くプログラム

ローレンツ方程式を4次ルンゲ=クッタ法によって解き、グラフ描画用のデータを出力するプログラムです。

» このカテゴリーをもっと見る


計算・アルゴリズム

一般的な計算や、少し専門的な数値計算などにおける、各種のアルゴリズムのサンプルコードなどです。

シンプソン法による数値積分

積分の値を数値的に求めます。台形法よりも高精度な方法として、被積分関数を微小区間内で二次関数近似して求めた面積を足しあげる、シンプソン法を使用します。
円周率1万桁の計算(ガウス=ルジャンドル法)

ガウス=ルジャンドル法により、円周率を1万桁まで計算するプログラムです。
小数(浮動小数点数)から分数へ近似的に変換するツール

小数(浮動小数点数)を、適当な誤差の範囲内で、近い分数に変換してくれるツールプログラムです。

» このカテゴリーをもっと見る


グラフ描画

ファイルや配列内のデータ、または数式などを、グラフに描画するコードです。

ファイルを3Dグラフにプロットする(曲面/メッシュグラフ)

座標値ファイルの内容を、3次元の曲面/メッシュグラフにプロットするサンプルプログラムです。
配列を3Dグラフにプロットする(曲面/メッシュグラフ)

配列の内容を、3次元の曲面/メッシュグラフにプロットするサンプルプログラムです。
配列を2Dグラフにプロットする

配列の内容を、2次元グラフにプロットするサンプルプログラムです。

» このカテゴリーをもっと見る


グラフィックス

2DCG/3DCGの描画や画像処理、その他グラフィックス関連の処理を行うコードです。一部でGUI画面を備えたツール的なものもあります。

条件を満たす色を透明にする簡易ツール

画像ファイルを開き、指定された条件を満たす色を透明に置き換えて保存する簡易ツールです。
画像を任意サイズに拡大・縮小する簡易ツール(複数ファイル一括処理版)

フォルダ内にある全ての画像ファイルを開き、任意のサイズに拡大・縮小して、別のフォルダに保存する簡易ツールです。
頂点配列によるモデルの変形アニメーション

頂点配列によってモデルを変形アニメーションさせるサンプルです。

» このカテゴリーをもっと見る


ツールとして使えるプログラム

全カテゴリー内から、作業用のツールとしても使えるプログラムをまとめてリストアップしています。

連番画像をアニメーション再生する簡易ツール

フォルダ内の連番画像ファイルを、動画への変換不要で、そのままアニメーションとして再生できる簡易ツールです。
角度の「度」とラジアンとを相互変換し、図示もするツール

45度などの「度」の値と、ラジアンの値とを相互に変換できるツールです。対応する角度の図示もできます。
RGBやカラーコードの色表示と相互変換ができる簡易ツール

RGB値とカラーコードから、GUI画面上で色の表示や相互変換を行う事ができる簡易ツールです。

» このカテゴリーをもっと見る


その他

先行開発版はこちら

各ソフトウェアにおいて、開発途中の次期バージョンや、特定の機能を試験的に実装したバージョンなどを、先行開発版として試験公開する場合があります。 詳細はリンク先ページをご参照ください。

ソースコード等はこちら (GitHub)

オープンソース開発のソフトにウェアついては、GitHub上でソースコードのリポジトリを公開しています。

リニアンビューア ( 開発終了、再開未定 )

リニアンビューア ( RINEARN Viewer )は、各種OS対応の簡易画像ビューアソフトです。 機能・性能的にこれといった特徴はありませんが、USBメモリーなどに入れておくと、別のOS上でもインストール不要で使う事ができます。

グラフムービープレイヤー ( 開発終了、再開未定 )

連番ファイルをアニメーション的にグラフプロットするソフトです。 古いソフトで、現在は既に開発・メンテナンス共に終了していますが、あまり代替ソフトが無いようなので、配布ファイルと説明ページは今もそのまま置いています。


Japanese English
この階層の目次
新しいお知らせ

ExevalatorのVer.2.4をリリース—MCPをサポートし、AI用の計算ツールとしても使用可能に
2025-11-15 - 式計算ライブラリExevalatorのVer.2.4をリリースしました。今回から、AIとやり取りするためのプロトコルである「MCP」をサポートし、AI用の計算ツールとしても使用可能になりました!

Exevalatorの最新版Ver.2.3をリリース、新たにPythonで使用可能に
2025-11-04 - 式計算ライブラリExevalatorのVer.2.3をリリースしました。今回から、新たにPython製のプログラムでも使用可能になりました!AI用ツール開発需要などの背景も踏まえて、詳細をお知らせします。

Exevalatorをアップデート、エラーメッセージの日本語化が手軽に
2025-10-31 - 式計算ライブラリExevalatorのVer.2.2.2をリリースしました。今回から、エラーメッセージを手軽に日本語化できるようになりました。数件のバグ修正&微調整も作んでいます。詳細をお知らせします。

関数電卓RINPn(りんぷん)オンライン版の内部構造を解説
2025-10-22 - 先日登場した、関数電卓ソフトRINPn(りんぷん)のオンライン版の内部構造を解説します。オープンソースなので、自由に改造・流用して、自分だけのWeb電卓を作る事も可能!(かもしれない)

関数電卓RINPn(りんぷん)、どこでもすぐ使えるオンライン版が登場!
2025-10-21 - フリー関数電卓ソフトRINPn(りんぷん)に、Web上でどこでもすぐ使える「オンライン版」が新登場しました!PCだけでなく、スマホでも利用可能です。詳細をお知らせします!

VCSSLのサポートAIが登場!ただし実用品質にはChatGPT有料アカウント(Plus)での利用推奨
2025-08-19 - プログラミング言語VCSSLについての質問対応や、コーディング作業を手伝ってくれるAIさんが登場しました!使用までの流れや推奨事項を解説し、実際の回答例や生成コード例などもたくさん紹介します!

各ソフトやVCSSLの英語版ドキュメント整備がほぼ完了
2025-06-30 - RINEARNでは2年前から、AIの補助による英語版ドキュメントの大幅拡充計画を進めてきました。今回、主要ドキュメント&コンテンツの英訳がほぼ完了し、一応の目標水準に達しました。詳細をお知らせします。

VCSSLの最新版をリリース:外部プログラムとの連携機能を少し強化、他
2025-05-25 - VCSSL3.4.52をリリースしました。外部プログラム(C言語製の実行ファイル等)との連携機能を少し強化し、文字化け対策やOS判別などを可能にしました。他にも細かい機能追加があります。詳細をお知らせします。

VCSSLの最新版をリリース、Java24上での非互換な挙動を対処
2025-04-22 - VCSSL3.4.50をリリースしました。Java24環境上でのネットワークドライブ関連のファイルパス解決で、従来環境とは異なる挙動が生じていたのを解消しました。詳細をお知らせします。

リニアングラフやVCSSLの最新版をリリース、目盛りの位置や内容を自由に指定可能に!
2024-11-24 - リニアングラフ3D/2Dを更新し、自由な位置に、自由な表記内容の目盛りを描けるようになりました!併せて、Java言語やVCSSLでの、プログラム制御用APIも拡張しています。詳細をお知らせします。