C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: 【C#,VS2022】線を、点Pを中心に据えて移動させたい
(過去ログ 175 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 3 記事 (1 - 3 表示)] <<
0
>>
■100887
/ inTopicNo.1)
【C#,VS2022】線を、点Pを中心に据えて移動させたい
▼
■
□投稿者/ エルデの王
(15回)-(2022/11/15(Tue) 17:02:59)
分類:[.NET 全般]
お世話になっております。
環境はC#,VisualStudio2022Comです。
とある線(Shape.Line型)を、掲題の通り移動させたいと思っています。
例えば、(X1=0,Y1=50,X2=50,Y2=100)の線Aと、点P(X=30,Y=30)があるとして、
点Pの座標に線Aの中心を置きたいのです。(傾きはそのまま)
何か良い方法はないでしょうか?
以上です。
引用返信
編集キー/
編集
■100888
/ inTopicNo.2)
Re[1]: 【C#,VS2022】線を、点Pを中心に据えて移動させたい
▲
▼
■
□投稿者/ 魔界の仮面弁士
(3492回)-(2022/11/15(Tue) 18:50:18)
■
No100887
(エルデの王 さん) に返信
> とある線(Shape.Line型)を、掲題の通り移動させたいと思っています。
この Shape.Line とは何のことでしょうか?
PowerPoint / Excel / Publisher / Word 等のオートメーションで使われる
Office ライブラリの Shape クラスの Line プロパティのことでしょうか。
https://learn.microsoft.com/ja-jp/office/vba/api/word.shape.line
あるいは、WPF の System.Windows.Shapes.Line クラスのことでしょうか。
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.shapes.line?view=netframework-4.8
それとも自作の型ですか?
> 例えば、(X1=0,Y1=50,X2=50,Y2=100)の線Aと、点P(X=30,Y=30)があるとして、
> 点Pの座標に線Aの中心を置きたいのです。(傾きはそのまま)
線分A の中点 C は、Xc = (X1+X2)÷2, Yc = (Y1+Y2)÷2 で求まりますよね。
https://mathwords.net/tyutenzahyo
なので、線分A (X1, Y1)-(X2, Y2) の中点となる(Xc, Yc)と、
目標点P (Xp, Yp) とのズレを算出すれば良いのでは無いでしょうか。
Shape.Line 型というのが何のことなのか分からないのでコード例は書きませんが、
求めたオフセットを線分A の座標に足して線分A' を求めるか、
もしくは、線分A を描画する前に、原点座標をシフトしてから描画すれば良いと思います。
引用返信
編集キー/
編集
■100889
/ inTopicNo.3)
Re[2]: 【C#,VS2022】線を、点Pを中心に据えて移動させたい
▲
▼
■
□投稿者/ エルデの王
(16回)-(2022/11/15(Tue) 19:45:30)
魔界の仮面弁士さん
System.Windows.Shapes.Lineのことでした。申し訳ございません。
考え方を指導頂きありがとうございます。
中点Cを求めて、点Pから中点Cを引き、結果のXとYを線AのXとYに加算致します。
ありがとうございました!
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-