Trang chủ
>
camera-hanh-dong-phu-kien >
camera-hanh-dong-phu-kien INSTA360
GẬY INSTA 360 X3
MỚI 100%
Đơn giá:
690,000đ
Giảm: 0đ
690,000đ
Hotline đặt hàng:
0937148222
(08:00-20:00)
KHUYẾN MÃI ÁP DỤNG TỪ
đến
Thông số nổi bật
Khả năng tương thích: X3,ONE RS,GO 2,ONE X2,ONE R,ONE X Tự động xóa trong ảnh 360 độ để mang đến cho bạn những bức ảnh góc nhìn thứ ba đáng kinh ngạc và những góc không thể tin được. Thiết kế siêu nhẹ giúp bạn dễ dàng mang theo trong thời gian dài. Vật liệu có độ bền cao cho phép sử dụng ổn định với máy ảnh Insta360. Cấu trúc nối dài mới, siêu bền. - Màu: đen - Trọng lượng 118g - Chiều dài: 233mm x 1141mm - Chất liệu : Nhôm
Tổng quan
Sản Phẩm khác
Sản Phẩm cũ
Tính Năng
Sản phẩm bao gồm
Thông số
Pin DJI Osmo Action 3 Extreme Battery
Đơn giá
740,000đ
Insta360 X4 Fast Charge Hub
Đơn giá
1,390,000đ
Insta360 X4 Mic Adapter
Đơn giá
560,000đ
Insta360 X4 Battery
Đơn giá
1,260,000đ
Motorcycle Kit (New Version)
Đơn giá
1,340,000đ
2-in-1 Invisible Selfie Stick + Tripod
Đơn giá
690,000đ
Rear View Mirror Mount
Đơn giá
980,000đ
GPS Preview Remote
Đơn giá
4,110,000đ
Insta360 Ace/Ace Pro Vertical-Horizontal Mount
Đơn giá
560,000đ
Insta360 Ace/Ace Pro Battery
Đơn giá
980,000đ
Insta360 Ace/Ace Pro Cold Shoe
Đơn giá
560,000đ
Insta360 Ace/Ace Pro Standard Mount
Đơn giá
420,000đ
Insta360 Ace/Ace Pro Fast Charge Hub
Đơn giá
1,400,000đ
Insta360 Ace/Ace Pro Mic Adapter
Đơn giá
560,000đ
Insta360 Ace/Ace Pro Quick Reader
Đơn giá
1,950,000đ
Khả năng tương thích: X3,ONE RS,GO 2,ONE X2,ONE R,ONE X Tự động xóa trong ảnh 360 độ để mang đến cho bạn những bức ảnh góc nhìn thứ ba đáng kinh ngạc và những góc không thể tin được. Thiết kế siêu nhẹ giúp bạn dễ dàng mang theo trong thời gian dài. Vật liệu có độ bền cao cho phép sử dụng ổn định với máy ảnh Insta360. Cấu trúc nối dài mới, siêu bền. - Màu: đen - Trọng lượng 118g - Chiều dài: 233mm x 1141mm - Chất liệu : Nhôm
Tags
×
1 / 5
(function () {
const requestAnimFrame = (function () {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function (callback) {
window.setTimeout(callback, 1000 / 60);
};
})();
const hieuUngPhaoHoa = {
canvas: document.getElementById('hieuUngPhaoHoa__canvas'),
ctx: null,
cw: window.innerWidth,
ch: window.innerHeight,
fireworks: [],
particles: [],
colors: [0, 60, 300], // Mảng các màu
hue: 0,
timerTotal: 30, // Giảm thời gian giữa các lần bắn
timerTick: 0,
isActive: true, // Biến để kiểm soát trạng thái hoạt động
init: function () {
this.ctx = this.canvas.getContext('2d');
this.canvas.width = this.cw;
this.canvas.height = this.ch;
this.loop();
// Tự động dừng sau 5 giây
setTimeout(() => {
this.isActive = false;
}, 5000);
},
calculateDistance: function (p1x, p1y, p2x, p2y) {
const xDistance = p1x - p2x;
const yDistance = p1y - p2y;
return Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));
},
random: function (min, max) {
return Math.random() * (max - min) + min;
},
createParticles: function (x, y) {
let particleCount = 30;
// Chọn màu ngẫu nhiên từ mảng
this.hue = this.colors[Math.floor(Math.random() * this.colors.length)];
while (particleCount--) {
this.particles.push(new Particle(x, y, this));
}
},
// Main loop
loop: function () {
if (!this.isActive && this.fireworks.length === 0 && this.particles.length === 0) {
return; // Dừng animation khi hết pháo hoa
}
requestAnimFrame(this.loop.bind(this));
this.hue += 0.5;
this.ctx.globalCompositeOperation = 'destination-out';
this.ctx.fillStyle = 'rgba(0, 0, 0, 0.5)';
this.ctx.fillRect(0, 0, this.cw, this.ch);
this.ctx.globalCompositeOperation = 'lighter';
let i = this.fireworks.length;
while (i--) {
this.fireworks[i].draw();
this.fireworks[i].update(i);
}
i = this.particles.length;
while (i--) {
this.particles[i].draw();
this.particles[i].update(i);
}
// Tự động bắn pháo hoa nếu đang hoạt động
if (this.isActive && this.timerTick >= this.timerTotal) {
this.fireworks.push(new Firework(
this.cw / 2, this.ch,
this.random(0, this.cw),
this.random(0, this.ch / 2),
this
));
this.timerTick = 0;
} else {
this.timerTick++;
}
}
};
// Firework class
class Firework {
constructor(sx, sy, tx, ty, main) {
this.main = main;
this.x = sx;
this.y = sy;
this.sx = sx;
this.sy = sy;
this.tx = tx;
this.ty = ty;
this.distanceToTarget = main.calculateDistance(sx, sy, tx, ty);
this.distanceTraveled = 0;
this.coordinates = [];
this.coordinateCount = 3;
while (this.coordinateCount--) {
this.coordinates.push([this.x, this.y]);
}
this.angle = Math.atan2(ty - sy, tx - sx);
this.speed = 2;
this.acceleration = 1.05;
this.brightness = main.random(50, 70);
this.targetRadius = 1;
}
update(index) {
this.coordinates.pop();
this.coordinates.unshift([this.x, this.y]);
if (this.targetRadius < 8) {
this.targetRadius += 0.3;
} else {
this.targetRadius = 1;
}
this.speed *= this.acceleration;
const vx = Math.cos(this.angle) * this.speed;
const vy = Math.sin(this.angle) * this.speed;
this.distanceTraveled = this.main.calculateDistance(
this.sx, this.sy, this.x + vx, this.y + vy
);
if (this.distanceTraveled >= this.distanceToTarget) {
this.main.createParticles(this.tx, this.ty);
this.main.fireworks.splice(index, 1);
} else {
this.x += vx;
this.y += vy;
}
}
draw() {
this.main.ctx.beginPath();
this.main.ctx.moveTo(
this.coordinates[this.coordinates.length - 1][0],
this.coordinates[this.coordinates.length - 1][1]
);
this.main.ctx.lineTo(this.x, this.y);
this.main.ctx.strokeStyle = `hsl(${this.main.hue}, 100%, ${this.brightness}%)`;
this.main.ctx.stroke();
}
}
// Particle class
class Particle {
constructor(x, y, main) {
this.main = main;
this.x = x;
this.y = y;
this.coordinates = [];
this.coordinateCount = 5;
while (this.coordinateCount--) {
this.coordinates.push([this.x, this.y]);
}
this.angle = main.random(0, Math.PI * 2);
this.speed = main.random(1, 10);
this.friction = 0.95;
this.gravity = 1;
this.hue = main.random(main.hue - 20, main.hue + 20);
this.brightness = main.random(50, 80);
this.alpha = 1;
this.decay = main.random(0.015, 0.03);
}
update(index) {
this.coordinates.pop();
this.coordinates.unshift([this.x, this.y]);
this.speed *= this.friction;
this.x += Math.cos(this.angle) * this.speed;
this.y += Math.sin(this.angle) * this.speed + this.gravity;
this.alpha -= this.decay;
if (this.alpha <= this.decay) {
this.main.particles.splice(index, 1);
}
}
draw() {
this.main.ctx.beginPath();
this.main.ctx.moveTo(
this.coordinates[this.coordinates.length - 1][0],
this.coordinates[this.coordinates.length - 1][1]
);
this.main.ctx.lineTo(this.x, this.y);
this.main.ctx.strokeStyle = `hsla(${this.hue}, 100%, ${this.brightness}%, ${this.alpha})`;
this.main.ctx.stroke();
}
}
// Khởi chạy khi trang load xong
//window.addEventListener('load', () => hieuUngPhaoHoa.init());
})();