سلام، لطفا وارد شوید یا عضو شوید.

نویسنده موضوع: رسم خط انحنادار  (دفعات بازدید: 5328 بار)

آفلاین hamed89

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 15
  • -دریافت شده: 1
  • ارسال: 65
    • ديدن مشخصات
رسم خط انحنادار
« : ژوئیه 25, 2014, 08:36:33 am »
سلام..من میخواستم یههمچیم شکلی رو با لاتکس رسم کنم...تا حالا با رسم شکل تو لاتکس کار نکردم...کسی می دونه این شکلو چطور میشه رسم کرد؟
عکس رو ضمیمه کردم

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #1 : ژوئیه 25, 2014, 01:14:44 pm »
با سلام
من یک چیزی شبیه به همان که می خواستید رسم کردم.
یکم اعداد را دستکاری کنید دقیقا همون شکلی می شه که می خواستید. فقط چند نکته:

نکته اول: شکل خواسته شده را با بسته tikz‌ در latex کشیده شده است.

نکته دوم: برای رسم منحنی از دستور زیر استفاده شده است.
\draw [xshift=4cm,-latex] plot [smooth] coordinates { (0,0) (1,1) (3,1.1) (4.5,2.6)};
در حقیقت چهار نقطه تعیین شده است و بین هر دو نقطه یک منحنی اتصال داده شده است. لازم به ذکر است که این تعداد می تواند بیشتر هم باشد.

نکته سوم: برای رسم بیضی از دستور زیر استفاده شده است.
\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above=10pt,xshift=-3mm]{$dS_{1}$};
در این دستور عبارت یک بیضی به مرکز
(4.8,-2.3)
و قطرهای .1 و .3 سانتی متر رسم شده است. در ضمن rotate بیضی را به اندازه ۴۰ درجه می چرخاند. شما با تنظیم این این ۵ متغیر می‌توانید دقیقا بیضی خود را بین دو منحنی قرار دهید. البته برای این کار روش های بهتری هم ممکن است وجود داشته باشد، ولی این روش ساده و قابل فهم‌تر است.
دستور node که در ادامه آمده یک عبارت در بالای بیضی ها می نویسد همان عبارت dS_1
به دلیل این که مکان عبارتی که توسط دستور node در بالای شکل قرار داده می شود، ممکن است مناسب نباشد، می توانید با دستورات
xshift و yshift
مکان عبارت وارد شده را به دلخواه تغییر دهید. مثلا:
\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above,yshift=3mm,xshift=-3mm]{$dS_{1}$};

نکته چهارم: در کل tikz بسته بسیار قوی برای رسم اشکال و توابع است. برای یادگیری tikz بهترین راه این است که راهنمای ان را قدم به قدم بخوانید و مثال‌های آن را حل کنید. راهنمای این بسته را می‌توانید از پیوند زیر دانلود کنید.
pgf – Create PostScript and PDF graphics in TEX
سبک  راهنمای tikz این گونه است که کار را با چند مثال آغاز می کند و سعی می کند قدم به قدم خواننده را با دستورات tikz آشنا سازد. در ضمن تعداد بسیار زیادی مثال با tikz در سایت زیر به همراه کد آن وجود دارد که شما می‌توانید به اشکال آن نگاه کنید و شکل های مد نظر خود را با تغییر اندکی ایجاد نمایید.
TikZ and PGF examples
یک راه دیگر جستجو در اینترنت هست. برای مثال من نمی دانم که در tikz چگونه یک بیضی رسم کنم، به سادگی فقط کافی است عبارت
ellipse tikz latex
را در گوگل جستجو کنید در چند صفحه اول یک عالمه آدم هستند که سوال مشابه با سوال شما در رسم بیضی را داشتند و به آن ها قبلا پاسخ داده شده است.

نکته پنجم: در کل اگر زمان بگذارید و گام به گام سعی کنید اشکال خود را هرجوری شده با tikz بکشید (گرچه اولش بسیار دشوار است)، ولی به مرور به ارزش، کیفیت بسیار بالا، راحتی کار با آن و مفید بودن آن پی خواهید برد.
باتشکر
« آخرين ويرايش: ژوئیه 25, 2014, 01:32:26 pm توسط ابوالفضل دیانت »

