14.4. ရုပ်ကြွသင်္ကေတများ ဖန်တီးခြင်း (Creating 3D Symbols)

Style Manager သည် 3D map view တွင် ပုံဖော်ရန် ဂျီဩမေတြီ အမျိုးအစားတိုင်းအတွက် 3D သင်္ကေတများကို ဖန်တီးသိမ်းဆည်းရန် ကူညီပေးသည်။

အခြား ဂျီဩမေတြီ အမျိုးအစားများဖန်တီးရန် 3d 3D Symbols tab ကိုဖွင့်ပြီး symbologyAdd ကို နှိပ်ပါ-

14.4.1. Point အလွှာများ (Point Layers)

../../../_images/3d_point_symbol.png

Fig. 14.33 3D Point Symbol တစ်ခု၏ ဂုဏ်သတ္တိများ

  • Point symbol များအတွက် အသုံးပြုရန် မတူညီသော 3D Shape အမျိုးအစားများကို သတ်မှတ်နိုင်ပါသည်။ ထို point symbol များကို အဓိကအားဖြင့် project ၏ CRS မှ ရည်ညွှန်းထားသည့် အတိုင်းအတာယူနစ်အသုံးပြုထားသော ၎င်းတို့၏ dimension (ရှုထောင့်) များဖြင့် သတ်မှတ်ပါသည်။ ရရှိနိုင်သည့်အမျိုးအစားများမှာ-

    • Sphere ကို Radius တစ်ခုဖြင့် သတ်မှတ်သည်။

    • Cylinder ကို Radius နှင့် Length ဖြင့် ပေါင်းစပ်သတ်မှတ်သည်။

    • Cube ကို Size တစ်ခုဖြင့် သတ်မှတ်သည်။

    • Cone ကို Top radiusBottom radius နှင့် Length များဖြင့် ပေါင်းစပ်သတ်မှတ်သည်။

    • Plane ကို Size တစ်ခုဖြင့် သတ်မှတ်သည်။

    • Torus ကို Radius နှင့် Minor radius ဖြင့် ပေါင်းစပ်သတ်မှတ်သည်။

    • 3D Model 3D ပုံစံအသုံပြုထားသောဖိုင်တစ်ခုတွင် wavefront .obj.glTF နှင့် .fbx စသည့် format သုံးမျိုးဖြင့် ပံ့ပိုးထားသည်။ ထို 3D ပုံစံများသည် ကွန်ပျူတာပေါ်တွင်ရှိသော ဖိုင်တစ်ခု၊ remote URL တစ်ခု သို့မဟုတ် project ထဲတွင် ထည့်သွင်းမြှုပ်နှံထားသည့် ဖြစ်နိုင်ပါသည်။ လူအများပူးပေါင်းပါဝင် ဖန်တီးထားသော 3D model များကို https://plugins.qgis.org/wavefronts ရှိ QGIS Hub တွင် မျှဝေထားပါသည်။

    • Billboard ကို Billboard height နှင့် Billboard symbol ဖြင့် (များသောအားဖြင့် marker symbol ကိုအခြေခံ၍) သတ်မှတ်ထားပါသည်။ Symbol သည် တည်ငြိမ်သောအရွယ်အစားရှိပြီး 3D point cloud များကို ကြည့်ရှုရာတွင် အဆင်ပြေစေပါသည်။

  • Altitude clamping ကို Absolute နှင့် Relative သို့မဟုတ် Terrain ဟု သတ်မှတ်နိုင်သည်။ 3D vector များ၏ အမြင့်တန်ဖိုးများသည် သုည (0) မှ ပကတိအတိုင်းအတာအဖြစ် ထောက်ပံ့ပေးသည့်အခါ absolute setting ကို အသုံးပြုနိုင်ပါသည်။ Relative နှင့် Terrain သည် အောက်ခံမြေမျက်နှာသွင်ပြင်အမြင့်ထဲတွင် ပေးထားသော အမြင့်တန်ဖိုးများ ပေါင်းထည့်ခြင်းဖြစ်သည်။

  • Shading (အမှောင်ရိပ်ထည့်ခြင်း) ဂုဏ်သတ္တိများကို သတ်မှတ်နိုင်ပါသည်။

  • Transformations frame အောက်တွင် symbol များကို affine transformation (ပုံသဏ္ဍာန်မပျက် အသွင်ပြောင်းခြင်း) အသုံးပြုနိုင်ပါသည်-

    • Translation သည် Object များကို x ၊ y နှင့် z ဝင်ရိုးတွင် ရွှေ့ရန်ဖြစ်သည်။

    • Scale သည် 3D ပုံသဏ္ဍာန်များကို အရွယ်အစားပြောင်းရန်ဖြစ်သည်။

    • Rotation သည် x ၊ y နှင့် z ဝင်ရိုးကို လှည့်ရန်ဖြစ်သည်။

