So-net無料ブログ作成
検索選択

無事赤ちゃんが生まれました

どうもマージュです。
病院からこんにちわです。

事後報告ですが、24日に子供が生まれました。

ツイッターで代理でツイートしてもらったんですが、
ちょっといろいろとありまして救急車で大慌てで病院へ、そして生まれました。
ご心配おかけしましたが、私も赤ちゃんもいたって無事です。
私自身は1週間ほど入院の予定です。

先週の火曜日にアップデートがあったので、土日に記事を書いて、それを最後に産休しようかなと思っていたら、
思いがけないハプニングがあって、書けずじまいになっちゃいましたね・・・(笑)

少しの間ブログ休止しますが、事情が事情なので、ご了承ください。

↓ブログランキング参加中。今の順位は何位かな?↓
2世誕生祝ってくれる方は押してくださいまし


nice!(0)  コメント(8)  トラックバック(0) 
共通テーマ:ゲーム

発見物1700突破して、トレカを作ってもらった&小ネタ

どうもこんにちわ!マージュでございます
ここ最近、沈没船の理論の記事ばかりでしたので、
今回は、力を抜いた小ネタばかりの記事にしようかと思います。

シップレックハンターになったので、サルベージの方は一時お休みにしようかと思いまして、
冒険の発見を進めることにしました。
3年ぶりに生物学をやっております。

3年前に生物学をやった時は、生物系の残り発見物が10まで行ったのに、
3年間まったくやっていなかったので、残り約190個に増えてるという(笑)

来る2/21にLVの上限が75になるというので、冒険LVあげたい私にとっては
発見しまくりますよ~。がんばりまっす。

先日発見物が1700になりました。
discover1700.jpg
1700個目の発見物はヤナギナマズ(コウライヤナギナマズだと思う)でした。
Silurus microdorsalis.jpg

これも先日のことなんですが、DOLのブログをいろいろ見ていたら、
Sense of Wonder(Z鯖:カートライトさん)のブログでトレーディングカードを作りますというのがあったので、さっそく作っていただきました。
magecard.jpg
すごいきれいに作っていただいて、とても感謝しております^-^
けっしてレアなカードじゃありませんよ。
持っていても、御守りにもなりませんよww

先日ナイアガラの滝を発見したんです。
その発見場所が何とも言えないところでして
NiagaraFalls.jpg
まわり何もねぇ~~~し。水が周りに何もねぇ~し。ちょっとおかしくねぇ??
手を抜きすぎでしょ??

前回ペチコートが似合う似合わないの話をしましたが、
ペチコートを着て、アクロバットをしたんです。
PetiAcrobat.jpg
ペチコート着たら、ノーパンということが分かったし。フレに覗かれるし。エロエロ全開だし。

今現在のマージュはこんな感じです
20120218mage.jpg
大学卒業してから、この研究をずっとやっているおかげで
冒険名声が21万まで行きました。このままだとカンストも可能なところまで来たのではないでしょうか?
あっそうそう。商会変えました。
前の商会の副会長さんとそこにいた2名が頭がおかしくて。
事実を捻じ曲げてまでも、他人のせいにするという。やってられないので3年間もココにいましたが抜けました。
新しい商会に入ってダンジョンツアーしてくれたので、とても楽しかったです。
NewPartners.jpg
やっぱり楽しい商会じゃないとだめよね。

↓ブログランキング参加中。今の順位は何位かな?↓
ぽちっと押してくれると、とても喜びます^-^
 


nice!(0)  コメント(1)  トラックバック(0) 
共通テーマ:ゲーム

DOL+1に私の理論が実装されました!

どうもマージュでございます

先日、沈没船の沈没座標について求める理論と、求めるEXCELマクロについて記事にしましたが
なんと!あのDOL+1の新機能として、これらが採用され、実装されました。

DOL+1のver.0.59.0.0から「サルベージヘルパー」が新たに増えています。
SalvageHelper.png
その、phase3の沈没船の位置を表示する機能に私の理論が採用されています。
使用方法は、作者様がニコ生で解説してされていますので、ご覧いただけるとわかると思います。
この動画では、サルベージスキルを1度も使わずに探し当てることができ、最後にサルベージスキルを使っただけで引きあげています。
なので、どうしてもスキル枠が圧迫してサルベージスキルを覚えることができなくて、サルベージをどうしても断念していた方にもってこいという感じですね。

そして、DOL+1のクレジット表示にはここのブログへのリンクが追加されています!!
DolPlus1Credits.png
貢献したっていう実感が湧いてきまして、とても感動しました。
DOL+1の作者様であります、Z鯖のDREAMSさんに感謝しております。ありがとうございました。

