Запобігання відбивної поверхні в растріVis


10

Я експериментував з файлами цифрових моделей рельєфу у форматі растрової сітки ESRI ASCII. Незважаючи на нульовий досвід роботи з цим типом даних, я вважаю, що дуже легко завантажувати в R, як вказано в коді нижче. plot3DФункція з rasterVisпакету по замовчуванням в симпатичному сюжет , але модель досить рефлексивна. Враховуючи, що це повинен бути пейзаж, ця блискуча поверхня насправді не підходить.

Я шукаю більш природне (якщо таке слово можна використовувати про 3D-рендерінг набору фігур), матовий, топологічний сюжет.

блискучий

Я думаю, що для цього повинні бути способи, але я не маю досвіду використання rasterта пошуку деяких покажчиків.

Як можна зменшити або зняти відбивальну здатність ділянки?

library(raster)
library(rgdal)
library(rasterVis)

foo <- raster(readGDAL("my.dtm.asc"))
plot3D(foo)

Відповіді:


5

Я зробив кілька тестів і придумав ?rgl.materialаргумент specular, який допоміг виконати завдання.

Дивіться приклад нижче:

library(raster)
library(rasterVis)

r = raster(volcano)

plot3D(r,lit=TRUE,specular="white") #white is default
plot3D(r,lit=TRUE,specular="black") #change specular to black

введіть тут опис зображення


3

Вам потрібно буде передати аргументи plot3D, які змінюють характеристики відображення rgl, використовуючи аргументи, доступні в "rgl.material". Я б почав із «блискучості» чи «яскравості». Ви б просто вказати пов'язані аргументи rgl.material безпосередньо в plot3D.

plot3D(foo, zfac=2, shininess=10) 

2

Я досить новий з r та пакунком rasterVis. Одне, що мені здалося корисним, - це вивчити різні кольорові палітри, щоб побачити, чи зможете ви знайти той, який краще відповідає тому, що ви шукаєте (без необхідності заходити і намагатися змінити кольори, щоб відповідати саме тому, що я хочу). Наприклад, я спробував:

plot3D(foo, col=terrain.colors(6))

З досить гідними результатами. Можна також експериментувати з палітрами з пакету RColorBrewer, деякі з яких здаються менш блискучими. наприклад:

plot3D(foo, col=brewer.pal(9, 'YlOrRd'))
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.