لگو وب سایت هوشمندان
جستجو

نمایش متن با استفاده از پایتون و کتابخانه VTK

معرفی VTK

VTK خلاصه شده VisualizationToolKit یک سیستم نرم افزاری متن باز (open-source)، قابل حمل (WinTel/Unix) و شی گرا بوده که در گرافیک کامپیوتری سه بعدی، پردازش تصویر و تجسم داده ها مورد استفاده قرار می گیرد. هسته این کتابخانه به زبان C++ نوشته شده اما با استفاده از Tcl, Python و Java نیز می توان از آن استفاده کرد.

برای استفاده از این کتابخانه در زبان برنامه نویسی پایتون باید ابتدا آن را با استفاده از pip نصب کنیم. پس دستور زیر را ابتدا اجرا می کنیم:

pip install vtk

چون VTK از OpenGl برای کشیدن اشکال مختلف استفاده می کند بهتر است این کتابخانه زبان برنامه نویسی را نیز با استفاده از pip نصب کنید. در مثال زیر به صورت گام به گام مراحل مختلفی که برای نمایش یک متن ساده توسط این کتابخانه زبان برنامه نویسی لازم است، بررسی می کنیم.

نمایش متن با استفاده از VTK

حال برای استفاده از کتابخانه زبان برنامه نویسی فوق ابتدا آن را وارد می کنیم:

import vtk

ابتدا یک شی از کلاس Renderer را برای کشیدن متن موردنظر ایجاد می کنیم.

ren = vtk.vtkRenderer()

در مرحله بعد باید یک پنجره گرافیکی ایجاد کنیم تا خروجی در آن نمایش داده شود. نام پنجره را renWin قرار داده و شی ایجاد شده در مرحله قبل را به آن اضافه می کنیم.

renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)

برای کنترل دوربین با استفاده از ماوس از کلاس Interactor استفاده می کنیم. به این صورت که ابتدا یکی شی از آن کلاس ایجاد و سپس شی فوق را در پنجره ایجاد شده اضافه می کنیم:

iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)

 

حال یک متن برای نمایش ایجاد می کنیم:

text = vtk.vtkVectorText()
text.SetText("Hello VTK!")

در قسمت SetText می توان متن را به دلخواه وارد کرد. برای نمایش متن به صورت یک شی گرافیکی ابتدا باید با استفاده از کلاس DataMapper نحوه ارتباط برای دریافت داده های ورودی را تنظیم کنیم:  

textMapper = vtk.vtkPolyDataMapper()
textMapper.SetInputConnection(text.GetOutputPort())

سپس با استفاده از کلاس Actor که برای نمایش اشیا استفاده می شود متن فوق را نمایش می دهیم. نهایتا متن رابه شی ren برای نمایش در پنجره ایجاد شده اضافه می کنیم:

textActor = vtk.vtkActor()
textActor.SetMapper(textMapper)
ren.AddActor(textActor)

برای شروع به کار پنجره از دستور زیر استفاده می کنیم:

renWin.Initialize()
ren.ResetCamera()
ren.GetActiveCamera().SetViewAngle(30)

و نهایتاً برای نمایش خروجی از دستور زیر استفاده می کنیم:

iren.Start()

بعد از اجرای کدهای فوق نتیجه خروجی به صورت زیر خواهد بود:

حال با استفاده از ماوس قادر خواهیم بود متن فوق را در جهت های مختلف درون داده، و موقعیت دوربین را تغییر دهیم. اگر کلید Ctrl را نگه داریم جهت حرکت دوربین تغییر خواهد کرد. این کار را نیز می توان با ثابت نگه داشتن کلیدهای Alt و Shift نیز تکرار کرد. در این حالت متوجه خواهید شد که وضعیت حرکت دوربین باز تغییر خواهد کرد.

کد کامل برنامه فوق به صورت زیر است:

# This programm show a simple text with Python VTK
# By Ramin Hosseini.

import vtk
 
# Declare a VTK rendering process
ren = vtk.vtkRenderer()
 
# Use the following line to render to a Looking Glass display:  
renWin = vtk.vtkRenderWindow()

# Add the rendering process to the window
renWin.AddRenderer(ren)
 
# The mouse controls the position of the camera
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
 
# Add some text to the display
text = vtk.vtkVectorText()
text.SetText("Hello VTK!")
textMapper = vtk.vtkPolyDataMapper()
textMapper.SetInputConnection(text.GetOutputPort())
textActor = vtk.vtkActor()
textActor.SetMapper(textMapper)
ren.AddActor(textActor)
 
 
# Initialize the window
renWin.Initialize()
ren.ResetCamera()
ren.GetActiveCamera().SetViewAngle(30)
 
# The mouse controls the camera until "q" is pressed to exit
iren.Start()

سخن پایانی

امروزه برنامه نویسی یک کارآفرینی است و افراد زیادی را به خود علاقه مند کرده است. بنابراین آموزش و معرفی زبان های برنامه نویسی را  به یک ضرورت تبدیل کرده است. اگر شما با بهترین زبان های برنامه نویسی آشنا باشید می توانید آگاهانه انتخاب کنید. هنگامی که تصمیم گرفتید یادگیری زبان های برنامه نویسی را آغاز کنید بهتر است با اصطلاحات و مفهوم های مهمی از جمله کتابخانه های زبان برنامه نویسی آشنا شوید. به طور مثال می توانید از کتابخانه های زبان برنامه نویسی جاوا و کتابخانه های زبان برنامه نویسی پایتون شروع کنید. همچنین در پایان آموزش برنامه نویسی پایتون را به شما پیشنهاد می کنیم. 

داستان عجیب دو تریدر برتر تاریخ که شما را شوکه میکندبهترین از نظر کاربران
داستان عجیب دو تریدر برتر ...
چرا باید یک عکاس شویمآخرین پست
چرا باید یک عکاس شویم