みなさまじゃんじゃん使ってくださいね。

先日、ゲーム上で応援のコメントいただきました。
とてもうれしかったですので、ここに紹介したいと思います。
20120128support.jpg
エリーゼ☆ローゼン様ありがとうございます!!がんばりまっす^-^

↓ブログランキング参加中。今の順位は何位かな?↓
サルベージヘルパーを使ったら押してくださいませ(笑)
 


nice!(0)  コメント(7)  トラックバック(0) 
共通テーマ:ゲーム

沈没船の沈没している座標を求めるEXCELマクロを作った

どうもマージュでございます。
昨日記事にしました、沈没船の座標を求める理論が反響を生んで、
あのすごいツールDOL+1の作者さんにまであの記事を見ていただいたという、とても驚いた状況になりました。

記事公開後、様々な方からお声を頂きまして、
その中でも、理論だけじゃわからないので、お手頃なEXCELで簡単に計算できないか?
という声を頂きまして、EXCELのマクロを作ることにしました。
これを使えば、昨日記事を見てあきらめた方も簡単に求めることができます。
今回は、そのソースを公開したいと思います。

利用方法です。
誤差もあるので、計算した結果が必ずしも正しいとは限りません。
また、その計算結果およびこのマクロを使ったせいでPCに支障起こした場合、責任は取れません。
個人的に利用するならばいいんですけど、転載とかする時は必ず、「ここから転載しました」とかいうの入れてくださいね。そのとき、私に一言くれるととても喜びます(笑)

まず、EXCELシートに以下のような表を作ります。
Excel.png
B列には各点のX座標、C列には各点のY座標が入ります。
また、答えである沈没船の座標は1行下の各列にXYの座標が入ります。

座標は必ず3点用意してください。
その点は、前回の記事の副官①の状態
ItsHere.jpg
と副官②の状態
ItsNear.jpg
の境目のところがいいです。3点すべてが境目であればあるほど、精度よく沈没船の座標が求まります。
また、この3点のそれぞれが離れた3点にしてください。離れれば離れるほどさらに精度よく沈没船の座標が求まります。

そして、VBAのソースは以下に示します。
コピペ等で直接貼り付けてください。
EXCELマクロの使い方は、他サイトを参照してください。
また、プログラムの書き方うんぬんは抜きにしてくださいね。

2012/02/06 01:11:新規作成
2012/02/06 10:40:修正

Sub centralXY()
Dim centerX As Integer
Dim centerY As Integer

point1X = Range("B2")
point1Y = Range("C2")
point2X = Range("B3")
point2Y = Range("C3")
point3X = Range("B4")
point3Y = Range("C4")

'初期値を代入
distance1 = 0#
distance2 = 0#
distance3 = 0#
minDiffDistanceSum = 99999#

'X座標のMIN,MAXを取る
Xmax = Application.WorksheetFunction.Max(point1X, point2X, point3X)
Xmin = Application.WorksheetFunction.Min(point1X, point2X, point3X)
Ymax = Application.WorksheetFunction.Max(point1Y, point2Y, point3Y)
Ymin = Application.WorksheetFunction.Min(point1Y, point2Y, point3Y)

'XmaxとYmaxはそれぞれのminとの差の4倍量離れたところにする
Xmax = Abs(Xmin - Xmax) * 4 + Xmin
Ymax = Abs(Ymin - Ymax) * 4 + Ymin

'適当にXとYを決める
'中心座標はXmaxとXmin、YmaxとYminの間のどこか。座標は整数なので1ずつ動かす
For centerX = Xmin To Xmax
For centerY = Ymin To Ymax

'それぞれ3点から中心点への距離を出す
distance1 = Math.Sqr(Abs(centerX - point1X) ^ 2 + Abs(centerY - point1Y) ^ 2)
distance2 = Math.Sqr(Abs(centerX - point2X) ^ 2 + Abs(centerY - point2Y) ^ 2)
distance3 = Math.Sqr(Abs(centerX - point3X) ^ 2 + Abs(centerY - point3Y) ^ 2)

