$lang['tuto'] = "பயிற்சிகள்"; ?>$lang['tuto'] = "பயிற்சிகள்"; ?> பைத்தானைப்

பைத்தானைப் பயன்படுத்தி USD கோப்புகளைப் பிரித்தெடுத்து புள்ளி கிளவுட் டேட்டாவாக மாற்றவும்

Temp mail SuperHeros
பைத்தானைப் பயன்படுத்தி USD கோப்புகளைப் பிரித்தெடுத்து புள்ளி கிளவுட் டேட்டாவாக மாற்றவும்
பைத்தானைப் பயன்படுத்தி USD கோப்புகளைப் பிரித்தெடுத்து புள்ளி கிளவுட் டேட்டாவாக மாற்றவும்

புள்ளி கிளவுட் பயன்பாடுகளுக்கான மாஸ்டரிங் USD கோப்பு வெர்டெக்ஸ் பிரித்தெடுத்தல்

3D தரவுகளுடன் பணிபுரிவது ஒரு பிரமைக்கு வழிசெலுத்துவது போல் உணரலாம், குறிப்பாக உங்களுக்கு USD அல்லது USDA கோப்பிலிருந்து துல்லியமான வெர்டெக்ஸ் தரவு தேவைப்படும்போது. நீங்கள் எப்போதாவது முழுமையடையாத அல்லது துல்லியமற்ற உச்சியைப் பிரித்தெடுப்பதில் சிரமப்பட்டிருந்தால், நீங்கள் தனியாக இல்லை. புள்ளி மேகங்களை உருவாக்குவது போன்ற குறிப்பிட்ட பயன்பாடுகளுக்கான 3D வடிவங்களை மாற்றும் போது பல டெவலப்பர்கள் இந்தச் சிக்கலை எதிர்கொள்கின்றனர். 🌀

விர்ச்சுவல் ரியாலிட்டி திட்டத்திற்காக வெர்டெக்ஸ் தரவைப் பிரித்தெடுக்க வேண்டிய நேரம் எனக்கு நினைவிருக்கிறது. உங்களைப் போலவே நானும் இசட்-ஆயங்களில் முரண்பாடுகளை எதிர்கொண்டேன், இது துணை முடிவுகளுக்கு வழிவகுத்தது. இது வெறுப்பாக இருக்கிறது, ஆனால் இந்த சவாலை தீர்ப்பது உங்கள் 3D பணிப்பாய்வுகளுக்கான சாத்தியக்கூறுகளின் உலகத்தைத் திறக்கும். 🛠️

இந்த வழிகாட்டியில், பைத்தானைப் பயன்படுத்தி துல்லியமாக உச்சிகளைப் பிரித்தெடுப்பது மற்றும் பொதுவான ஆபத்துகளைச் சமாளிப்பது மூலம் நான் உங்களை அழைத்துச் செல்கிறேன். நாங்கள் மிகவும் நேரடியான மாற்றீட்டையும் ஆராய்வோம்: USD கோப்புகளை PLY ஆக மாற்றுவது, பின்னர் அதை புள்ளி மேகமாக மாற்றலாம். நீங்கள் AWS Lambda உடன் பணிபுரிந்தாலும் அல்லது அதுபோன்ற சூழல்களில் பணிபுரிந்தாலும், இந்தத் தீர்வு உங்கள் கட்டுப்பாடுகளுக்கு ஏற்ப வடிவமைக்கப்பட்டுள்ளது. 🚀

எனவே, உங்கள் 3D தரவு பணிப்பாய்வுகளை மேம்படுத்த நீங்கள் ஆர்வமாக இருந்தால் அல்லது Python USD கோப்புகளை எவ்வாறு கையாளுகிறது என்பதைப் பற்றி ஆர்வமாக இருந்தால், நீங்கள் சரியான இடத்தில் உள்ளீர்கள். அந்த சவால்களை வாய்ப்புகளாக மாற்றுவோம்! 🌟