14.4.2. Line အလွှာများ (Line Layers)

../../../_images/3d_line_symbol.png

Fig. 14.34 3D Line symbol တစ်ခု၏ ဂုဏ်သတ္တိများ

  • Width နှင့် Height setting အောက်တွင် vector line များ၏ Extrusion ကို သတ်မှတ်နိုင်သည်။ ထို vector lines များတွင် Z တန်ဖိုးများမရှိပါက 3D volumes setting ဖြင့်သတ်မှတ်နိုင်သည်။

  • 3D line များတွင် raster elevation data သို့မဟုတ် အခြားသော 3D vector များ ပါဝင်ပါက အောက်ခံမြေမျက်နှာသွင်ပြင်နှင့် ဆက်စပ်နေသည့် 3D line များ၏ တည်နေရာကို Altitude clamping ဖြင့် သတ်မှတ်နိုင်သည်။

  • Altitude binding သည် feature နှင့် မြေမျက်နှာသွင်ပြင် မည်သို့ချိတ်ဆက်နေသည်ကို သတ်မှတ်ပေးပါသည်။ ထိုသို့ feature နှင့် မြေမျက်နှာပြင်ချိတ်ဆက်ရာတွင် feature ၏ Vertex တိုင်းဖြင့် ချိတ်ဆက်ခြင်း ပြုလုပ်နိုင်သလို Centroid မှလည်း ချိတ်ဆက်နိုင်ပါသည်။

  • checkboxRender as simple 3D lines သည် ရိုးရှင်းသော 3D lines များအဖြစ် ပုံဖော်ပေးပါသည်။

  • Shading (အမှောင်ရိပ်ထည့်ခြင်း) ဂုဏ်သတ္တိများကို သတ်မှတ်နိုင်သည်။

Polygon Layers

14.4.3. Polygon အလွှာများ (Polygon Layers)

../../../_images/3d_polygon_symbol.png