آفلاین hamed89

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 15
  • -دریافت شده: 1
  • ارسال: 65
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #2 : ژوئیه 25, 2014, 07:17:48 pm »
با سلام
من یک چیزی شبیه به همان که می خواستید رسم کردم.
یکم اعداد را دستکاری کنید دقیقا همون شکلی می شه که می خواستید. فقط چند نکته:

نکته اول: شکل خواسته شده را با بسته tikz‌ در latex کشیده شده است.

نکته دوم: برای رسم منحنی از دستور زیر استفاده شده است.
\draw [xshift=4cm,-latex] plot [smooth] coordinates { (0,0) (1,1) (3,1.1) (4.5,2.6)};
در حقیقت چهار نقطه تعیین شده است و بین هر دو نقطه یک منحنی اتصال داده شده است. لازم به ذکر است که این تعداد می تواند بیشتر هم باشد.

نکته سوم: برای رسم بیضی از دستور زیر استفاده شده است.
\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above=10pt,xshift=-3mm]{$dS_{1}$};
در این دستور عبارت یک بیضی به مرکز
(4.8,-2.3)
و قطرهای .1 و .3 سانتی متر رسم شده است. در ضمن rotate بیضی را به اندازه ۴۰ درجه می چرخاند. شما با تنظیم این این ۵ متغیر می‌توانید دقیقا بیضی خود را بین دو منحنی قرار دهید. البته برای این کار روش های بهتری هم ممکن است وجود داشته باشد، ولی این روش ساده و قابل فهم‌تر است.
دستور node که در ادامه آمده یک عبارت در بالای بیضی ها می نویسد همان عبارت dS_1
به دلیل این که مکان عبارتی که توسط دستور node در بالای شکل قرار داده می شود، ممکن است مناسب نباشد، می توانید با دستورات
xshift و yshift
مکان عبارت وارد شده را به دلخواه تغییر دهید. مثلا:
\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above,yshift=3mm,xshift=-3mm]{$dS_{1}$};

نکته چهارم: در کل tikz بسته بسیار قوی برای رسم اشکال و توابع است. برای یادگیری tikz بهترین راه این است که راهنمای ان را قدم به قدم بخوانید و مثال‌های آن را حل کنید. راهنمای این بسته را می‌توانید از پیوند زیر دانلود کنید.
pgf – Create PostScript and PDF graphics in TEX
سبک  راهنمای tikz این گونه است که کار را با چند مثال آغاز می کند و سعی می کند قدم به قدم خواننده را با دستورات tikz آشنا سازد. در ضمن تعداد بسیار زیادی مثال با tikz در سایت زیر به همراه کد آن وجود دارد که شما می‌توانید به اشکال آن نگاه کنید و شکل های مد نظر خود را با تغییر اندکی ایجاد نمایید.
TikZ and PGF examples
یک راه دیگر جستجو در اینترنت هست. برای مثال من نمی دانم که در tikz چگونه یک بیضی رسم کنم، به سادگی فقط کافی است عبارت
ellipse tikz latex
را در گوگل جستجو کنید در چند صفحه اول یک عالمه آدم هستند که سوال مشابه با سوال شما در رسم بیضی را داشتند و به آن ها قبلا پاسخ داده شده است.

نکته پنجم: در کل اگر زمان بگذارید و گام به گام سعی کنید اشکال خود را هرجوری شده با tikz بکشید (گرچه اولش بسیار دشوار است)، ولی به مرور به ارزش، کیفیت بسیار بالا، راحتی کار با آن و مفید بودن آن پی خواهید برد.
باتشکر

ممنووون خیلی لطف کردین...الان بسته ی tikz رو پیوست کردین؟

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #3 : ژوئیه 25, 2014, 07:22:54 pm »
با سلام
بسته tikz به صورت استاندارد در TexLive قرار دارد.
باتشکر

