مشاهده نسخه کامل
: رسم توابع مثلثاتی در #C
anahitat
07-04-2013, 17:41
باسلام،
پروژه ای دارم که می خواهم در یک ماشین حساب مهندسی با visual studio 2010 توابع مثلثاتی با آرک آنها را رسم کنم یعنی مثلا دو نقطه پی دوم و دو پی را بدهم و ماشین حساب تابع سینوس و .... را در بازه مورد نظر رسم کند آیا می توانید راهنماییم کنید؟
با تشکر
یعنی تابع رو خودتون میخوایید به ماشین حساب بدید؟ مثلا یوزر بنویسه Sin(x^2)+4x ؟
در این صورت میتونید از کلاس Regex کمک بگیرید برای جایگذاری مقادیر بجای x و برای بازه مورد نظر از دستور for استفاده کنید که از کران راست بازه تا کران چپ اون هی مقادیر مختلف بذاره(بسته به اندازه دقت مورد نیاز) و تمام نقاط حاصل رو رسم کنه.
anahitat
16-04-2013, 20:30
نه منظورم این ابن بود که به ماشین حساب بدم (Sin(p/4.2p و ماشین حساب تابع را از نقطه p/4 تا 2p رسم کند؟ آیا با کلاس math می توانم رسم کنم؟
خیر، تا اونجایی که من میدونم خود #c همچین کاری انجام نمیده، باید خودتون یک کلاس برای اینکار ایجاد کنید، که من به کمک قابلیت Regex چنین کاری کردم ولی خوب هنوز کار داشت. در ضمن اینجا سوال بپرسید سریع تر جواب میگیرید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
البته راه حل های بسیار کامل تر و جالب تری هم برای این کار وجود دارد، اگر همچنان به جواب نرسیده اید (با توجه به گذشت زمان) بفرمائید تا توضیح بیشتری بدهم.
خوب اون چیه ما هم استفاده میکنیم؟:n02:
سلام
(((
ریاضیات از موارد مورد علاقه ام است
و بارها و بارها و بارها از اولین روزهای برنامه نویسی روی مطالبی مانند عملیات ماتریس ها، رسم فراکتال ، مختصات قطبی، انواع محاسبات ، شبیه سازی قوانین و فرمول های فیزیکی و البته رسم نمودار فکر کرده ام و فقط برای علاقه و تفریح شخصی کارهایی انجام دادم...
)))
برای رسم نمودار، خوشبختانه امکان بسیار قدرمتدی در دات نت وجود دارد که کامپایل در زمان اجرا است.
به این معنی که شما میتوانید یک کد #C را از یک TextBox گرفته و کامپایل و اجرا کنید.
یعنی فرمول تابع شما کافی است از قوانین نگارشی #C یا VB.Net تبعیت کند.
(معمولاً برای این موارد VB.Net بهتر است چون حداقل حساس به بزرگی و کوچکی حروف نیست و Sin و sin و SIN در VB.Net یکی هستند و کاربر با وارد کردن تابعش راحت تر است.)
این دست شما را خیلی باز میگذارد، قدرت و سینتکس کامل یک زبان بزرگی مثل VB.Net یا #C را در اختیارتان قرار میدهد.
میتوانید فرمول هایی با پیچیدگی نامحدود را رسم کنید.
ولی قبول کنید که گاهاً زیبا ترین فرمول ها ساده ترین آنها هستند:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نمونه سورس کامپایل زمان اجرا کدها:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بعد از فرمول و کامپایل میرسیم به ترسیم که شاید از بهترین راه هایش تولید یک فایل تصویر در RAM و سپس تنظیم پیکسلی رنگ نقطه مورد نظر است:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
(((
ربطی به بحث جاری ندارد ولی حیفم آمد یک تصویر بسیار کوچک از دنیای نامتنهاهی و بینهایت زیبایی فراکتال را هم ضمیمه نکنم:
(که از یک برنامه کوچک خودم خروجی گرفتم)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
)))
موفق باشید.
خیلی جالبه، عکسا عالی هستن مخصوصا آخری. در مورد runtime compiler (اگه درست نوشته باشم) چیزی نشنیده بودم، خیلی پر کاربرد میتونه باشه:n20:.
توی گوگل در موردش میخونم شما هم اگه سایتی برای آموزشش میدونید لطف کنید بذارید، ممنون میشم:n26:.
از نمونه برنامه ای که گذاشتید سر در نیاوردم:n02:.
-----------------------------------------------------------
چند هفته قبل که میخواستم ماشین حساب بنویسم (چند روز قبل از اینکه دوستمون این تاپیک رو ایجاد کنه) توی سایت ها که گشت میزدم همه در مورد کلاس regex و اینکه سی شارپ نمیتونه یک متن ریاضی رو کامپایل کنه نوشته بودن، با زحمت یه قسمت رسم برای ماشین حساب گذاشتم:n29:
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.