Fig. 14.35 3D Polygon symbol တစ်ခု၏ ဂုဏ်သတ္တိများ

  • အခြား geometry အမျိုးအစားများဖန်တီးရန် Height ကို CRS ယူနစ်များတွင် သတ်မှတ်နိုင်သည်။ အသုံးပြုသူမှ ဖန်တီးထားသော ဖော်ပြချက်တန်ဖိုးတစ်ခု၊ ကိန်းရှင်တန်ဖိုးတစ်ခု သို့မဟုတ် attribute table ၏ ပထဝီဆိုင်ရာအချက်အလက်များ ပြန်လည်ထည့်သွင်းရန် dataDefine buttom ကိုအသုံးပြုနိုင်ပါသည်။

  • Extrusion သည် ပျောက်နေသည့် Z တန်ဖိုးများအတွက် ဖြစ်နိုင်ပါသည်။ Polygon တစ်ခုချင်းစီတွင် မတူညီသော result များ ရရှိရန်နှင့် vector layer ၏ တန်ဖိုးများကို အသုံးပြုရန်အလို့ဌာ extrusion (ထုထည်ဖော်ခြင်း) အတွက် dataDefine buttom ကို အသုံးပြုနိုင်ပါသည်။

    ../../../_images/3d_extrusion.png

    Fig. 14.36 သတ်မှတ် data အသုံးပြုထားသည့် extrusion

  • Altitude clamping နှင့် Altitude binding တို့ကို အထက်တွင်ရှင်းပြထားသည့်အတိုင်းသတ်မှတ်နိုင်သည်။

  • Culling mode ကို symbol အတွက်အသုံးပြုရာတွင်-

    • No Culling သည် polygonZ/multipatch data များ၏ vertex များသည် အစဥ်အလိုက် တသမတ်တည်း မရှိသောအခါ (ဥပမာ - နာရီလက်တံအတိုင်း သို့မဟုတ် နာရီလက်တံပြောင်းပြန်အတိုင်း) ပျောက်နေပုံရသော မျက်နှာပြင်များကို ရှောင်ရှားရန် ကူညီပေးနိုင်ပါသည်။

    • Front (အရှေ့ဘက်)

    • သို့မဟုတ် Back (အနောက်ဘက်)

  • Rendered facade သည် မျက်နှာပြင်များကို ပြသရန် ဆုံးဖြတ်သည်။ ဖြစ်နိုင်ချေတန်ဖိုးများမှာ No facadesWallsRoofs သို့မဟုတ် Walls and roofs တို့ဖြစ်သည်။

  • checkbox Add back faces သည် တြိဂံတစ်ခုစီအတွက် vertex data အရေအတွက် တိုးလာစေခြင်းဖြင့် မှန်ကန်သောပုံမှန်ပုံစံများဖြင့် ရှေ့နှင့်နောက်မျက်နှာနှစ်ခုလုံးကို ဖန်တီးသည်။ Shading ပြဿနာများကို ဖြေရှင်းရန် ထို option ကို အသုံးပြုနိုင်ပါသည်။ (ဥပမာ - vertex များ အစဥ်အလိုက် တသမတ်တည်း မရှိသည့် data များကြောင့်)

  • checkbox Invert normals (experimental) သည် နာရီလက်တံအတိုင်း/နာရီလက်တံပြောင်းပြန်အတိုင်း vertex အစဥ်လိုက်ပြင်ဆင်ရန်အတွက် အသုံးဝင်ပါသည်။

  • Shading ဂုဏ်သတ္တိများကို သတ်မှတ်နိုင်သည်။

  • Symbol များ၏ checkbox Edges ကိုပြသနိုင်ပြီး Width နှင့် Color တို့ကို သတ်မှတ်ပေးနိုင်ပါသည်။

Hint

3D data များကို အကောင်းဆုံးပုံဖော်နိုင်ရန်အတွက် ပေါင်းစပ်မှုများ

Culling modeAdd back faces နှင့် Invert normals များသည် မှားနေသော 3D ဒေတာများကို အမှန်ပြင်ရန် ဖြစ်သည်။ ပုံမှန်အားဖြင့် data အချို့ကို တင်လိုက်သည့်အခါ culling mode=back နှင့် add back faces=disabled ကို ဦးစွာကြိုးစားသည်မှာ အကောင်းဆုံးဖြစ်သည်။ ၎င်းသည် အထိရောက်ဆုံးဖြစ်သည်။ ပုံဖော်ခြင်းသည် မှန်ကန်စွာမပြသပါက add back faces=enabled လုပ်ထားပြီး culling mode=no culling အဖြစ် ဆက်ထားပါ။ အခြားပေါင်းစပ်မှုများသည် ပိုမိုအဆင့်မြင့်ပြီး input dataset မည်သို့ရောနှောထားသည်ကိုအခြေခံထားသည့် အချို့သောအခြေအနေများတွင်သာ အသုံးဝင်ပါသည်။

14.4.4. texture တွင်အရိပ်ထည့်ခြင်း (Shading the texture)

Shading လုပ်ခြင်းဖြင့် အလင်းရောင်ကြောင့် ဖုံးကွယ်နေသော object ၏ 3D အသေးစိတ်ကို ဖော်ထုတ်ပြသရန် ကူညီပေးနိုင်သည်။ အခြေခံအားဖြင့် feature များကို ပုံဖော်ကြည့်ရှုရန် သင့်လျော်သော scene lighting များ ချမှတ်ခြင်းနှင့်ပတ်သက်ပြီး စိုးရိမ်စရာ မလိုသောကြောင့် လုပ်ကိုင်ရလွယ်ကူပါသည်။

