Distance measures on a map of a game The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)min distance in a graphShortest distance path on contour plotHow to plot a tilted map?Finding points outside of a diskDelaunay link distanceAnnulus from GeoDisks: drawing a ring on a mapNegative Correlation DistanceFind distance along a path (GPS coordinates)Finding position at given distance in a GeoPathMathematics behind distance estimation using camera
How do you keep chess fun when your opponent constantly beats you?
Why not take a picture of a closer black hole?
Are spiders unable to hurt humans, especially very small spiders?
Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?
What aspect of planet Earth must be changed to prevent the industrial revolution?
"... to apply for a visa" or "... and applied for a visa"?
Does Parliament need to approve the new Brexit delay to 31 October 2019?
What is the padding with red substance inside of steak packaging?
Is it ethical to upload a automatically generated paper to a non peer-reviewed site as part of a larger research?
Is this wall load bearing? Blueprints and photos attached
Identify 80s or 90s comics with ripped creatures (not dwarves)
different output for groups and groups USERNAME after adding a username to a group
What's the point in a preamp?
Example of compact Riemannian manifold with only one geodesic.
Why are PDP-7-style microprogrammed instructions out of vogue?
Is 'stolen' appropriate word?
Sort list of array linked objects by keys and values
What do I do when my TA workload is more than expected?
What happens to a Warlock's expended Spell Slots when they gain a Level?
How did the audience guess the pentatonic scale in Bobby McFerrin's presentation?
How to determine omitted units in a publication
Do ℕ, mathbbN, BbbN, symbbN effectively differ, and is there a "canonical" specification of the naturals?
Is every episode of "Where are my Pants?" identical?
How to type a long/em dash `—`
Distance measures on a map of a game
The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)min distance in a graphShortest distance path on contour plotHow to plot a tilted map?Finding points outside of a diskDelaunay link distanceAnnulus from GeoDisks: drawing a ring on a mapNegative Correlation DistanceFind distance along a path (GPS coordinates)Finding position at given distance in a GeoPathMathematics behind distance estimation using camera
$begingroup$
I have an image which my DM made of map for a DND game and I want to do two things.
Click on two points on my map, then based on the key for scaling have Mathematica tell me how far apart those points are.
Given a distance and a point that I click on, draw a circle about the given point that has the radius of the given distance.
If anyone will give me advice for how to get started on this project, I would be very grateful.
geographics interactive user-interface distance
$endgroup$
add a comment |
$begingroup$
I have an image which my DM made of map for a DND game and I want to do two things.
Click on two points on my map, then based on the key for scaling have Mathematica tell me how far apart those points are.
Given a distance and a point that I click on, draw a circle about the given point that has the radius of the given distance.
If anyone will give me advice for how to get started on this project, I would be very grateful.
geographics interactive user-interface distance
$endgroup$
add a comment |
$begingroup$
I have an image which my DM made of map for a DND game and I want to do two things.
Click on two points on my map, then based on the key for scaling have Mathematica tell me how far apart those points are.
Given a distance and a point that I click on, draw a circle about the given point that has the radius of the given distance.
If anyone will give me advice for how to get started on this project, I would be very grateful.
geographics interactive user-interface distance
$endgroup$
I have an image which my DM made of map for a DND game and I want to do two things.
Click on two points on my map, then based on the key for scaling have Mathematica tell me how far apart those points are.
Given a distance and a point that I click on, draw a circle about the given point that has the radius of the given distance.
If anyone will give me advice for how to get started on this project, I would be very grateful.
geographics interactive user-interface distance
geographics interactive user-interface distance
edited Apr 8 at 21:37
Wombles
asked Apr 7 at 23:41
WomblesWombles
1546
1546
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Both tasks you outlined could be fused into a single app - screenshot is above. I assume that because this is a game the corrections due to geodetic model (flat map from non-flat planet surface) do not really matter (this was not mentioned in the project description). Here is a quite simple code to get you started that you can modify and upgrade.
i = Import["https://i.stack.imgur.com/TVsMy.jpg"];
Manipulate[
Column[
Style["Advantures will take you "<>
ToString[Round[.7595 RegionMeasure[N[Line[pt]]],.01]]
<>" miles",20,FontFamily->"Herculanum"],
HighlightImage[i,Thickness[.003],Dashing[.01],
Line[pt],
Circle[pt[[1]],EuclideanDistance@@pt[[;;2]]],
ImageSize->800]
,Alignment->Center],
pt,1610,100,2005,100,Locator,LocatorAutoCreate->True]
A few things to take a note:
In addition to the distance between 2 points you can build a whole path and measure its length.
Add or remove more path points with CMD(ALT)+CLICK on Mac (Win).
Decreasing image size will make your app faster
Scaling factor in front of
RegionMeasure
can be adjusted to match map scale. It is done by simply running app for the firs time when in initial stage the path is equal to the map scale length (see next image below). Then adjust the scaling factor so number in the title is equal to the number on the map scale.In the initial state there are only 2 points and a circle centered at 1st and passing through 2nd. Dragging locators around and see how number in the title changes effectively solves your second task. Place 1st point at a needed location and then drag 2nd to measure needed radius that is indicated in the plot title and you get the circle you need.
$endgroup$
1
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
1
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
add a comment |
$begingroup$
I have some advice, but it is just that, and not a solution to your problem.
- Decide on a geodetic model for the world you are mapping. I recommend picking one of the geodetic models of planet Earth that Mathematica recognizes.
- Decide on what the projection from a sphere to your map grid will be.
- Use the built-in functions
GeoGridPosition
andGeoPosition
to transform coordinates between the grid (map) and the model (sphere). - Look at
GeoProjectionData
to learn about Mathematica knows about projections.
Note: depending on the projection you choose, a circle about a point on sphere may not appear as a circle on your map.
BTW, nice looking map.
$endgroup$
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f194783%2fdistance-measures-on-a-map-of-a-game%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Both tasks you outlined could be fused into a single app - screenshot is above. I assume that because this is a game the corrections due to geodetic model (flat map from non-flat planet surface) do not really matter (this was not mentioned in the project description). Here is a quite simple code to get you started that you can modify and upgrade.
i = Import["https://i.stack.imgur.com/TVsMy.jpg"];
Manipulate[
Column[
Style["Advantures will take you "<>
ToString[Round[.7595 RegionMeasure[N[Line[pt]]],.01]]
<>" miles",20,FontFamily->"Herculanum"],
HighlightImage[i,Thickness[.003],Dashing[.01],
Line[pt],
Circle[pt[[1]],EuclideanDistance@@pt[[;;2]]],
ImageSize->800]
,Alignment->Center],
pt,1610,100,2005,100,Locator,LocatorAutoCreate->True]
A few things to take a note:
In addition to the distance between 2 points you can build a whole path and measure its length.
Add or remove more path points with CMD(ALT)+CLICK on Mac (Win).
Decreasing image size will make your app faster
Scaling factor in front of
RegionMeasure
can be adjusted to match map scale. It is done by simply running app for the firs time when in initial stage the path is equal to the map scale length (see next image below). Then adjust the scaling factor so number in the title is equal to the number on the map scale.In the initial state there are only 2 points and a circle centered at 1st and passing through 2nd. Dragging locators around and see how number in the title changes effectively solves your second task. Place 1st point at a needed location and then drag 2nd to measure needed radius that is indicated in the plot title and you get the circle you need.
$endgroup$
1
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
1
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
add a comment |
$begingroup$
Both tasks you outlined could be fused into a single app - screenshot is above. I assume that because this is a game the corrections due to geodetic model (flat map from non-flat planet surface) do not really matter (this was not mentioned in the project description). Here is a quite simple code to get you started that you can modify and upgrade.
i = Import["https://i.stack.imgur.com/TVsMy.jpg"];
Manipulate[
Column[
Style["Advantures will take you "<>
ToString[Round[.7595 RegionMeasure[N[Line[pt]]],.01]]
<>" miles",20,FontFamily->"Herculanum"],
HighlightImage[i,Thickness[.003],Dashing[.01],
Line[pt],
Circle[pt[[1]],EuclideanDistance@@pt[[;;2]]],
ImageSize->800]
,Alignment->Center],
pt,1610,100,2005,100,Locator,LocatorAutoCreate->True]
A few things to take a note:
In addition to the distance between 2 points you can build a whole path and measure its length.
Add or remove more path points with CMD(ALT)+CLICK on Mac (Win).
Decreasing image size will make your app faster
Scaling factor in front of
RegionMeasure
can be adjusted to match map scale. It is done by simply running app for the firs time when in initial stage the path is equal to the map scale length (see next image below). Then adjust the scaling factor so number in the title is equal to the number on the map scale.In the initial state there are only 2 points and a circle centered at 1st and passing through 2nd. Dragging locators around and see how number in the title changes effectively solves your second task. Place 1st point at a needed location and then drag 2nd to measure needed radius that is indicated in the plot title and you get the circle you need.
$endgroup$
1
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
1
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
add a comment |
$begingroup$
Both tasks you outlined could be fused into a single app - screenshot is above. I assume that because this is a game the corrections due to geodetic model (flat map from non-flat planet surface) do not really matter (this was not mentioned in the project description). Here is a quite simple code to get you started that you can modify and upgrade.
i = Import["https://i.stack.imgur.com/TVsMy.jpg"];
Manipulate[
Column[
Style["Advantures will take you "<>
ToString[Round[.7595 RegionMeasure[N[Line[pt]]],.01]]
<>" miles",20,FontFamily->"Herculanum"],
HighlightImage[i,Thickness[.003],Dashing[.01],
Line[pt],
Circle[pt[[1]],EuclideanDistance@@pt[[;;2]]],
ImageSize->800]
,Alignment->Center],
pt,1610,100,2005,100,Locator,LocatorAutoCreate->True]
A few things to take a note:
In addition to the distance between 2 points you can build a whole path and measure its length.
Add or remove more path points with CMD(ALT)+CLICK on Mac (Win).
Decreasing image size will make your app faster
Scaling factor in front of
RegionMeasure
can be adjusted to match map scale. It is done by simply running app for the firs time when in initial stage the path is equal to the map scale length (see next image below). Then adjust the scaling factor so number in the title is equal to the number on the map scale.In the initial state there are only 2 points and a circle centered at 1st and passing through 2nd. Dragging locators around and see how number in the title changes effectively solves your second task. Place 1st point at a needed location and then drag 2nd to measure needed radius that is indicated in the plot title and you get the circle you need.
$endgroup$
Both tasks you outlined could be fused into a single app - screenshot is above. I assume that because this is a game the corrections due to geodetic model (flat map from non-flat planet surface) do not really matter (this was not mentioned in the project description). Here is a quite simple code to get you started that you can modify and upgrade.
i = Import["https://i.stack.imgur.com/TVsMy.jpg"];
Manipulate[
Column[
Style["Advantures will take you "<>
ToString[Round[.7595 RegionMeasure[N[Line[pt]]],.01]]
<>" miles",20,FontFamily->"Herculanum"],
HighlightImage[i,Thickness[.003],Dashing[.01],
Line[pt],
Circle[pt[[1]],EuclideanDistance@@pt[[;;2]]],
ImageSize->800]
,Alignment->Center],
pt,1610,100,2005,100,Locator,LocatorAutoCreate->True]
A few things to take a note:
In addition to the distance between 2 points you can build a whole path and measure its length.
Add or remove more path points with CMD(ALT)+CLICK on Mac (Win).
Decreasing image size will make your app faster
Scaling factor in front of
RegionMeasure
can be adjusted to match map scale. It is done by simply running app for the firs time when in initial stage the path is equal to the map scale length (see next image below). Then adjust the scaling factor so number in the title is equal to the number on the map scale.In the initial state there are only 2 points and a circle centered at 1st and passing through 2nd. Dragging locators around and see how number in the title changes effectively solves your second task. Place 1st point at a needed location and then drag 2nd to measure needed radius that is indicated in the plot title and you get the circle you need.
edited Apr 8 at 21:31
answered Apr 8 at 6:33
Vitaliy KaurovVitaliy Kaurov
57.9k6162283
57.9k6162283
1
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
1
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
add a comment |
1
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
1
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
1
1
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
This is amazing, thank you so much. One quick question though, I don't seem to be able to add the additional points like in your first screen shoot (in using windows)
$endgroup$
– Wombles
Apr 8 at 21:26
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
$begingroup$
@Wombles you are welcome :) Read docs HERE especially details section. I corrected the post - on Win it is ALT+CLICK. Thanks for noting!
$endgroup$
– Vitaliy Kaurov
Apr 8 at 21:31
1
1
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Yes, fantastic answer Vitaliy. I have often wanted to use Mathematica for my own DnD game - perhaps now I will :)
$endgroup$
– Carl Lange
Apr 8 at 21:36
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
$begingroup$
Will do, i also need to download that sweet font too.
$endgroup$
– Wombles
Apr 8 at 21:37
add a comment |
$begingroup$
I have some advice, but it is just that, and not a solution to your problem.
- Decide on a geodetic model for the world you are mapping. I recommend picking one of the geodetic models of planet Earth that Mathematica recognizes.
- Decide on what the projection from a sphere to your map grid will be.
- Use the built-in functions
GeoGridPosition
andGeoPosition
to transform coordinates between the grid (map) and the model (sphere). - Look at
GeoProjectionData
to learn about Mathematica knows about projections.
Note: depending on the projection you choose, a circle about a point on sphere may not appear as a circle on your map.
BTW, nice looking map.
$endgroup$
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
add a comment |
$begingroup$
I have some advice, but it is just that, and not a solution to your problem.
- Decide on a geodetic model for the world you are mapping. I recommend picking one of the geodetic models of planet Earth that Mathematica recognizes.
- Decide on what the projection from a sphere to your map grid will be.
- Use the built-in functions
GeoGridPosition
andGeoPosition
to transform coordinates between the grid (map) and the model (sphere). - Look at
GeoProjectionData
to learn about Mathematica knows about projections.
Note: depending on the projection you choose, a circle about a point on sphere may not appear as a circle on your map.
BTW, nice looking map.
$endgroup$
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
add a comment |
$begingroup$
I have some advice, but it is just that, and not a solution to your problem.
- Decide on a geodetic model for the world you are mapping. I recommend picking one of the geodetic models of planet Earth that Mathematica recognizes.
- Decide on what the projection from a sphere to your map grid will be.
- Use the built-in functions
GeoGridPosition
andGeoPosition
to transform coordinates between the grid (map) and the model (sphere). - Look at
GeoProjectionData
to learn about Mathematica knows about projections.
Note: depending on the projection you choose, a circle about a point on sphere may not appear as a circle on your map.
BTW, nice looking map.
$endgroup$
I have some advice, but it is just that, and not a solution to your problem.
- Decide on a geodetic model for the world you are mapping. I recommend picking one of the geodetic models of planet Earth that Mathematica recognizes.
- Decide on what the projection from a sphere to your map grid will be.
- Use the built-in functions
GeoGridPosition
andGeoPosition
to transform coordinates between the grid (map) and the model (sphere). - Look at
GeoProjectionData
to learn about Mathematica knows about projections.
Note: depending on the projection you choose, a circle about a point on sphere may not appear as a circle on your map.
BTW, nice looking map.
answered Apr 8 at 5:03
m_goldbergm_goldberg
88.6k873200
88.6k873200
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
add a comment |
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
$begingroup$
Thank you for the advice and the starting point.
$endgroup$
– Wombles
Apr 8 at 5:38
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f194783%2fdistance-measures-on-a-map-of-a-game%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown