How can I achieve this please?
 1-20  21-36

Next
 From:  Sutts (SUTTS99)
9967.1 
Hi,

I have a model of a road system (flat) in MOI that I'd like to convert into a 3D model by projecting it onto a rolling landscape surface. i.e. the roads gain the missing element of height.

I have all the height data for my landscape, sampled in a 1m grid. Wondering how I can load this landscape height data into MOI please?
Is there a script I can use to construct a mesh based on coordinates and height data?

Thanks!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9967.2 In reply to 9967.1 
---
Pilou
Is beautiful that please without concept!
My Moi French Site My Gallery My MagicaVoxel Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.3 In reply to 9967.1 
Convert the landscape to a grid (mesh) of rolling curves, then use network to make a rolling surface.
Flow the roads, using their plane, onto the rolling surface.

- Brian

So making the mesh is the question.
For points with a given x value, make an interp curve.
For points with a given y value, make an interp curve.

Assuming x values, and y values are index-able, write script with outer FOR loop for x = i, inner FOR loop for y = j, to make the computer screen vertical interp curves.
Increment the indexes with the grid interval.

Repeat with y = i, x = j , to make left to right interp curves.

The lineweb script could be re written...

EDITED: 29 Sep 2020 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9967.4 
When you have your points in Moi for make the surface you can use the Delaunay Node of the Node Editor Elephant

EDITED: 29 Sep 2020 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.5 In reply to 9967.1 
Hi Sutts,

What format is your terrain data in?

The ImportPointFile can import .txt, xyz, or csv (an excel export type).
The file can have a few kinds of delimiters, as I recall.
The freeform curve option might be nice. Not sure just how it works, or how the data should be formatted...
A little experimentationn might be in order?

Maybe you could post a small sample of the data?

- Brian

https://moi3d.com/forum/index.php?webtag=MOI&msg=9005.2

Forum search of ImportPointFile brings up numerous links.

I have yet to see much documentation on the ImportPointFile script.

A matrix of rows and columns of terrain data???

EDITED: 29 Sep 2020 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.6 
Pilou, Brian,

Thanks so much for the help - have lots to try out now.
I have a heightmap tiff image to work with but I can process that to pull out the data in any format I like.
Will have a play and let you know how I get on.

Dave
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9967.7 
If your points are inside a csv file
here for 20 points randomized inside a spreadsheet ;)

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  wayne hill (WAYNEHILL5202)
9967.8 
You can use Max's HeightMap script with the heightmap picture. Use Loft after the curves are generated.

http://moi.maxsm.net/

Wayne

Ref: From Mount Rainier heightmap
https://mattbooty.wordpress.com/2019/01/20/3d-printing-a-model-of-mount-rainier-using-digital-elevation-model-dem-files/



EDITED: 17 Jan 2021 by WAYNEHILL5202

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.9 
Thanks again for the pointers. I have some good news and some bad news....

The good news is that I managed to convert the ImportPointFile scripts to import multiple polylines from a single CSV file (1 polyline per data row).
This works well and the resulting curves simply require 2 joining lines - one along each end - to produce something that can be networked into a surface.

The bad news is that MOI struggles badly with networking the area I'm working on - in fact it never completes the job.
The area is approx. 2400m x 2400m with data sampled every 1m. That results in 2400 polylines, each line with 2400 data points.
That means we're connecting close to 6 million data points. I'm sure I could resample it but I need that level of detail I'm afraid.

Can anyone advise on a way forward please or suggest an affordable modelling package that might handle that kind of landscape size?
It's frustrating as I thought I was almost there. MOI is an incredible piece of software and I use it for all my modelling now. It's got to be the most well thought out modelling package out there but I suspect I'm pushing the boundaries here.

Thanks
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.10 In reply to 9967.9 
Are you using MoI4 Beta? It handles more data... or memory or ...

I think I would use interpcurves instead of polylines.

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.11 In reply to 9967.10 
I am Brian, yes.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.12 In reply to 9967.11 
Maybe try Through pts import option?

Divide up the problem into 4 or 16 or 64 grid areas?

Try out a smaller grid for proof of method?

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.13 In reply to 9967.12 
Also it is unclear if you are doing "column" polylines, or "column" through point curves.
Or just joining the ends of the "row" polylines?

I would think that there should be multiple columns of curves, about the same as the row curves.

Are you trying to network ribbons, or a grid?

A reduced size demo "3dm" would be nice to see?

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.14 In reply to 9967.13 
I think Network works on a grid, "quad-ish", like a very wavy screen door screen.
- B

You would need to do a second data set in column format?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.15 In reply to 9967.12 
Thanks for the suggestions Brian. I'll try that.
Maybe if I make a surface for each of the smaller units and remove the polylines, I can then join the surfaces up with a smaller hit on memory/processor.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.16 
Maybe Loft?
Networks seems better way?
- B
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
9967.17 
Let P be a matrix of points. Just the raw point.z values need be stored. ( Pt.z ).
The row numbers are the x coordinates (possibly scaled a bit).
(Or store all the raw point data, Pt, with Pt containing (Pt.x, Pt.y, Pt.z))
The column numbers are the y coordinates (possibly scaled a bit).
P is a javascript array of arrays, and is zero indexed.
P[i][j] = P[row][col] is of dimension 2,400 by 2,400 = 5,760,000 z values.
The entries of P can be accessed by row, or by column, to create the curves.

If there is too much data, smaller chunks of P could be accessed, either n rows, with all columns,
or vice versa, or rectangular subsets of the matrix could be accesed.

Well, a few thoughts anyway.

- Brian

I wonder if the surface edges/ surface results of network chunks join up the same as the surface result of a complete network?
And what are the geometry data limits of MoI4?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.18 In reply to 9967.17 
Mmmm, good point Brian. Will have to experiment to see if the chunks will join along their edges.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.19 
I've created a much reduced data set with just 20 curves for testing (attached).
I also include 2 images to show the resulting model before and after the surface has been applied. All works very well, although the network operation takes time even with this many curves.
Attachments:

Image Attachments:
Size: 319.6 KB, Downloaded: 24 times, Dimensions: 1920x1080px
Size: 233.5 KB, Downloaded: 28 times, Dimensions: 1920x1080px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sutts (SUTTS99)
9967.20 
And here is the modified script I used to load the multiple curves. It was a quick job and I've only tested it with Polylines!

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-20  21-36