[WIP] Redesign plotting API
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- csharp, fsharp
調査の方向性
提案されているエントリーポイントは AngouriMath.Interactive.Plot 型で、プロットと slider メソッドのために GenericChart を返します。まず既存の実験的なプロット実装を探し、ここに記載されているシグネチャとデフォルト値に対して、その 2D、3D、および slider の動作を比較します。再設計された API が一貫して実装され、式を値とする範囲に関する未解決の問題について文書化された決定が行われていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Plotting API
Since 1.4 preview 1 one now can plot functions in "experimental"/preview mode. Time to make it prettier!
Root types
Will be in class Plot:
module AngouriMath.Interactive
...
type AnyFunc = obj
type AnyVar = obj
...
type Plot =
... // here the static members come
2D
Signature
static member plottingFunction(func : AnyFunc,
[<Optional;DefaultParameterValue(null)>] ?var : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?range : double seq
) : GenericChart
Functions
| Function | Default range |
|---|---|
cartesianLine |
[-1.0..0.01..1.0] |
cartesianScatter2D |
[-1.0..0.01..1.0] |
polarLine |
[0.0..0.01..3.1415] |
polarScatter |
[0.0..0.01..3.1415] |
3D
Signature
static member plottingFunction(func : AnyFunc,
[<Optional;DefaultParameterValue(null)>] ?var1 : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?var2 : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?range1 : double seq,
[<Optional;DefaultParameterValue(null)>] ?range2 : double seq
) : GenericChart
If no var was specified, they're taken from the expression in the alphabet order, e. g. for y + x the variables will be x and y.
Functions
| Function | Default range 1 | Default range 2 |
|---|---|---|
cartesianSurface |
[-1.0..0.05..1.0] |
[-1.0..0.05..1.0] |
cartesianScatter3D |
[-1.0..0.05..1.0] |
[-1.0..0.05..1.0] |
sphericalSurface |
[0.0..0.05..3.1415] |
[0.0..0.05..3.1415] |
sphericalScatter |
[0.0..0.05..3.1415] |
[0.0..0.05..3.1415] |
cylindricalSurface |
[0.0..0.05..3.1415] |
[0.0..0.05..1.0] |
cylindricalScatter |
[0.0..0.05..3.1415] |
[0.0..0.05..1.0] |
Sliders
For 2D
static member withSlider2D(func : AnyFunc,
plottingFunc : (AnyFunc * AnyVar Option * double seq option) -> GenericChart,
[<Optional;DefaultParameterValue(null)>] ?var : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?range : double seq,
[<Optional;DefaultParameterValue(null)>] ?param : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?paramRange : double seq,
) : GenericChart
If no parameter and argument is specified, the variables taken from the expression are ordered in alphabet order, and the parameter is the first of them. For example, in x + a the paramater is a and the variable is x.
The default value for range now is [1.0..0.1..2.0], but no default value for range (it will be passed as-is).
For 3D
static member withSlider3D(func : AnyFunc,
plottingFunc : (AnyFunc * AnyVar Option * AnyVar Option * double seq Option * double seq Option) -> GenericChart,
[<Optional;DefaultParameterValue(null)>] ?var1 : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?var2 : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?range1 : double seq,
[<Optional;DefaultParameterValue(null)>] ?range2 : double seq,
[<Optional;DefaultParameterValue(null)>] ?param : AnyVar,
[<Optional;DefaultParameterValue(null)>] ?paramRange : double seq,
) : GenericChart
Likewise, the param variable is defined as the first one by alphabet by default.
Unresolved questions
Can we let input expressions? e. g. range = [ 0.0..0.1.. (2 * pi) ]
- 主要言語
- C#
- スター
- 831
- フォーク
- 79
- 平均マージ
- 2時間 22分
- マージ済み PR(30日)
- 507
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ASC-Community/AngouriMath のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
ASC-Community/AngouriMath#1807 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
ASC-Community/AngouriMath#1692 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
ASC-Community/AngouriMath#1690 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
ASC-Community/AngouriMath#1689 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
ASC-Community/AngouriMath#1684 ·
メンテナーはふだん 1 日以内に返信
ASC-Community/AngouriMath の issue をすべて見る
似ている issue
-
Bug: Hidden loading rings keep the compositor running, so Files uses 7-94% of a CPU core while idleオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
files-community/Files#19026 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Physgun SFX Spamオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
SubtitleEdit/subtitleedit#15946 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
BHoM/Civil3D_Toolkit#118 ·
-
Reason-phrase table has misspelled entries (`Unathorized`, `Switching Protcols`, `Multiple Choises`)オープンbug severity:low
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100