Tập tin:Poincare-sphere stokes.svg
Tập tin gốc (tập tin SVG, 600×600 điểm ảnh trên danh nghĩa, kích thước: 4 kB)
Tập tin này từ Wikimedia Commons. Trang miêu tả nó ở đấy được sao chép dưới đây. Commons là kho lưu trữ tập tin phương tiện có giấy phép tự do. Bạn có thể tham gia. |
Miêu tả
Miêu tảPoincare-sphere stokes.svg |
English: Drawing of a Poincaré sphere, which illustrates the space of possible polarisations of electromagnetic waves. The sphere is drawn with three great circles and labels for six basic polarisations H (linear horizontal), V (linear vertical), D (linear diagonal), A (linear antidiagonal), R (right-hand circular) and L (left-hand circular). Additionally the coordinate system of Stokes vectors with components S₁, S₂ and S₃ is drawn in the center of the sphere.
Deutsch: Zeichnung einer Poincaré-Kugel, die den Raum der möglichen Polarisationen elektromagnetischer Wellen darstellt. Die Kugel ist mit drei Großkreisen gezeichnet und mit Zeichen für die sechs Basispolarisationen H (linear horizontal), V (linear vertikal), D (linear diagonal), A (linear antidiagonal), R (rechtshändig zirkular) and L (linkshändig zirkular). Zusätzlich befindet sich im Zentrum der Kugel das Koordinatensystem aus Stokesvektorkomponenten S₁, S₂ and S₃. |
Ngày | |
Nguồn gốc | Tác phẩm được tạo bởi người tải lên |
Tác giả | Geek3 |
Phiên bản khác | Poincare-sphere_arrows.svg (with additional small images of the polarisation vectors) |
Source Code
The image is created by the following source-code. Requirements:
python3 source code:
# -*- coding: utf-8 -*-
try:
import svgwrite as svg
except ImportError:
print('You need to install svgwrite: http://pypi.python.org/pypi/svgwrite/')
# documentation at http://pythonhosted.org/svgwrite/
exit(1)
from math import *
def to_xyz(theta, phi, r=1):
return r * sin(theta) * cos(phi), r * sin(theta) * sin(phi), r * cos(theta)
def to_theta_phi_r(x, y, z):
return atan2(z, sqrt(x**2 + y**2)), atan2(x, y), sqrt(x**2+y**2+z**2)
def rotx(x, y, z, a):
y, z = cos(a) * y + sin(a) * z, cos(a) * z - sin(a) * y
return x, y, z
def ellipse_path(theta, phi, tilt, flip=False):
t, p, r2 = to_theta_phi_r(*rotx(*(to_xyz(theta, phi, 1) + (tilt,))))
a = abs(r)
b = abs(r * sin(t))
return 'M %f,%f A %f,%f %f %i,%i %f,%f' % (-r*cos(p), -r*sin(p),
a, b, p*180/pi, 0, {True:1, False:0}[flip], r*cos(p), r*sin(p))
# document
size = 600, 600
doc = svg.Drawing('poincare-sphere_stokes.svg', profile='full', size=size)
doc.set_desc('poincare-sphere_stokes.svg', '''Drawing of a poincare-sphere with polarisations H, V, D, A, R and L, and a coordinate system of Stokes-Vectors S1, S2 and S3
rights: GNU Free Documentation license,
Creative Commons Attribution ShareAlike license''')
# settings
dash = '8,6'
col = 'black'
r = 240
tilt = radians(-70)
phi = radians(-25)
cp, sp = cos(phi), sin(phi)
# background
doc.add(doc.rect(id='background', profile='full', insert=(0, 0), size=size, fill='white', stroke='none'))
# arrow markers
arrow_d = 'M -4,0 L 2,-3 L 1,0 L 2,3 L -4,0 z'
arrow1 = doc.marker(id='arrow1', orient='auto', overflow='visible')
arrow1.add(doc.path(d=arrow_d, fill=col, stroke='none',
transform='rotate(180) scale(0.7)'))
doc.defs.add(arrow1)
arrow2 = doc.marker(id='arrow2', orient='auto', overflow='visible')
arrow2.add(doc.path(d=arrow_d, fill=col, stroke='none',
transform='scale(0.7)'))
doc.defs.add(arrow2)
arrow3 = doc.marker(id='arrow3', orient='auto', overflow='visible')
arrow3.add(doc.path(d='M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z', fill=col, stroke='none',
transform='scale(0.8) rotate(180)'))
doc.defs.add(arrow3)
# make a group for the sphere
sphere = doc.g(transform='translate(300, 300)', fill='none', stroke=col, stroke_width='2')
sphere['font-family'] = 'DejaVu Sans'
sphere['font-size'] = '42px'
doc.add(sphere)
# back ellipses
sphere.add(doc.path(d=ellipse_path(0, 0, tilt),
stroke_dasharray=dash, stroke=col))
sphere.add(doc.path(d=ellipse_path(pi/2, phi, tilt, True),
stroke_dasharray=dash, stroke=col))
sphere.add(doc.path(d=ellipse_path(pi/2, phi+pi/2, tilt),
stroke_dasharray=dash, stroke=col))
# draw coordinate axes
sphere.add(doc.circle(center=(0, 0), r=5, fill=col, stroke='none'))
for i in range(3):
xyz = [0, 0, 0]
xyz[i] = 0.3 * r
x, y, z = xyz
x, y, z = rotx(x*cp + y*sp, y*cp - x*sp, z, tilt)
line = doc.line(start=(0, 0), end=('%f' % x, '%f' % y), stroke=col)
line['marker-end'] = arrow3.get_funciri()
sphere.add(line)
# the six defined points
pts = []
for x,y,z in [[0,0,-1], [0,0,1], [0,-1,0], [0,1,0], [-1,0,0], [1,0,0]]:
x, y, z = rotx(r * (x*cp + y*sp), r * (y*cp - x*sp), r * z, tilt)
if z >= 0:
continue
pts.append((x, y))
sphere.add(doc.circle(center=('%f' % x, '%f' % y), r=6,
fill=col, stroke='none'))
# V label
sphere.add(doc.text('V', text_anchor='middle',
transform='translate(144, -86)', stroke='none', fill=col))
# Stokes-Vector labels
sphere.add(doc.text('P₁', text_anchor='middle',
transform='translate(-56, 33)', stroke='none', fill=col))
sphere.add(doc.text('P₂', text_anchor='middle',
transform='translate(63, -2)', stroke='none', fill=col))
sphere.add(doc.text('P₃', text_anchor='middle',
transform='translate(-29, -59)', stroke='none', fill=col))
# sphere surface
grad1 = doc.defs.add(doc.radialGradient(id='grad1',
center=(0.375, 0.15), r=0.75, gradientUnits='objectBoundingBox'))
grad1.add_stop_color(offset=0, color='#ffffff', opacity=0.3)
grad1.add_stop_color(offset=1, color='#dddddd', opacity=0.3)
sphere.add(doc.circle(center=(0, 0), r=str(r),
fill='url(#grad1)', stroke='none'))
grad2 = doc.defs.add(doc.radialGradient(id='grad2',
center=(0.45, 0.45), r=0.575, gradientUnits='objectBoundingBox'))
grad2.add_stop_color(offset=0.6, color='#cccccc', opacity=0)
grad2.add_stop_color(offset=0.8, color='#cccccc', opacity=0.2)
grad2.add_stop_color(offset=1, color='#333333', opacity=0.2)
sphere.add(doc.circle(center=(0, 0), r=str(r),
fill='url(#grad2)', stroke='none'))
# the six defined points
for x,y,z in [[0,0,-1], [0,0,1], [0,-1,0], [0,1,0], [-1,0,0], [1,0,0]]:
x, y, z = rotx(r * (x*cp + y*sp), r * (y*cp - x*sp), r * z, tilt)
if z < 0:
continue
pts.append((x, y))
sphere.add(doc.circle(center=('%f' % x, '%f' % y), r=6,
fill=col, stroke='none'))
# H, D, A, R, L labels
sphere.add(doc.text('H', text_anchor='middle',
transform='translate(-144, 115)', stroke='none', fill=col))
sphere.add(doc.text('D', text_anchor='middle',
transform='translate(272, 52)', stroke='none', fill=col))
sphere.add(doc.text('A', text_anchor='middle',
transform='translate(-272, -26)', stroke='none', fill=col))
sphere.add(doc.text('R', text_anchor='middle',
transform='translate(0, -261)', stroke='none', fill=col))
sphere.add(doc.text('L', text_anchor='middle',
transform='translate(0, 291)', stroke='none', fill=col))
# front ellipses
sphere.add(doc.path(d=ellipse_path(0, 0, tilt, True)))
sphere.add(doc.path(d=ellipse_path(pi/2, phi, tilt)))
sphere.add(doc.path(d=ellipse_path(pi/2, phi+pi/2, tilt, True)))
# circle edge
sphere.add(doc.circle(center=(0, 0), r=str(r)))
doc.save()
Giấy phép
Bạn có quyền sao chép, phân phối và/hoặc sửa đổi tài liệu này theo những điều khoản được quy định trong Giấy phép Tài liệu Tự do GNU, phiên bản 1.2 hoặc các phiên bản mới hơn được Quỹ Phần mềm Tự do; quy định; ngoại trừ những phần không được sửa đổi, bìa trước và bìa sau. Bạn có thể xem giấy phép nói trên ở phần Giấy phép Tài liệu Tự do GNU.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
- Bạn được phép:
- chia sẻ – sao chép, phân phối và chuyển giao tác phẩm
- pha trộn – để chuyển thể tác phẩm
- Theo các điều kiện sau:
- ghi công – Bạn phải ghi lại tác giả và nguồn, liên kết đến giấy phép, và các thay đổi đã được thực hiện, nếu có. Bạn có thể làm các điều trên bằng bất kỳ cách hợp lý nào, miễn sao không ám chỉ rằng người cho giấy phép ủng hộ bạn hay việc sử dụng của bạn.
Ảnh này đã được xem xét dựa trên Tiêu chuẩn hình ảnh và được đánh giá là một hình ảnh chất lượng.
العربية ∙ جازايرية ∙ беларуская ∙ беларуская (тарашкевіца) ∙ български ∙ বাংলা ∙ català ∙ čeština ∙ Cymraeg ∙ Deutsch ∙ Schweizer Hochdeutsch ∙ Zazaki ∙ Ελληνικά ∙ English ∙ Esperanto ∙ español ∙ eesti ∙ euskara ∙ فارسی ∙ suomi ∙ français ∙ galego ∙ עברית ∙ हिन्दी ∙ hrvatski ∙ magyar ∙ հայերեն ∙ Bahasa Indonesia ∙ italiano ∙ 日本語 ∙ Jawa ∙ ქართული ∙ 한국어 ∙ kurdî ∙ Lëtzebuergesch ∙ lietuvių ∙ македонски ∙ മലയാളം ∙ मराठी ∙ Bahasa Melayu ∙ Nederlands ∙ Norfuk / Pitkern ∙ polski ∙ português ∙ português do Brasil ∙ rumantsch ∙ română ∙ русский ∙ sicilianu ∙ slovenčina ∙ slovenščina ∙ shqip ∙ српски / srpski ∙ svenska ∙ தமிழ் ∙ తెలుగు ∙ ไทย ∙ Tagalog ∙ toki pona ∙ Türkçe ∙ українська ∙ vèneto ∙ Tiếng Việt ∙ 中文 ∙ 中文(简体) ∙ 中文(繁體) ∙ +/− |
Khoản mục được tả trong tập tin này
mô tả
Poincaré sphere Tiếng Anh
Giá trị nào đó không có khoản mục Wikidata
Commons quality assessment Tiếng Anh
Wikimedia Commons quality image Tiếng Anh
31 8 2014
image/svg+xml
Lịch sử tập tin
Nhấn vào ngày/giờ để xem nội dung tập tin tại thời điểm đó.
Ngày/giờ | Hình xem trước | Kích cỡ | Thành viên | Miêu tả | |
---|---|---|---|---|---|
hiện tại | 17:49, ngày 31 tháng 8 năm 2014 | 600×600 (4 kB) | Geek3 | fixing labels | |
17:31, ngày 31 tháng 8 năm 2014 | 600×600 (4 kB) | Geek3 | Poincare Sphere with Stokes vectors |
Trang sử dụng tập tin
- Bậc tự do
- Chiều
- Chiều (không gian vectơ)
- Không gian Euclid
- Không gian afin
- Không gian ba chiều
- Không gian bốn chiều
- Không gian hai chiều
- Không gian không chiều
- Không gian một chiều
- Không gian năm chiều
- Không gian xạ ảnh
- Không gian đa chiều
- Không–thời gian
- Siêu mặt
- Siêu phẳng
- Số chiều Hausdorff
- Đa tạp
- Đa vũ trụ
- Điểm (hình học)
- Bản mẫu:Chủ đề chiều
Đặc tính hình
Tập tin này chứa thông tin bổ sung, có thể được thêm từ máy ảnh kỹ thuật số hoặc máy quét được sử dụng để tạo hoặc số hóa tập tin.
Nếu tập tin đã được sửa đổi so với trạng thái ban đầu, một số chi tiết có thể không phản ánh đầy đủ tập tin đã sửa đổi.
Tên ngắn | poincare-sphere_stokes.svg |
---|---|
Tiêu đề của hình | Drawing of a poincare-sphere with polarisations H, V, D, A, R and L, and a coordinate system of Stokes-Vectors S1, S2 and S3
rights: GNU Free Documentation license, Creative Commons Attribution ShareAlike license |
Chiều ngang | 600 |
Chiều cao | 600 |