QGIS တွင် အမျိုးမျိုးသော Shading နည်းပညာများကို အသုံးပြုထားပြီး ၎င်းတို့၏ ရရှိနိုင်မှုမှာ symbol ၏ ဂျီဩမေတြီ အမျိုးအစားပေါ် မူတည်ပါသည်-

  • Realistic (Phong) သည် ကြမ်းတမ်းသောမျက်နှာပြင်များ၏ ရောင်ပြန်ဟပ်မှု Diffuse နှင့် တောက်ပသောမျက်နှာပြင်များ၏ Specular ရောင်ပြန်ဟပ်မှု (Shininess) တို့ကို ပေါင်းစပ်ကာ မျက်နှာပြင်တစ်ခု၏ အလင်းရောင်ပြန်ဟပ်မှုကို ဖော်ပြပေးပါသည်။ မြင်ကွင်းတစ်ခုလုံးတွင် ပြန့်ကျဲနေသော အလင်းအနည်းငယ်ကို ထည့်သွင်းစဉ်းစားနိုင်ရန် Ambient option လည်းပါဝင်သည်။ 3D တွင် တစ်စိတ်တစ်ပိုင်း ဖောက်ထွင်းမြင်ရသော object များကို ပုံဖော်ရန် Opacity slider ကိုသုံးပါ။ https://en.wikipedia.org/wiki/Phong_reflection_model#Description တွင် ပိုမိုဖတ်ရှုနိုင်ပါသည်။

  • Realistic Textured (Phong) သည် image တစ်ခုကို Diffuse Texture အဖြစ်အသုံးပြုသည်မှလွဲ၍ Realistic (Phong) နှင့် အတူတူပင်ဖြစ်ပါသည်။ Image သည် ကွန်ပျူတာပေါ်တွင်ရှိသော ဖိုင်တစ်ခု၊ remote URL တစ်ခု သို့မဟုတ် project ထဲတွင် ထည့်သွင်းမြှုပ်နှံထားသည့် အဖြစ် ဖြစ်နိုင်ပါသည်။ Texture scale နှင့် Texture rotation လိုအပ်ပါသည်။ 3D တွင် တစ်စိတ်တစ်ပိုင်း ဖောက်ထွင်းမြင်ရသော object များကို ပုံဖော်ရန် Opacity slider ကိုသုံးပါ။

  • CAD (Gooch) သည် အနားသတ်မျဥ်းများနှင့် highlight များကို အမြင်အရထင်ရှားမှု ရှိနေစေရန် mid-tones များတွင်သာ shading ပြုလုပ်ရသော နည်းပညာဖြစ်ပါသည်။ DiffuseSpecularShininess option များနှင့်အတူ Warm color (အလင်းကို မျက်နှာမူနေသောမျက်နှာပြင်များအတွက်) နှင့် Cool color (အဝေးကို မျက်နှာမူထားသော မျက်နှာပြင်များအတွက်) လုပ်ဆောင်ပေးရန်လိုအပ်ပါသည်။ ထို့အပြင် diffuse color ဖြင့် warm color နှင့် cold color များတွင် ဆက်စပ်ပါဝင်မှုများကို Alpha နှင့် Beta ဂုဏ်သတ္တိများ အသီးသီးဖြင့် ထိန်းချုပ်ထားပါသည်။ https://en.wikipedia.org/wiki/Gooch_shading ကိုလည်း ကြည့်ရှုပါ။

  • 3D models ပုံသဏ္ဍာန် ဖြင့် Embedded Textures

14.4.5. အသုံးချမှုဥပမာ (Application example)

အထက်တွင် ရှင်းလင်းဖော်ပြထားသော setting များကို စေ့စပ်သေချာစွာနားလည်စေရန် https://app.merginmaps.com/projects/saber/luxembourg/tree တွင် ကြည့်ရှုနိုင်ပါသည်။