קובץ:Hermite-Gaussian modes.svg
תוכן הדף אינו נתמך בשפות אחרות.
מראה
מתוך ויקיפדיה, האנציקלופדיה החופשית
גודל התצוגה המקדימה הזאת מסוג PNG של קובץ ה־SVG הזה: 800 × 600 פיקסלים. רזולוציות אחרות: 320 × 240 פיקסלים | 640 × 480 פיקסלים | 1,024 × 768 פיקסלים | 1,280 × 960 פיקסלים | 2,560 × 1,920 פיקסלים | 1,600 × 1,200 פיקסלים.
לקובץ המקורי (קובץ SVG, הגודל המקורי: 1,600 × 1,200 פיקסלים, גודל הקובץ: 117 ק"ב)
זהו קובץ שמקורו במיזם ויקישיתוף. תיאורו בדף תיאור הקובץ המקורי (בעברית) מוצג למטה. |
תקציר
תיאורHermite-Gaussian modes.svg |
English: Hermite-Gaussian transverse modes of a laser beam. Diagram generated with C++ program:
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <vector>
#include <fstream>
using namespace std;
const int MAXHERMITES = 10;
const int SIZE = 400;
const int X = 4;
const int Y = 3;
const long double W = 80;
int hermites[MAXHERMITES][MAXHERMITES];
long double hermite(long double x, int n) {
if(n < 0 || n > MAXHERMITES) {
cout << "Warning: Hermite polynomial not computed for degree " << n << "." << endl;
return 0;
}
long double h = 0;
for(int i=0; i<=n; i++) {
h += pow(x,i)*hermites[n][i];
}
return h;
}
long double I(long double x, int n) {
return pow(hermite(sqrt(2)*x/W, n)*exp(-x*x/W/W),2);
}
void svg() {
char filename[200];
sprintf(filename, "hermites.svg");
fstream fout(filename, fstream::out);
fout << "<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='" << X*SIZE << "px' height='" << Y*SIZE << "px'>" << endl;
fout << "<defs>" << endl;
for(int i=0; i<X; i++) {
fout << "<linearGradient id='grad" << i << "' x1='0%' y1='0%' x2='100%' y2='0%'>" << endl;
long double intensities[SIZE], maxintensity = 0;
for(int j=0; j<SIZE; j++) {
intensities[j] = I(j-SIZE/2, i);
if(intensities[j] > maxintensity) maxintensity = intensities[j];
}
for(int j=0; j<SIZE; j++) {
fout << fixed << setprecision(4) << "<stop offset='" << j*100.0L/SIZE << "\%' style='stop-color:#000; stop-opacity:" << 1-intensities[j]/maxintensity << ";' />" << endl;
}
fout << "</linearGradient>" << endl;
}
fout << "</defs>" << endl;
//fout << "<rect x='0' y='0' height='1024' width='1024' fill='url(#grad4)' />" << endl;
for(int x=0; x<X; x++) {
for(int y=0; y<Y; y++) {
fout << "<rect x='0' y='0' width='" << SIZE << "' height='" << SIZE << "' fill='url(#grad" << x << ")' transform='matrix(1,0,0,1," << x*SIZE << "," << y*SIZE << ")'/>" << endl;
fout << "<rect x='0' y='0' width='" << SIZE << "' height='" << SIZE << "' fill='url(#grad" << y << ")' transform='matrix(0,1,1,0," << x*SIZE << "," << y*SIZE << ")'/>" << endl;
}
}
fout << "</svg>" << endl;
}
void fillhermites() {
for(int i=1; i<MAXHERMITES; i++) {
hermites[0][i] = 0;
}
hermites[0][0] = 1;
for(int j=1; j<MAXHERMITES; j++) {
hermites[j][0] = 0;
for(int i=1; i<=MAXHERMITES; i++) { // up to j would suffice, but it's better to set higher coefficients to zero
hermites[j][i] = 2*hermites[j-1][i-1];
hermites[j][i-1] -= i*hermites[j-1][i];
}
}
return;
}
int main() {
fillhermites();
svg();
return 0;
}
|
תאריך יצירה | |
מקור | נוצר על־ידי מעלה היצירה |
יוצר | Dllu |
רישיון
אני, בעל זכויות היוצרים על עבודה זו, מפרסם בזאת את העבודה תחת הרישיון הבא:
הקובץ הזה מתפרסם לפי תנאי רישיון קריאייטיב קומונז ייחוס-שיתוף זהה 3.0 לא מותאם.
- הנכם רשאים:
- לשתף – להעתיק, להפיץ ולהעביר את העבודה
- לערבב בין עבודות – להתאים את העבודה
- תחת התנאים הבאים:
- ייחוס – יש לתת ייחוס הולם, לתת קישור לרישיון, ולציין אם נעשו שינויים. אפשר לעשות את זה בכל צורה סבירה, אבל לא בשום צורה שמשתמע ממנה שמעניק הרישיון תומך בך או בשימוש שלך.
- שיתוף זהה – אם תיצרו רמיקס, תשנו, או תבנו על החומר, חובה עליכם להפיץ את התרומות שלך לפי תנאי רישיון זהה או תואם למקור.
פריטים שמוצגים בקובץ הזה
מוצג
ערך כלשהו ללא פריט ויקינתונים
10 באפריל 2013
היסטוריית הקובץ
ניתן ללחוץ על תאריך/שעה כדי לראות את הקובץ כפי שנראה באותו זמן.
תאריך/שעה | תמונה ממוזערת | ממדים | משתמש | הערה | |
---|---|---|---|---|---|
נוכחית | 05:35, 11 באפריל 2013 | 1,200 × 1,600 (117 ק"ב) | Dllu | User created page with UploadWizard |
שימוש בקובץ
אין בוויקיפדיה דפים המשתמשים בקובץ זה.
מטא־נתונים
קובץ זה מכיל מידע נוסף, שכנראה הגיע ממצלמה דיגיטלית או מסורק שבהם הקובץ נוצר או עבר דיגיטציה.
אם הקובץ שונה ממצבו הראשוני, כמה מהנתונים להלן עלולים שלא לשקף באופן מלא את הקובץ הנוכחי.
רוחב | 1600px |
---|---|
גובה | 1200px |