آفلاین hamed89

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 15
  • -دریافت شده: 1
  • ارسال: 65
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #4 : ژوئیه 25, 2014, 07:37:19 pm »
با سلام
بسته tikz به صورت استاندارد در TexLive قرار دارد.
باتشکر

یعنی به این صورت؟

\usepackage{tikz}\draw [xshift=4cm,-latex] plot [smooth] coordinates { (0,0) (1,1) (3,1.1) (4.5,2.6)};\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above=10pt,xshift=-3mm]{$dS_{1}$};

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #5 : ژوئیه 25, 2014, 08:16:10 pm »
با سلام
بله
یک مثال نمونه در همان پست قبلی گذاشتم.
باتشکر

آفلاین hamed89

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 15
  • -دریافت شده: 1
  • ارسال: 65
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #6 : ژوئیه 27, 2014, 01:14:20 am »
با سلام
بله
یک مثال نمونه در همان پست قبلی گذاشتم.
باتشکر


سلام...مهندس جان من دو خط کد اول از اولین پست که برام گذاشتید رو به صورت زیر گذاشتم و اجرا کردم ولی شکلی نکشید...نمیدونم کجا دارم اشتباه میکنم...بسته ی kitz رو هم دارم:

\draw [xshift=4cm,-latex] plot [smooth] coordinates { (0,0) (1,1) (3,1.1) (4.5,2.6)};\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above=10pt,xshift=-3mm]{$dS_{1}$};

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #7 : ژوئیه 27, 2014, 01:29:38 am »
با سلام
می توانید یک مثال نمونه از کار خود برایم بفرستید.
فایل tex به همراه فایل log .
باتشکر

آفلاین hamed89

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 15
  • -دریافت شده: 1
  • ارسال: 65
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #8 : ژوئیه 27, 2014, 01:43:17 am »
با سلام
می توانید یک مثال نمونه از کار خود برایم بفرستید.
فایل tex به همراه فایل log .
باتشکر

کل پکیجی که استفاده میکنم با اون دوخط رو فرستادم.. اگر اجراش کنید دقیقا همونی رو نشون می ده که واسه من نشون میده... یه سری مستطیل کوچیک تو خالی

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #9 : ژوئیه 27, 2014, 02:11:40 am »
با سلام
نکته اول: همین طوری با قرار دادن دو خط نمی‌توانید نمودار را رسم کنید، حتما باید آن ها را در محیط tikzpicture قرار دهید یعنی:
\begin{tikzpicture}
\draw [xshift=4cm,-latex] plot [smooth] coordinates { (0,0) (1,1) (3,1.1) (4.5,2.6)};
\draw[rotate=40] (4.8,-2.3) ellipse (.1cm and .3cm)node[above=10pt,xshift=-3mm]{$dS_{1}$};
\end{tikzpicture}

نکته دوم: فایل شما اصلا خطا دارد، اولا چون یکسری بسته ها را بعد از xepersian فراخوانی کرده اید. نکته مهم این جا است که تمامی بسته ها باید قبل از xepersian‌ فراخوانی شود. پس دو خط
\usepackage{multirow}
\usepackage{rotating}
را به قبل از خط
\usepackage{xepersian}
انتقال دهید.

نکته سوم: شما باید هر بسته را فقط و فقط یک بار فراخوانی کنید. مثلا شما بسته hyperref را دوبار فراخوانی کرده اید. دقت کنید:
\usepackage[pagebackref=false,colorlinks,linkcolor=blue,citecolor=magenta]{hyperref}
\usepackage{graphicx} % inserting images
\usepackage{hyperref} % PDF links

نکته چهارم: دستور \DefaultMathsDigits برای این است که اعداد فارسی در فرمول ها انگلیسی شود، این یک دستور xepersian‌است، پس قاعدتا باید اول xepersian را فراخوانی کنید، بعد از این دستور استفاده کنید. پس یعنی:
\usepackage{xepersian}
\DefaultMathsDigits
همین نکته را در مورد دستورات settextfont نیز دقت کنید، چرا که این دستورات نیز دستورات xepersian است و حتما باید بعد از فراخوانی این بسته آورده شود، که البته شما در این مورد این مطلب را رعایت کرده اید.