'それぞれの距離から√1000までの差分の絶対値を取る
diffDistance1 = Abs(distance1 - Math.Sqr(1000#))
diffDistance2 = Abs(distance2 - Math.Sqr(1000#))
diffDistance3 = Abs(distance3 - Math.Sqr(1000#))

'それぞれの差分を足して
diffDistanceSum = diffDistance1 + diffDistance2 + diffDistance3

'その差分の合計が一番小さいところの座標が中心点
If minDiffDistanceSum > diffDistanceSum Then

minDiffDistanceSum = diffDistanceSum
Range("B6") = centerX
Range("C6") = centerY

End If

Next centerY
Next centerX

End Sub

あとは、マクロを動かせば、6行目の各列にXYの座標が求まります。

EXCELの図には、前回測量でわかった点の中から適当に3点を選んで、計算を回してみました。
そしてその答えは、沈没船の座標(5754, 4012)と完全に一致した座標が出ました。

これで、簡単に求まると思いますので、試してはいかがでしょうか。

↓ブログランキング参加中。今の順位は何位かな?↓


nice!(0)  コメント(2)  トラックバック(1) 
共通テーマ:ゲーム

沈没船の沈没している座標を理論的に求める方法

どうもマージュでございます。
先日シップレックハンターを取りました。
シップレックハンターを取ると、その効果として以下のような沈没船の場所を出すと
沈没船の位置が常に引き上がる位置にあるので、見つけやすくなります。
WheresShipwreck.jpg
シップレックハンターを目指している方にとっては、この100隻引き上げるまでが大変です。
100隻上げるまでは、この地図で示した、薄く×の位置が毎回この地図を開くたびに違う位置をさします。
大まかな沈没船の位置は周りの地形等で分かるんですが、船が沈んでいる真上にいないと、引き上げる時に増える引き上げ状況の%が増えていきません。
ということで、なるべく真上の位置で引き上げたほうがいいということになります。

そこで、今回はシップレックハンターを目指している方のために、どうしても沈没船の真上の位置がわからないときの検証方法として、
理論的に沈没船の沈没している座標を理論的に求める方法を提案してみたいと思います。

まず、導入編です。
沈没船が沈んでいる該当の海域でサルベージスキルを使うと副官が以下のようなこと言ってきます。
画像はうちの副官の反応です。以下これを副官①の状態とします。
ItsHere.jpg
さらに副官を担当を見張りにして、沈没船の近くを通ると以下のようなこと言ってきます。同様に以下ではこれを副官②の状態とします。
ItsNear.jpg
結果を言ってしまうとこれを利用して、座標を割り出すことが可能なんです。

※注意
今回の記事は数学的な手法を使いますので、数学が苦手な方がここより下の文章を読むと
人によっては、吐き気、めまい、場合によっては頭痛を起こしたり、精神的な苦痛を引き起こしたりしますので、十分ご注意して自己責任でよろしくお願いいたします。(笑)

では検証していきます。
初めにこの副官②となるのは、どういう状態のときなのか調べていきます。
というのはこの副官②となるのは、沈没船の位置から一定距離が離れているときにおこるのか、または、一定のX座標、Y座標が離れているときなのかわかりません。
つまり、一定距離が離れていれば、副官②になる範囲は円形
circle.png
逆に、一定量のX座標、Y座標が離れていれば、四角形になります
square.png
この形によって座標の出し方が変わってくるので、まずはじめにこれの検証が必要です。
副官②の状態になる面がどちらの形であろうと、沈没船は副官②になる東西方向の中点と南北方向の中点が沈没船になります。
なので、力技で求めたいときは、2方向の中点を計算すれば終了ですが、
それぞれの方向の測量(2回)が必要になります。
この形がわかれば、片方向の距離と中点、1回測量するだけでわかるということになります。

使用した沈没船は先日シップレックハンターの記事に使った、東アジア交易船を使いました
まず東西方向にまっすぐ進んで行って、副官②となる左右の境目の座標を出します。

左(5728, 3994)
HLeftIn1.jpgHLeftOut1.jpg
右(5779, 3994)
HRightIn1.jpgHRightOut1.jpg
よって、
X座標の中点は(5779 - 5728) / 2 +5728 ≒ 5754
横方向の距離:5779 - 5728 = 51

次にこのX座標で南北方向へまっすぐ同様なことをします。図のX座標が5756で撮ってますがだいたい一緒なので、気にしないでください。
上(5756, 3981)
VUpIn.jpgVUpOut.jpg
下(5756, 4044)
VDownIn.jpgVDownOut.jpg
よって、Y座標の中点は(4044 - 3981) / 2 + 3981 ≒ 4012 
縦方向の距離:4044 - 3981 = 63
ここで、沈没船の座標(5754, 4012)が出ます。

さらに、横方向の距離が縦方向の距離と違うので、副官②の状態が円形であることがわかりますが、
念のためY座標の中点の4012で再度、東西方向の距離を取ってみます。
左(5722, 4012)
HLeftIn2.jpgHLeftOut2.jpg
右(5785, 4012)
HRightIn1.jpgHRightOut1.jpg
よって、この東西方向の距離を取ると、
5785 - 5722 = 63 = 南北方向の距離 となるので、副官②となる面は円形ということが確定しました。

次にこの円の半径rを求めます。
半径 = 直径 / 2なので、簡単に63 / 2 = 32.5というのは確実にわかるんですが、
なぜ開発側は、直径63という中途半端な値を入れたのでしょうか?
しかも、この直径はぴったり63ではなくて、やってみるとわかるのですが、63と少しということがわかります。というのも、同じ座標上であっても、副官①の時と、副官②の状態があります。
その証拠として、以下のようにまったく同じ座標上なのに(実際には座標が変わらない程度少し移動している)副官①と副官②の2つがいることがわかります。
SameAsHRightIn1.jpgHRightIn1.jpg
要するに、座標には細かく小数点以下まで定義されていて、表示上では整数部分しかないということになります。

このことから、半径rを水平方向および垂線方向のどちらから出してしまうと割り切れて小数点以下が出ないので、これを使うよりは、別な点から出した方がよさそうです。
測量した点6か所のそれぞれを図に表すとこのような感じとなります。
SurveyResults.png
中心点の座標(5754, 4012)と左上の座標(5728, 3994)との距離を求めます。
この時の距離=半径rの求め方は
EstimateRadius.png
となります。それぞれを代入して、
Estimating.png
となるので、これ計算すると。
半径r=√1000 という切れのいい数字が出ます。
確かにこの√1000を2倍すると、2√1000 = 63.25...という測量結果と全く同じ結果が出ます。
これらから、半径は√1000であると、確信できます。

これで、理論がそろったので、実際にどのようにすれば求まるかです。
方法を以下のようにします。
  1. 沈没船がある場所に近づくと副官②の状態になるので、その副官①と副官②になる境目の座標を2点用意します。ただし計算しやすいように、X座標または、Y座標のどちらかを同じ数字にします。
    例として、今回測量でわかった2点を取って、A(5728, 3994)とB(5779, 3994)の水平である2点を取ります。よって、Y座標は同じ数字です。図にするとこのようになります。
    FigureEstimation.png
  2. AB2点間の距離を求めます。その距離Lとすると、
    EstimateDistance.png
    で求まります。今回はY座標の差が0なので、X座標の差だけで求まります。もしY座標が多少ずれていたとしても誤差として片づけてしまうので、Y座標の差=0として計算します。厳密に座標を一緒でなくてもいいです。
    よって、例の2点間ABの距離Lは
    L=5779 - 5728 = 51となります。
  3. AB間の距離Lの垂直2等分線を引き、AB両方から半径r=√1000の長さの線を引く。そして、交わった点から線分Lへの距離をxとします。そのxは以下の式で求まります。
    Estimatex.png
    今回用いている例の値L=51、 r=√1000を代入すると、
    Estimatingx.png
    となって、計算するとx=18.70....となります。
  4. 座標計算します。
    まず、赤い水平線Lと緑の線xが交わったところを計算します。
    緑の線xは赤い線Lの垂直2等分線ですので、この交点のX座標はL/2した分を足します。
    よって、5728 + 51 / 2 = 5753.5 ≒ 5754(四捨五入しちゃいます)
    Y座標は水平のため同じなので、3994のままで、赤と緑の線の交点の座標は(5754, 3994)です。
  5. 次に赤い線Lから、距離x離れたところの座標を計算しますが、実は2点出てきてしまいます。
    図に示していますが、点Aおよび点Bともに半径r離れた点というのは2点取れてしまい、そのどちらに沈没船が沈んでいるのかまでは判別つきません。
    よって、座標を2つ求めて、あとは1/2の確率に任せるしかありません・・・・><

    この2点の座標を求めます。
    赤い線から、緑の線分x離れた点のX座標は同じなので、5754。
    Y座標は3994 ± 18.70 = 3975.3 , 4012.7の2つつまり、
    (5754, 3975), (5754, 4013)の2点が答えです。

計算で求めた点の1つ(5754, 4013)は、測量した結果から求めた(5754, 4012)とまったく一致しているので、もし計算する余力のある方は、このような方法で求めてみてはいかがでしょうか。

最後に、この地点で沈没船を上げてみました。
ResultofShipwreckEstimation.jpg
やはり、沈んでる位置のほぼ真上から引き上げているので、かなりいい感じで引き上がっていますね。

↓ブログランキング参加中。今の順位は何位かな?↓

nice!(0)  コメント(0)  トラックバック(2) 
共通テーマ:ゲーム