エディタ製作日記1103(大破綻)

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

エディタ製作日記1103(大破綻)

投稿記事 by TOMY » 11年前

いい加減エディタの根本となる部分を完成させたいのに完成しない。
計算式は出来上がっているのであとはプログラムに書き換えるだけだけど何故かそれが正しく出力されない。
十中八九プログラムか、計算式であろうが・・・なぜだ・・・?
何度計算式を修正しても、デバック用に組んだ描画プログラムを修正しても画面の左上の減点座標周辺に何か固まって表示されてしまう。
うーん・・・正規化が原因?ベクトルが間違ってる・・・?断片的な情報ばっかりで頭が混乱してきた上に明日仕事あるのがメチャクチャ気になって集中できない。
仕事のせいで集中できないならいっその事休んでしまうか・・・?
とりあえずクソみたいな途中結果プロジェクトを上げてみる。

やりたいことは前の日記に記載したことと一緒。
2つのベクトルのなす角を調べて90°以上なら最初のベクトルの始点から双方向に垂直かつ、指定したサイズのベクトルの終点の座標を出力。
例外として、2つのなす角が90°以下ならそのなす角の中間に指定したサイズのベクトルの終点の座標をそれぞれ格納。

その処理をしているプログラム部分がCourseData.cpp内のCreateCourseメソッド部分。注釈文だらけでめっちゃ糞汚い。

あまりにも出来ないようじゃ、日記にあげて悩むんじゃなくて、掲示板に上げてしまおうかな・・・
添付ファイル
無題2.jpg
無題2.jpg (62.03 KiB) 閲覧数: 374 回
無題.jpg
無題.jpg (59.06 KiB) 閲覧数: 366 回

[拡張子 zip は無効化されているため、表示できません]

最後に編集したユーザー TOMY on 2013年11月04日(月) 01:05 [ 編集 2 回目 ]

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: エディタ製作日記1103(大破綻)

投稿記事 by TOMY » 11年前

あ、もしかしてBA,BCベクトルで最初処理せず、AB,BCベクトルで処理したから変な結果が出てるんじゃなかろうか・・・?
でもAB、BCで計算しても正しい結果は出るのか?出ないのか?

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: エディタ製作日記1103(大破綻)

投稿記事 by TOMY » 11年前

それでもダメだった・・・
まだ根本となる問題箇所があるのかしら・・・

アバター
usao
記事: 1889
登録日時: 12年前

Re: エディタ製作日記1103(大破綻)

投稿記事 by usao » 11年前

やりたいことが良くわからないけど,
コースの真ん中を通る折れ線が指定されたら,そこからコース両端の2本の折れ線を作る,
とかそんな感じなのでしょうか?

だとしたら…
真ん中の折れ線のうちの一部分について考えると…
A→B→C という順に点がつながっているとき,

ベクトル V1 = A - B
ベクトル V2 = C - B

というのを考えてみる.点BからAまで と 点BからCまで のベクトル.
で,そこから,両者を単位化したものの和
V3 = Unit( Unit(V1) + Unit(V2) )
について考える.(ここで,Unit()は引数を単位化したベクトルを返す.)

A,B,Cが一直線上に並んでいるなら V3 = (0,0) だが,
それ以外では V3 はどんな方向を向いているであろうか,
Bを根っこにしてV3を配置したら,何か良いことは無いであろうか.

ISLe
記事: 2650
登録日時: 15年前

Re: エディタ製作日記1103(大破綻)

投稿記事 by ISLe » 11年前

常にベクトルのなす角度の半分で良いのでは?
90度で分ける意味があるのでしょうか。

ベクトルに垂直の計算を使いたいなら、線分を太くした矩形を求めて前後の頂点を結ぶというのはどうですかね。

図を見てイメージしただけですが。

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: エディタ製作日記1103(大破綻)

投稿記事 by TOMY » 11年前

なす角を90°で使う理由としては最終的にこれらの情報からコースのポリゴンも生成しようというずぼらな根端から来ています。結局はテクスチャも貼るので、出来るだけ矩形の形状を保ってくれたほうが
テクスチャが崩れる割合も減るかなと思ってしています。あくまで卓上の理論でノート上で書いて想定した程度ですが。

ISLe
記事: 2650
登録日時: 15年前

Re: エディタ製作日記1103(大破綻)

投稿記事 by ISLe » 11年前

わたしの後半のアイデアだと、線分上は完全に矩形になりますけど。

ウチのブログにも書いたことあるのですが、曲がるレーザーとかでこの手の分割はよくあります。

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: エディタ製作日記1103(大破綻)

投稿記事 by TOMY » 11年前

ISLe さんが書きました:常にベクトルのなす角度の半分で良いのでは?
その後指摘を頂いて考えてみた結果、別にテクスチャ崩れを気にしなければコッチのほうが計算時の(人が考えるという意味での)負荷も下がるし、
問題ないかもしれない・・・自分の考えに優柔不断過ぎだ・・・自分・・・。

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: エディタ製作日記1103(大破綻)

投稿記事 by TOMY » 11年前

なんかプログラム見なおしてみると計算もそうですが、表示に使ってるポリゴンにちゃんと座標が入っているかもなんか怪しく見えて来ます・・・