نکته پنجم: شما خیلی بسته هایی را وارد کرده اید که واقعا به نظرم از آن استفاده نخواهید کرد، پس هر بسته ای را تا لازم ندارید وارد نکنید. مثل:
\usepackage{subfig}
\usepackage{subfloat}
\usepackage{subfigure}
که احتمالا این بسته ها را برای این وارد کرده اید، که دو شکل را در کنار هم بگذارید، خوب خیلی راحت این کار را می توانستید با caption‌ و subcaption‌ انجام دهید. قسمت Subfloats لینک زیر را مطالعه کنید.
LaTeX/Floats, Figures and Captions
یا مثلا من بعید می دانم شما از بسته epstopdf استفاده کنید.


نکته ششم: اگر در کامپایل کردن خطایی از شما Latex می گیرد به آن توجه کنید و سعی کنید آن را رفع کنید.

نکته هفتم: بسته hyperref‌ می بایست جزو آخرین بسته های وارد شده باشد البته باز قبل از xepersian یعنی:
\usepackage[pagebackref=false,colorlinks,linkcolor=blue,citecolor=magenta]{hyperref}
\usepackage{xepersian}

نکته هشتم:  اکنون شما باید فایل پیوست شده را با موفقیت کامپایل کنید، اگر با موفقیت نمی توانید همین فایل اتچ شده را کامپایل کنید حتما فایل log‌ را برایمان بفرستید.

نکته نهم: سعی کنید جاهایی را که کامنت کردم کم کم بر دارید و هر جا با خطا در کامپایل مواجه شدید بفهمید خطا برای چیست
باتشکر
« آخرين ويرايش: ژوئیه 27, 2014, 02:17:32 am توسط ابوالفضل دیانت »

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #10 : ژوئیه 27, 2014, 02:19:54 am »
با سلام
در ادامه پست قبلی:
نکته دهم: من الان فایل log شما را نگاه کردم Texlive شما قدیمی است ۲۰۱۲ است، در ضمن بسته ها نیز بسیار بسیار قدیمی است. احتمالا بعدها به مشکلات بسیار برخورد کنید. لطفا TexLive 2014 را نصب کنید و بسته های آن را نیز بروز کنید. این نکته را حتما دقت کنید چون فوقق العاده مهم است.

آفلاین hamed89

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 15
  • -دریافت شده: 1
  • ارسال: 65
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #11 : ژوئیه 27, 2014, 03:05:51 am »
با سلام
در ادامه پست قبلی:
نکته دهم: من الان فایل log شما را نگاه کردم Texlive شما قدیمی است ۲۰۱۲ است، در ضمن بسته ها نیز بسیار بسیار قدیمی است. احتمالا بعدها به مشکلات بسیار برخورد کنید. لطفا TexLive 2014 را نصب کنید و بسته های آن را نیز بروز کنید. این نکته را حتما دقت کنید چون فوقق العاده مهم است.

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

آفلاین ابوالفضل دیانت

  • همکاران
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 192
  • -دریافت شده: 271
  • ارسال: 812
    • ديدن مشخصات
پاسخ : رسم خط انحنادار
« پاسخ #12 : ژوئیه 27, 2014, 03:32:54 am »
با سلام
کافی است که اون محیط tikzpicture‌ را در یک محیط figure بگذارید تا ضمن آوردن وسط بتوانید caption‌هم بزنید، یعنی:
\begin{figure}
\centering
\begin{tikzpicture}
...................................
...................................
\end{tikzpicture}
\caption{....................}
\label{.........................}
\end{figure}
اون دستور \centering موجب می شود که شکل وسط بیاید.

نکته: موردی که در مورد Texlive 2014 و بروزرسانی آن گفته شد را حتما انجام دهید چون اگر این کار را نکنید در ادامه راه خیلی اذیت می شوید.
باتشکر