கட்டளை பயன்பாட்டின் உதாரணம்
Usd.Stage.Open படிக்க ஒரு USD நிலை (கோப்பு) திறக்கிறது. இது USD அல்லது USDA கோப்பை அதன் 3D தரவைக் கையாளவும் கையாளவும் ஏற்றுகிறது.
stage.Traverse USD நிலையில் உள்ள அனைத்து முதற்பொருள்கள் (பொருள்கள்) மீது மீண்டும் மீண்டும், வடிவியல் மற்றும் பண்புக்கூறுகளை அணுக அனுமதிக்கிறது.
prim.IsA(UsdGeom.Mesh) தற்போதைய பழமையானது கண்ணிதானா என்பதைச் சரிபார்க்கிறது. இந்த செயல்பாடு வடிவியல் கண்ணி தரவை மட்டுமே செயலாக்குவதை உறுதி செய்கிறது.
UsdGeom.Mesh(prim).GetPointsAttr().Get() USD கோப்பில் அதன் 3D வடிவவியலைக் குறிக்கும் கண்ணியின் புள்ளிகள் பண்புக்கூறை (வெர்டிஸ்கள்) மீட்டெடுக்கிறது.
PlyElement.describe வெர்டெக்ஸ் தரவுக்கான PLY உறுப்பை உருவாக்குகிறது, PLY கோப்பு கட்டமைப்பிற்கான வடிவமைப்பை (புலங்கள்) குறிப்பிடுகிறது.
PlyData.write உருவாக்கப்பட்ட PLY உறுப்புத் தரவை ஒரு கோப்பில் எழுதி, புள்ளி கிளவுட் தரவை PLY வடிவத்தில் சேமிக்கிறது.
np.array பிரித்தெடுக்கப்பட்ட வெர்டெக்ஸ் தரவை ஒரு கட்டமைக்கப்பட்ட NumPy அணிவரிசையாக மாற்றுகிறது.
unittest.TestCase பைத்தானில் யூனிட் சோதனைக்கான சோதனை வழக்கை வரையறுக்கிறது, செயல்பாடுகள் எதிர்பார்த்தபடி செயல்படுவதை உறுதி செய்கிறது.
os.path.exists குறிப்பிட்ட கோப்பு (எ.கா., வெளியீடு PLY கோப்பு) மாற்றும் செயல்முறைக்குப் பிறகு உள்ளதா எனச் சரிபார்த்து, அதன் வெற்றியைச் சரிபார்க்கிறது.
UsdGeom.Mesh USD கோப்பில் மெஷ் பொருளின் பிரதிநிதித்துவத்தை வழங்குகிறது, புள்ளிகள் மற்றும் நார்மல்கள் போன்ற குறிப்பிட்ட பண்புகளுக்கான அணுகலை வழங்குகிறது.

பைத்தானில் வெர்டெக்ஸ் பிரித்தெடுத்தல் மற்றும் கோப்பு மாற்றத்தைப் புரிந்துகொள்வது

3D மாடலிங் மற்றும் ரெண்டரிங் உடன் பணிபுரியும் போது, ​​USD அல்லது USDA போன்ற வடிவங்களில் இருந்து வெர்டெக்ஸ் தரவைப் பிரித்தெடுக்க வேண்டிய அவசியம் அடிக்கடி எழுகிறது. மேலே கொடுக்கப்பட்ட பைதான் ஸ்கிரிப்ட் சக்தி வாய்ந்த பிக்சர் யுனிவர்சல் காட்சி விளக்கத்தைப் பயன்படுத்தி இந்தத் தேவையை நிவர்த்தி செய்கிறது (அமெரிக்க டாலர்) நூலகங்கள். அதன் மையத்தில், USD கோப்பைத் திறப்பதன் மூலம் ஸ்கிரிப்ட் தொடங்குகிறது Usd.Stage.Open கட்டளை, இது 3D காட்சியை நினைவகத்தில் ஏற்றுகிறது. காட்சி வரைபடத்தை கடந்து செல்வதையும் கையாளுவதையும் சாத்தியமாக்கும் அடித்தளப் படி இதுவாகும். மேடை ஏற்றப்பட்டதும், ஸ்கிரிப்ட் காட்சியில் உள்ள அனைத்து பழமையானவற்றைப் பயன்படுத்தி மீண்டும் செயல்படுகிறது மேடை.பயணம் கோப்பில் உள்ள ஒவ்வொரு பொருளுக்கும் அணுகலை உறுதி செய்யும் முறை. 🔍

