پرونده:Bezier curves composition ray-traced in 3D.png
از testwiki
پرش به ناوبری
پرش به جستجو
اندازهٔ این پیشنمایش: ۶۰۰ × ۶۰۰ پیکسل. کیفیتهای دیگر: ۲۴۰ × ۲۴۰ پیکسل | ۴۸۰ × ۴۸۰ پیکسل | ۷۶۸ × ۷۶۸ پیکسل | ۱٬۰۲۴ × ۱٬۰۲۴ پیکسل | ۱٬۹۳۶ × ۱٬۹۳۶ پیکسل.
پروندهٔ اصلی (۱٬۹۳۶ × ۱٬۹۳۶ پیکسل، اندازهٔ پرونده: ۳٫۵۲ مگابایت، نوع MIME پرونده: image/png)
این پرونده از ویکیانبار است و ممکن است توسط پروژههای دیگر هم استفاده شده باشد. توضیحات موجود در صفحهٔ توضیحات پرونده در آنجا، در زیر نشان داده شده است.
خلاصه
| توضیحBezier curves composition ray-traced in 3D.png |
English: Composition is generated in Python. Nodes of bezier curves are following a vector field generated with the open simplex noise algorithm. Scene is ray-traced with PlotOptiX package. |
| تاریخ | |
| منبع | اثر شخصی |
| پدیدآور | Rob su |
| PNG genesis InfoField |
اجازهنامه
من، صاحب حقوق قانونی این اثر، به این وسیله این اثر را تحث اجازهنامهٔ ذیل منتشر میکنم:
این پرونده تحت پروانهٔ Creative Commons Attribution-Share Alike 4.0 International منتشر شده است.
- شما اجازه دارید:
- برای به اشتراک گذاشتن – برای کپی، توزیع و انتقال اثر
- تلفیق کردن – برای انطباق اثر
- تحت شرایط زیر:
- انتساب – شما باید اعتبار مربوطه را به دست آورید، پیوندی به مجوز ارائه دهید و نشان دهید که آیا تغییرات ایجاد شدهاند یا خیر. شما ممکن است این کار را به هر روش منطقی انجام دهید، اما نه به هر شیوهای که پیشنهاد میکند که مجوزدهنده از شما یا استفادهتان حمایت کند.
- انتشار مشابه – اگر این اثر را تلفیق یا تبدیل میکنید، یا بر پایه آن اثری دیگر خلق میکنید، میبایست مشارکتهای خود را تحت مجوز same or compatible license|یکسان یا مشابه با اصل آن توزیع کنید.
Source code (python)
import numpy as np
from matplotlib import cm
# docs, examples: https://plotoptix.rnd.team
from plotoptix import TkOptiX
from plotoptix.materials import m_plastic, m_metallic
from plotoptix.utils import make_color, simplex
b = 8000 # number of curves
n = 80 # nodes per curve
dt = 0.06 # nodes distance
inp = np.zeros((b, 3, 4), dtype=np.float32)
xyz = np.stack((
np.random.normal(loc=0, scale=1.0, size=b),
np.random.normal(loc=0, scale=1.0, size=b),
np.random.normal(loc=0, scale=1.0, size=b))).T
for c in range(b):
mag = np.linalg.norm(xyz[c])
xyz[c] *= np.sqrt(mag) / mag
ofs = 50 * np.random.rand(3)
for c in range(b):
inp[c,:,:3] = xyz[c]
inp[c,:,3] = ofs # sync the 4'th dim of the noise
pos = np.zeros((b, n, 3), dtype=np.float32)
col = np.zeros((b, n, 3), dtype=np.float32)
r = np.zeros((b, n), dtype=np.float32)
rnd = simplex(inp)
rprev = np.copy(rnd)
for t in range(n):
rt = 2.0 * (t+1) / (n+2) - 1
rt = 1 - rt*rt
r[:,t] = 0.07 * rt * rt
for c in range(b):
mag = np.linalg.norm(rnd[c])
r[c,t] *= 0.2 + 0.8 * mag
rnd[c] *= (dt/mag) # normalize and scale the step size
inp[c,:,:3] += rnd[c] # step in the field direction
pos[c,t] = inp[c,0,:3]
fi = (1/(dt*dt)) * np.dot(rnd[c], rprev[c])
cc = cm.get_cmap("bone")(np.power(2*fi-1,19))[:3]
col[c,t] = make_color(cc)
rprev = np.copy(rnd)
rnd = simplex(inp, rnd) # noise at the next pos
rt = TkOptiX(start_now=False)
rt.set_param(
min_accumulation_step=4,
max_accumulation_frames=500,
rt_timeout=100000,
light_shading="Soft"
)
rt.set_uint("path_seg_range", 4, 10)
exposure = 1.2; gamma = 2.2
rt.set_float("tonemap_exposure", exposure)
rt.set_float("tonemap_gamma", gamma)
rt.set_float("denoiser_blend", 0.25)
rt.add_postproc("Denoiser")
m_metallic["VarFloat"]["base_roughness"] = 0.004
rt.setup_material("metal", m_metallic)
rt.setup_material("plastic", m_plastic)
rt.setup_camera("dof_cam", eye=[0, 0, 12], target=[0, 0, 0], fov=40, focal_scale=0.86, cam_type="DoF")
rt.setup_light("l1", pos=[8, -3, 13], color=1.5*np.array([0.99, 0.97, 0.93]), radius=5)
rt.setup_light("l2", pos=[-17, -7, 5], u=[0, 0, -10], v=[0, 14, 0], color=1*np.array([0.25, 0.28, 0.35]), light_type="Parallelogram")
for c in range(b):
if np.random.uniform() < 0.1:
rt.set_data("c"+str(c), pos=pos[c], r=2.1*r[c], c=col[c], geom="BezierChain", mat="plastic")
else:
rt.set_data("c"+str(c), pos=pos[c], r=0.33*r[c], c=[0.94, 0.93, 0.9], geom="BezierChain", mat="metal")
rt.show()
عنوان
شرحی یکخطی از محتوای این فایل اضافه کنید
Abstract composition generated in Python with Bezier curves following a vector field.
آیتمهایی که در این پرونده نمایش داده شدهاند
توصیفها
این خصوصیت مقداری دارد اما نامشخص است.
source of file انگلیسی
original creation by uploader انگلیسی
۳۰ مهٔ 2020
image/png
checksum انگلیسی
c573a602bd2f8c99d40822f5b6a817e554ae8b99
۳٬۶۹۵٬۷۰۴ بایت
۱٬۹۳۶ پیکسل
۱٬۹۳۶ پیکسل
تاریخچهٔ پرونده
روی تاریخ/زمانها کلیک کنید تا نسخهٔ مربوط به آن هنگام را ببینید.
| تاریخ/زمان | بندانگشتی | ابعاد | کاربر | توضیح | |
|---|---|---|---|---|---|
| کنونی | ۳۰ مهٔ ۲۰۲۰، ساعت ۲۰:۳۴ | ۱٬۹۳۶ در ۱٬۹۳۶ (۳٫۵۲ مگابایت) | wikimediacommons>Rob su | Uploaded own work with UploadWizard |
کاربرد پرونده
صفحهٔ زیر از این تصویر استفاده میکند: