桜チャート(Sakura Chart)

CSV を貼り付けるだけで、統計グラフを自動生成できる無料ウェブツール

桜チャートで桜の花を描く方法

本記事では、散布図や折れ線グラフを扱うツール「桜チャート」を使って、 数学的に桜の花を描く方法を解説します。
X・Y座標とLEVEL(グループ・色分け用の列)だけで花びらの形を作り、 回転の公式を使って 5 枚の花びらを並べることで、桜の形を表現していきます。

この方法は、桜チャートだけでなく、Excel や Python(Matplotlib)といった 他のツールにも応用できるので、 「データとして図形を扱う」「座標ベースで形を作る」考え方の参考にもなります。

この記事でできるようになること

  • X・Y 座標と簡単な直線の式だけで、花びらの形を作る方法が分かる
  • Y軸対称(左右反転)の考え方をグラフ作成に応用できる
  • 回転行列(x', y' の公式)を使って図形を回転させる手順が理解できる
  • 桜チャートに座標データを貼り付けて、桜の形を描く流れが分かる

まずは ChatGPT に座標を作ってもらった話

最初は、自分で座標を考えるのが少し大変そうだったので、 ChatGPT に「桜の形に見える X・Y 座標」を生成してもらい、 そのデータを桜チャートに読み込んでみました。

しかし、散布図で表示すると点がバラバラに見えてしまい、 どう見ても桜には見えませんでした。 そこで、いったん折れ線グラフとして点をつないで表示しています。

ChatGPT が生成した座標で描いた桜の折れ線グラフ
ChatGPT が生成した座標で描いたグラフ。Chat GPTはこういうの苦手なんでしょうか。。。

さらに、桜の画像を渡して「この形を座標にしてほしい」と頼んでみましたが、 こちらもきれいな桜にはならず、最終的には 自分で花びらの形を数式で定義する ことにしました。

桜画像から座標化を試みた結果のイメージ
(画像から座標化を試してみたものの、理想的な桜の形にはならず)

ステップ1:花びらの片側を 4 本の直線で作る

ここからは、桜の花びらを数学的に作っていきます。 花びらは左右対称の形なので、まずは片側だけを直線で定義します。

使用した直線は次の 4 本です:

  • ①Y = X(0 ≦ X ≦ 2)
  • ②X = 2(2 ≦ Y ≦ 5)※縦方向の直線
  • ③Y = -X + 7(1 ≦ X ≦ 2)
  • ④Y = X + 5(0 ≦ X ≦ 1)

これら 4 本の直線を順番につなげていくことで、 花びらの片側の輪郭ができます。

花びら片側の線分構成図
4 本の直線をつないで、花びら片側の輪郭を作成。

ステップ2:Y軸対称に反転させて花びら1枚を完成

花びらは左右対称なので、先ほど作った片側を Y軸に対して反転させることで、1 枚の花びらを完成させます。

関数で書くと Y = f(-X) のイメージで、 X の符号だけを反転させた点を追加していきます。

左右対称にした花びら1枚の図
Y 軸対称に反転させて、1 枚の花びらが完成。

ステップ3:回転の公式を使って 5 枚の花びらを並べる

桜の花は 5 枚の花びらを持つことが多いため、 完成した花びら 1 枚を 72°(= 360° ÷ 5)ずつ回転させて並べることで、 桜の形を作ることができます。

回転に使う基本公式(原点中心)

原点まわりに角度 θ 回転させるときの座標変換は、次の式を使います。

x' = x cosθ - y sinθ
y' = x sinθ + y cosθ

72° をラジアンにすると:

θ = 72° = 72π / 180 = 2π / 5 ≒ 1.256637

数値としては、おおよそ次のようになります。

  • cos(72°) ≒ 0.309016994
  • sin(72°) ≒ 0.951056516

Excel や桜チャートにそのまま入れやすい形にすると、

x' = 0.3090x - 0.9511y
y' = 0.9511x + 0.3090y

この変換を 72°ずつ(必要に応じて 144°, 216°, 288° …)繰り返して適用すると、 同じ形の花びらが回転して並び、5 弁の桜が出来上がります。

5枚の花びらを回転させて並べた桜の線画
72°ずつ回転させて 5 枚並べると、座標だけで桜の形が描ける。

桜チャートで描画する手順(実際の使い方)

実際に桜チャートで桜の形を描画する際の流れは、次のようになります。

  1. 花びら1枚分の X・Y 座標を作成する(直線の式から計算する)
  2. 回転公式を使って、72°ずつ回転させた座標を求める
  3. 花びらごとに LEVEL を振る(例:花びら1=LEVEL A、2=LEVEL B…)
  4. すべての座標を 1 つの CSV にまとめる
  5. 桜チャートに CSV を貼り付けて、散布図または折れ線グラフを描画する

桜チャートでは LEVEL ごとに自動で色分けできるため、 花びらごとに LEVEL を変えておくと、 「花びら単位で色を変える」といった表現も簡単にできます。

色分けした桜の花
LEVEL ごとに色を変えると、より桜らしい雰囲気に。

応用:座標データを使うと図形生成の幅が広がる

この記事で紹介した手法は、桜の花びら以外の図形にも応用できます。 例えば、星形、葉っぱ、ロゴマーク、幾何学模様などを、 座標と回転だけで生成することができます。

座標データに変換できれば、桜チャートだけでなく、 Excel や Python の Matplotlib、R などでも同じように描画できます。 データとして扱えるため、色分け、透過、サイズ変更なども自由に行えます。

まとめ:桜チャートは「図形をデータとして扱う」遊びにも使える

  • 直線の組み合わせと対称性、回転の公式だけで桜の花びらを表現できる
  • 座標ベースで図形を作ると、どのツールでも再現しやすい
  • 桜チャートは LEVEL 列による色分けが簡単で、図形のパーツごとに色を変えやすい
  • 実験データや統計グラフだけでなく、「図形を描く遊び」にも応用できる

桜チャートは、本来は統計データや実験データの可視化を目的としたツールですが、 このように座標を使った図形遊びにも利用できます。 データを扱いながら図形や数学に触れてみたい方は、ぜひ一度試してみてください。

桜チャートのホームに戻る