தொடர்புடைய தரவை அடையாளம் காண, ஸ்கிரிப்ட் ஒரு சரிபார்ப்பைப் பயன்படுத்துகிறது prim.IsA(UsdGeom.Mesh), இது கண்ணி வடிவியல் பொருட்களை தனிமைப்படுத்துகிறது. 3D மாதிரியின் வடிவத்தை வரையறுக்கும் செங்குத்துகள் அல்லது "புள்ளிகள்" இருப்பதால் மெஷ்கள் இன்றியமையாதவை. இந்த மெஷ்களின் செங்குத்துகள் கட்டளை மூலம் அணுகப்படுகின்றன UsdGeom.Mesh(prim).GetPointsAttr().Get(). இருப்பினும், டெவலப்பர்கள் சந்திக்கும் ஒரு பொதுவான பிரச்சினை, சிக்கலில் சிறப்பிக்கப்பட்டுள்ளது, Z- மதிப்புகளில் துல்லியம் இழப்பு அல்லது எதிர்பார்த்ததை விட குறைவான செங்குத்துகள். தரவு எளிமைப்படுத்துதல் அல்லது USD கட்டமைப்பின் தவறான விளக்கங்கள் காரணமாக இது நிகழலாம். தெளிவை உறுதிப்படுத்த, பிரித்தெடுக்கப்பட்ட புள்ளிகள் மேலும் செயலாக்கத்திற்கான NumPy வரிசையில் இறுதியாக ஒருங்கிணைக்கப்படுகின்றன. 💡

USD கோப்புகளை PLY வடிவத்திற்கு மாற்றுவதற்கான மாற்று ஸ்கிரிப்ட் அதே கொள்கைகளை அடிப்படையாகக் கொண்டது, ஆனால் புள்ளி கிளவுட் உருவாக்கத்திற்கு ஏற்ற கட்டமைப்பாக உச்சி தரவை வடிவமைப்பதன் மூலம் செயல்பாட்டை நீட்டிக்கிறது. செங்குத்துகளை பிரித்தெடுத்த பிறகு, ஸ்கிரிப்ட் பயன்படுத்துகிறது ப்ளைஃபைல் நூலகத்தைப் பயன்படுத்தி PLY உறுப்பை உருவாக்க PlyElement. விவரிக்கவும் முறை. இந்தப் படியானது, x, y, மற்றும் z ஆயத்தொகுதிகளைக் குறிப்பிடும் PLY வடிவில் செங்குத்துகளின் கட்டமைப்பை வரையறுக்கிறது. கோப்பு பின்னர் வட்டில் எழுதப்பட்டது PlyData.write. புள்ளி கிளவுட் பயன்பாடுகளுக்கான .las கோப்புகளை உருவாக்குவது போன்ற காட்சிப்படுத்தல் அல்லது மேலும் செயலாக்க PLY கோப்புகளைப் பயன்படுத்தும் மென்பொருள் அல்லது நூலகங்களுடன் இணக்கத்தன்மையை இந்த முறை உறுதி செய்கிறது. 🚀

இரண்டு ஸ்கிரிப்ட்களும் மாடுலர் மற்றும் AWS லாம்ப்டாவின் கட்டுப்பாடுகளைக் கையாள வடிவமைக்கப்பட்டுள்ளன, அதாவது Blender அல்லது CloudCompare போன்ற வெளிப்புற GUI மென்பொருளை நம்பவில்லை. மாறாக, அவர்கள் பைத்தானைப் பயன்படுத்திப் பணிகளைச் செயல்படுத்துவதில் கவனம் செலுத்துகிறார்கள். ரெண்டரிங் பைப்லைனுக்கான பணிப்பாய்வுகளை தானியங்குபடுத்துகிறீர்களோ அல்லது AI பயிற்சிக்கான தரவைத் தயாரிக்கிறீர்களோ, இந்தத் தீர்வுகள் துல்லியம் மற்றும் செயல்திறனுக்காக உகந்ததாக இருக்கும். எடுத்துக்காட்டாக, நிகழ்நேர 3D ஸ்கேனிங் தேவைப்படும் ஒரு திட்டத்தில் நான் பணிபுரிந்தபோது, ​​PLY உருவாக்கத்தை தானியங்குபடுத்துவது, கைமுறையாக வேலை செய்யும் நேரத்தை மிச்சப்படுத்தியது. இந்த ஸ்கிரிப்ட்கள், வலுவான பிழை கையாளுதலுடன் பொருத்தப்பட்டவை, பல்வேறு காட்சிகளுக்கு மாற்றியமைக்கப்படலாம், இது 3D தரவுகளுடன் பணிபுரியும் டெவலப்பர்களுக்கு விலைமதிப்பற்ற கருவிகளாக அமைகிறது. 🌟

