線対称描画と点対称描画について(Hyper-Paint チュートリアル 使い方 講座)
メニュの描画の中には下図のように線対称描画と点対称描画機能があります。線対称描画は対称の中心の線に対称な位置にも対称な図形が描かれる機能です。
また点対称描画は例えば3点対称の場合は3つ5点の場合は5つ回転しながら同時に描かれる機能です。
ここの機能はほぼ完璧と言ってよいほどの機能ですがそれがかえって難しいと思われるかも知れません。
この機能はフリーハンド、直線、矩形、矩形フィル、楕円、楕円フィル、スプライン、ポリゴン(輪郭線)、ポリゴンフィルで機能します。
全ての描画機能と描画機能の拡張機能。例えば袋描画機能やタブレットのペンや繰り返し機能など全ての描画機能で組み合わせが可能です。


下図は左右の線対称描画の例です。下図のようなガイド線が表示されます。

スブライン機能を使って下図のように作図します。つまり描きたい図形の右半分だけ作図します。

そうして実際に描くと下図のように左右対称な図形が描かれます。

点対称描画は 2 点から 16 点までの点対称描画が可能です。今回下図は 4 点対称描画機能を使ってみます。
下図のようなガイド線が表示されます。

フリーハンドで下図のように描いていきます。

下図のようになります。

簡単に描かれます。

点対称描画では「点対称と横線対称を組み合わせる」のチェックボックスをチェックするかしないかで下図のように変わります。
下はチェックしない場合です。
下はチェックした場合です。

線対称と点対称の中心はキャンバス上の好きな位置に移動することができます。メニュの「対称の中心をキャンバス上でクリックして指定する」をチェックするとマウスにつれてキャンバス上に十字のカーソルが表示されますので好きな位置でクリックして指定します。


回転対称描画に左右線対称描画を組み合わせることもできます。
左右対称描画を使って回転しながら点対称描画ができるし矩形フィル楕円フィルポリゴンフィルでも可能。対称描画に図形フィルもできるのはおそらくHyper-Paintだけ。
また繰り返し描画など他の機能との組み合わせも可能なように作られています。こういう所が難しいとか分かりにくいなどの評判の理由なのかもしれないが。
但し機能の組み合わせも点対称描画と色変化(グラデーション)や濃さのグラデーションの機能の組み合わせた場合不完全にしか機能しない。

袋描画との組み合わせ。


タブレットの筆圧による筆太さを変化させた場合。
点対称描画の場合も左右対称と組み合わせた場合に対称線を傾けることができます。下図左は傾きがゼロ右は20度傾けた例です。

筆で対称描画のあと塗りつぶしをする時この塗り潰し機能には対称位置の一括塗り潰しの機能もあります。下図は5点対称の場合です。
左右対称や上下対称の対称線は傾けることができます。

3点対称の例です。
左右対称の場合。

対称描画モードになっている時に図形を作画すると目安となる図形もリアルタイムに対称に表示されるようになりましたので非常に解りやすくなりました。


