asam-ev / OpenMATERIAL

3D model exchange format with physical material properties for virtual development, test and validation of automated driving.
https://asam-ev.github.io/OpenMATERIAL/
Mozilla Public License 2.0
13 stars 7 forks source link

Add thickness parameter for transmittance calculation. #141

Open Norihito-Hiruma opened 1 month ago

Norihito-Hiruma commented 1 month ago

To calculate the attenuation of transmitted light, the thickness parameter of the material is required. The attenuation of light is calculated using Lambert-Beer's law, which requires not only the complex refractive index but also the path length inside the material. The path length of light within the material can be calculated using the refractive index and the thickness of the material, hence the need for the thickness parameter.

Attenuation calculations

lyndyRott commented 1 month ago

From my point of view this is an interesting aspect, which is very useful in sensor modeling. A model for reflection-absorption-transmission and refraction is needed and a parameter for thin-layered materials can support modeling of various detection-range and energy considerations.

This issue is related to both #126 and #122 from my point of view.

However, a material thickness parameter itself is more related to the geometry description and cannot be a material-parameter itself, I'd think. Thus, the geometry or modeling engineer (customer/user) can define a thickness t in their model or geometry and the material standard can only provide the attenuation coefficient, which is the material parameter.

As presented above, the complex index of refraction (IoR) m holds an absorption property in the imaginary part (k).
These properties are part of the volumetric description of materials.

We should definitely add an option to include the real and imaginary part of the IoR, imo.

Norihito-Hiruma commented 1 month ago

I understand that Rott-san's opinion regarding thickness information is as follows: If thickness information is held within the model, it can be utilized. If it is not available, then the thickness information within the Geometry information in the asset file can be used. Is my understanding correct? As you pointed out, thickness information is indeed part of the Geometry data. If my understanding above is correct, I think it's a good idea. It is necessary to have a mechanism in the asset file to associate information related to the shape required for sensor simulation with 3D shape components (nodes, etc.).

ClemensLinnhoff commented 1 month ago

I also agree, that thickness is a useful information, but not a material parameter. Let's discuss, if/how we can incorporate thickness (and potentially other volumetric parameters) into the asset file @LudwigFriedmann.

LudwigFriedmann commented 3 weeks ago

3D assets in computer graphics are typically surface models and not volume models (as in CAD applications). This means that only the surface is modeled and there's no information about material thickness provided.

I'd therefore rather see the thickness in the material definition. Like that, materials of specific thickness can then be assigned to 3D assets. Depending on the impact of thickness on other material properties, this could also be variable parameter in material definitions.

ClemensLinnhoff commented 1 week ago

I would propose to move this to a future version of OpenMATERIAL.

Norihito-Hiruma commented 1 week ago

Based on Ludwig-san's opinion, I have considered the this task again. As Ludwig-san's pointed out, our data is polygon data, which is a surface model. Furthermore, considering that there are cases where thin films or other surface features are not represented as polygon shapes, I believe thickness information should be included in the material information.

ClemensLinnhoff commented 6 days ago

But would it be okay, if me move this to the next OpenMATERIAL version? We only have about 2 weeks to complete all content of this project.

ekuehn-dspace commented 6 days ago

We use thickness in our simulation and thus would like it to be part of the standard. It does not really matter to us where the parameter is stored as long as it can be accessed somehow. I agree that strictly speaking thickness is not a material property per se but for practicality, it might be good to have it as a material parameter (at least for the time being).

LudwigFriedmann commented 6 days ago

We could introduce a thickness parameter in the material mapping file (as second parameter besides color code or name). This concept has to be refined, though. I'm not sure if we can complete that within the two remaining weeks.

ClemensLinnhoff commented 6 days ago

I agree that this proposal definitely has merit. But I don't think we can get to a solution within 2 weeks alongside all the other open topics.