USD கோப்புகளிலிருந்து செங்குத்துகளை எவ்வாறு பிரித்தெடுப்பது மற்றும் அவற்றை பாயிண்ட் கிளவுட் டேட்டாவாக மாற்றுவது எப்படி

USD லைப்ரரிகளைப் பயன்படுத்தி வெர்டிஸை பிரித்தெடுப்பதற்கான பைதான் ஸ்கிரிப்ட்

from pxr import Usd, UsdGeom
import numpy as np
def extract_points_from_usd(file_path):
    """Extracts 3D points from a USD or USDA file."""
    try:
        stage = Usd.Stage.Open(file_path)
        points = []
        for prim in stage.Traverse():
            if prim.IsA(UsdGeom.Mesh):
                usd_points = UsdGeom.Mesh(prim).GetPointsAttr().Get()
                if usd_points:
                    points.extend(usd_points)
        return np.array(points)
    except Exception as e:
        print(f"Error extracting points: {e}")
        return None

மாற்று முறை: USD ஐ PLY வடிவத்திற்கு மாற்றுதல்

பாயிண்ட் கிளவுட் மாற்றத்திற்காக USD ஐ PLY ஆக மாற்ற பைதான் ஸ்கிரிப்ட்

from pxr import Usd, UsdGeom
from plyfile import PlyData, PlyElement
import numpy as np
def convert_usd_to_ply(input_file, output_file):
    """Converts USD/USDA file vertices into a PLY file."""
    try:
        stage = Usd.Stage.Open(input_file)
        vertices = []
        for prim in stage.Traverse():
            if prim.IsA(UsdGeom.Mesh):
                usd_points = UsdGeom.Mesh(prim).GetPointsAttr().Get()
                if usd_points:
                    vertices.extend(usd_points)
        ply_vertices = np.array([(v[0], v[1], v[2]) for v in vertices],
                                dtype=[('x', 'f4'), ('y', 'f4'), ('z', 'f4')])
        el = PlyElement.describe(ply_vertices, 'vertex')
        PlyData([el]).write(output_file)
        print(f"PLY file created at {output_file}")
    except Exception as e:
        print(f"Error converting USD to PLY: {e}")

யூனிட் சோதனைகள் USD க்கு PLY க்கு மாற்றுதல்

அலகு சோதனைக்கான பைதான் ஸ்கிரிப்ட்

import unittest
import os
class TestUsdToPlyConversion(unittest.TestCase):
    def test_conversion(self):
        input_file = "test_file.usda"
        output_file = "output_file.ply"
        convert_usd_to_ply(input_file, output_file)
        self.assertTrue(os.path.exists(output_file))
if __name__ == "__main__":
    unittest.main()

3D பயன்பாடுகளுக்கான USD கோப்புத் தரவை மேம்படுத்துதல்

உடன் பணிபுரியும் போது அமெரிக்க டாலர் கோப்புகள், வடிவமைப்பின் அடிப்படை கட்டமைப்பைப் புரிந்துகொள்வது ஒரு முக்கிய அம்சமாகும். யுனிவர்சல் காட்சி விளக்கக் கோப்புகள் மிகவும் பல்துறை மற்றும் வடிவியல், நிழல் மற்றும் அனிமேஷன் உள்ளிட்ட சிக்கலான 3D தரவை ஆதரிக்கின்றன. இருப்பினும், புள்ளி கிளவுட் உருவாக்கம் போன்ற பணிகளுக்கு சுத்தமான வெர்டெக்ஸ் தரவைப் பிரித்தெடுப்பது, மெஷ் கம்ப்ரஷன் அல்லது சிம்ப்ளிஃபிகேஷன் போன்ற USD கோப்புகளுக்குள் பயன்படுத்தப்படும் தேர்வுமுறை நுட்பங்கள் காரணமாக சவாலாக இருக்கலாம். அதனால்தான் காட்சி வரைபடத்தின் விரிவான பயணம் மற்றும் கண்ணி பண்புகளை சரியாக அணுகுவது துல்லியத்திற்கு முக்கியமானது. 📐