ちょっとした注意として点対称描画の目安の図形表示において2点とか4点、6点などの偶数の点対称の場合に同時に横線対称と縦線対称を組み合わせていると目安の図形が表示されないということがありました
現在は修正しましたので表示するようになりましたが実際のところ論理的には正しいですがこの場合はXORの線による表示が2回重なって行われるので表示が消えてしまっていました。実際に描画した場合は2回重なって描画されます
論理的には正しいので想定外したがこれでは使用者が戸惑ってしまいますのでそういう場合でもとにかく表示するようにしました。
こういう場合はけっこうちょくちょくあったりしますし、想定外の不具合などは割合頻繁に修正して更新しなければなりません。
あっそうそう偶数の点対称の場合に図形を表示する線の太さを二倍にして二重に描画されることを明示的に解りやすくするとよりよいと気がつきさらに修正しましたこういうふうに少しづつ改良を重ねるのが私のやり方なのでこの方法は変えられません
頻繁に更新しているとベクターにアカウントを停止されてしまいvector(ベクタ―)に登録できなくさせられてしまいましたがベクターにとっては想定外はありえないということなのですねとても「ベクター」のようには私にはいきません。ある公的な所に聞いてみたら「なかなかソフトを更新せずほったらかしが多い中にそういう人は稀ですよね」と言って逆に感心してました。
そういえばそういうとき線の太さを太くするとスプラインを移動させるとスプラインの先端と終端に表示させていた小さな円が残ってしまう不具合が発生してしまうバグを発見して修正ということでまあこういう想定外のミスはベクターの社員は絶対しないんだろうな笑い
まあたいしたことではないが数学的には間違いない事なので最初からそこまで気が回らなかったということですね
その後この問題について熟考した結果数学的には正しくても使う人にとって二重に描かれるのはあまりよろしくはないだろうという結論にいたりこの場合にも二重ではなく一回描かれるように修正しました。フリーハンドの場合もです。結構奥が深いですね。
このほか線対称の横、縦を同時に対称にした場合作画した位置と縦横反対側は描かれないのが正しのですががそれではかえって不自然なので縦横反転して描いています。
またこの時対称線を傾けていた場合例えば20度右に傾けた場合縦と横は20度傾きますが縦横反転の位置の図形は右に20傾きまた更に左に20度傾くので結果的に作画した位置と同じに傾きは無くなります。
想定外と言えば点対称オンのとき筆の太さが1,2,3,4と19と37と39のときでドローしないでポチッと点を打ったときにwindows10以上のOSではアンドウするとアンドウ範囲が少し狭く残ってしまう不具合が出ていた。いわば特異点だな、windows7などではこの不具合はでない。こういう想定外は予測できない。
厳密に言えばwidows7とwidows10とwindows11では動作が全て同じとは限らないのでその違いにも対応しなければならない。
例えば対称描画時はwindowsのバージョンによって目安の図形の描かれる位置が幾らかちがってしまうとか線描画を実際に行うと描かれる位置が幾らかちがってしまうとか勘弁してほしい違いが現実に起こる、これにも出来るだけ対処はしている。
各代々のwindowsが上位互換を保ってくれているのは有りがたいことだが細かい点でも同じでないことでプログラミングの手間が半端でないことも確かだ。windows7,widows10,widows11の違いに対処している箇所は約1500箇所あった。こういった点に対処しようとする姿勢は褒められる点だと思うがvector(ベクタ―)が私に行った更新が頻繁だという理由でアカウントを停止する事は真逆のとんでもないことだということです。
私のやり方はこのように全ての部分についてこのように何度も熟考を繰り返し改良を繰り返すやりかたなので更新は回数が多くなるのですベクターや窓の杜などの表面上の聞こえのよい美談しか興味がない見れない会社とはあいいれないのだとつくづく思う。
偶数の点対称の場合に同時に横線対称と縦線対称を同時に組み合わせていると図形を表示する線の太さを二倍にして二重に描画されることを明示的に解りやすくすると下図のように表示されます(下図は2点対称)
2025/06/26にほぼ完璧に近いと思っていたら図形フィルに点対称時に横線対称や縦線対称を組み合わせていると大きくずれるということに気がついた。widows7とwidows10とwindows11では動作がちがうことに関係しているらしい、とにかく出来るだけずれないように合わせた。結構難しかったがなんとかずれを僅かにしてより完璧に近づくようにした。
機能的には点対称線対称描画においてこれ以上の機能を持つソフトは存在しません。より完璧を求めるならばあとは精度ですね。
点対称オンの時8点とか10点対称で横線対称や縦線対称を組み合わせていたりすると(横線対称で2倍の線、縦線対称も同時に組み合わせていると4倍の線を同時に描こうとするので)フリーハンドで大量の線を同時に描こうとするため線がカクカクとなってしまう場合があります。パソコンの性能にもよりますがそういう時に「点対称で筆が遅い時の対策をする」をチェックするとフリーハンドを描き終わった後に対称部分を描きますのでカクカクにならないで滑らかに点対称描画ができるようになります。

下図は40点対称の場合に描画したとすると(点対称の上限は100点です)

1ストロ―ク描画完了後に下図のように絵描れます。どのように描かれるかリアルタイムにわからないなどの欠点もありますが下図のように40点対称でも滑らかに描画できます。