ஸ்கிரிப்ட் செயல்படுத்தப்படும் சூழல் மற்றொரு முக்கிய கருத்தாகும். எடுத்துக்காட்டாக, AWS Lambda போன்ற கிளவுட்-அடிப்படையிலான சர்வர்லெஸ் அமைப்பில் இத்தகைய மாற்றங்களை இயக்குவது நூலக சார்புகள் மற்றும் கிடைக்கக்கூடிய கணக்கீட்டு சக்தி மீது கட்டுப்பாடுகளை விதிக்கிறது. எனவே ஸ்கிரிப்ட் இலகுரக நூலகங்கள் மற்றும் திறமையான அல்காரிதம்களைப் பயன்படுத்துவதில் கவனம் செலுத்த வேண்டும். கலவை pxr.Usd மற்றும் ப்ளைஃபைல் செயல்முறை நிரல் மற்றும் அளவிடக்கூடியதாக இருக்கும் போது நூலகங்கள் இணக்கத்தன்மை மற்றும் செயல்திறனை உறுதி செய்கின்றன. இந்த குணாதிசயங்கள் 3D காட்சிகளின் பெரிய தரவுத்தொகுப்புகளை செயலாக்குவது போன்ற பணிப்பாய்வுகளை தானியங்குபடுத்துவதற்கான அணுகுமுறையை சிறந்ததாக ஆக்குகிறது. 🌐

செங்குத்துகளை பிரித்தெடுப்பது மற்றும் PLY கோப்புகளை உருவாக்குவதுடன், மேம்பட்ட பயனர்கள் இந்த ஸ்கிரிப்ட்களை சாதாரண பிரித்தெடுத்தல் அல்லது அமைப்பு மேப்பிங் போன்ற கூடுதல் செயல்பாடுகளுக்கு நீட்டிக்க பரிசீலிக்கலாம். இத்தகைய திறன்களைச் சேர்ப்பதன் மூலம் உருவாக்கப்பட்ட புள்ளி கிளவுட் கோப்புகளை மேம்படுத்தலாம், மேலும் அவற்றை மெஷின் லேர்னிங் அல்லது விஷுவல் எஃபெக்ட்ஸ் போன்ற கீழ்நிலைப் பயன்பாடுகளில் மேலும் தகவலறிந்ததாகவும் பயனுள்ளதாகவும் மாற்றலாம். ஒரு சிக்கலைத் தீர்ப்பது மட்டுமல்ல, 3D சொத்துக்களை நிர்வகிப்பதற்கான வளமான சாத்தியக்கூறுகளுக்கான கதவுகளைத் திறப்பதே குறிக்கோள். 🚀

USD கோப்புகளில் இருந்து புள்ளிகளைப் பிரித்தெடுப்பது பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. நோக்கம் என்ன Usd.Stage.Open?
  2. Usd.Stage.Open USD கோப்பை நினைவகத்தில் ஏற்றுகிறது, இது காட்சி வரைபடத்தின் பயணத்தையும் கையாளுதலையும் அனுமதிக்கிறது.
  3. பிரித்தெடுக்கப்பட்ட செங்குத்துகளில் விடுபட்ட Z-மதிப்புகளை நான் எவ்வாறு கையாள்வது?
  4. போன்ற கட்டளைகளைப் பயன்படுத்தி மெஷின் அனைத்து பண்புக்கூறுகளையும் சரியாக அணுகுவதை உறுதிசெய்யவும் UsdGeom.Mesh(prim).GetPointsAttr().Get(). மேலும், மூல USD கோப்பின் நேர்மையை சரிபார்க்கவும்.
  5. பயன்படுத்துவதால் என்ன நன்மை plyfile PLY மாற்றத்திற்காகவா?
  6. தி plyfile நூலகம் கட்டமைக்கப்பட்ட PLY கோப்புகளை உருவாக்குவதை எளிதாக்குகிறது, இது புள்ளி கிளவுட் தரவுக்கான தரப்படுத்தப்பட்ட வெளியீடுகளை உருவாக்குவதை எளிதாக்குகிறது.
  7. இந்த ஸ்கிரிப்ட்களை நான் AWS லாம்ப்டாவில் பயன்படுத்தலாமா?
  8. ஆம், ஸ்கிரிப்டுகள் இலகுரக நூலகங்களைப் பயன்படுத்த வடிவமைக்கப்பட்டுள்ளன மற்றும் AWS Lambda போன்ற சேவையகமற்ற சூழல்களுடன் முழுமையாக இணக்கமாக உள்ளன.
  9. உருவாக்கப்பட்ட PLY அல்லது LAS கோப்புகளை எவ்வாறு சரிபார்க்கலாம்?
  10. Meshlab அல்லது CloudCompare போன்ற காட்சிப்படுத்தல் கருவிகளைப் பயன்படுத்தவும் அல்லது போன்ற கட்டளைகளுடன் அலகு சோதனைகளை ஒருங்கிணைக்கவும் os.path.exists கோப்புகள் சரியாக உருவாக்கப்படுவதை உறுதி செய்ய.

வெர்டெக்ஸ் பிரித்தெடுத்தல் மற்றும் மாற்றம் பற்றிய இறுதி எண்ணங்கள்

3D பணிப்பாய்வுகளில் USD கோப்புகளிலிருந்து செங்குத்துகளை துல்லியமாக பிரித்தெடுப்பது ஒரு பொதுவான சவாலாகும். உகந்த பைதான் ஸ்கிரிப்டுகள் மூலம், வெளிப்புறக் கருவிகளை நம்பாமல் புள்ளி மேகங்களை உருவாக்குவது அல்லது PLY போன்ற வடிவங்களுக்கு மாற்றுவது போன்ற பணிகளை நீங்கள் திறமையாக நிர்வகிக்கலாம். இந்த முறைகள் கிளவுட் சூழல்களுக்கு அளவிடக்கூடியவை. 🌐

இந்த செயல்முறைகளை தானியக்கமாக்குவதன் மூலம், நீங்கள் நேரத்தைச் சேமிக்கிறீர்கள் மற்றும் உங்கள் வெளியீடுகளில் நிலைத்தன்மையை உறுதிப்படுத்துகிறீர்கள். நீங்கள் AWS Lambda உடன் பணிபுரிந்தாலும் அல்லது பெரிய தரவுத்தொகுப்புகளைத் தயாரித்தாலும், இந்தத் தீர்வுகள் புதுமை மற்றும் செயல்திறனுக்கான சாத்தியங்களைத் திறக்கும். இந்த நுட்பங்களில் தேர்ச்சி பெறுவது 3D தரவை நிர்வகிப்பதில் உங்களுக்கு போட்டித்தன்மையை வழங்கும். 🔧

3D தரவு பிரித்தெடுப்புக்கான ஆதாரங்கள் மற்றும் குறிப்புகள்
  1. USD கோப்புகளிலிருந்து செங்குத்துகளை பிரித்தெடுத்தல் மற்றும் பைதான் பயன்பாடு பற்றிய தகவல்கள் அதிகாரப்பூர்வ Pixar USD ஆவணத்தின் அடிப்படையில் அமைந்தன. மேலும் விவரங்களுக்கு, அதிகாரப்பூர்வ ஆதாரத்தைப் பார்வையிடவும்: Pixar USD ஆவணம் .
  2. கோப்புகளை PLY வடிவத்திற்கு மாற்றுவது பற்றிய விவரங்கள் பயன்பாட்டு வழிகாட்டியில் இருந்து மாற்றியமைக்கப்பட்டது பிளைஃபைல் பைதான் நூலகம் , கட்டமைக்கப்பட்ட புள்ளி கிளவுட் தரவு உருவாக்கத்தை ஆதரிக்கிறது.
  3. AWS லாம்ப்டா கட்டுப்பாடுகளுடன் பணிபுரிவதற்கான வழிகாட்டுதல்கள் சிறந்த நடைமுறைகளால் ஈர்க்கப்பட்டன. AWS லாம்ப்டா டெவலப்பர் கையேடு .
  4. 3D பணிப்பாய்வுகள் மற்றும் கோப்பு கையாளுதல் நுட்பங்கள் பற்றிய கூடுதல் நுண்ணறிவு இதிலிருந்து பெறப்பட்டது க்ரோனோஸ் குழு USD வளங்கள் , இது தொழில்-தரமான பரிந்துரைகளை வழங்குகிறது.