Mô tả một khớp nối cho joint3d_create(). Tiếp...
#include <njin_physics3d.h>
Các thuộc tính Public | |
| joint3d_kind | kind = joint3d_hinge |
| Loại khớp. | |
| body3d_handle | a {} |
| Body thứ nhất. | |
| body3d_handle | b {} |
| Body thứ hai. Không hợp lệ là nối a vào một điểm cố định của thế giới. | |
| vec3 | anchor {0.0f, 0.0f, 0.0f} |
| Điểm nối. | |
| vec3 | anchor_b {0.0f, 0.0f, 0.0f} |
| Điểm nối ở phía b, chỉ cho njin::joint3d_distance. | |
| vec3 | axis {0.0f, 1.0f, 0.0f} |
| Trục xoay (bản lề) hoặc trục trượt (khớp trượt). | |
| f32 | min = 0.0f |
| Giới hạn: góc, độ (bản lề); quãng trượt, đơn vị thế giới, 0 là vị trí lúc tạo (khớp trượt); khoảng cách (njin::joint3d_distance, cả hai bằng 0 là giữ khoảng cách lúc tạo). | |
| f32 | max = 0.0f |
| Xem min. | |
| f32 | motor_force = 0.0f |
| Mô-tơ của bản lề và khớp trượt: lực tối đa (bản lề: mô-men, N·m) để giữ tốc độ đặt bằng joint3d_set_motor(). | |
| f32 | spring = 0.0f |
| Lò xo của bản lề, khớp trượt và njin::joint3d_distance: tần số dao động, Hz (độ cứng không phụ thuộc khối lượng: 1..5 mềm, 10..20 cứng). | |
| f32 | damping = 0.0f |
| Giảm chấn của lò xo, 0 (nảy mãi) .. 1 (về chỗ không nảy). | |
| joint3d_handle | joint_a {} |
| Bản lề thứ nhất của njin::joint3d_gear và njin::joint3d_rack (body a của nó là bánh răng). | |
| joint3d_handle | joint_b {} |
| Bản lề thứ hai (njin::joint3d_gear) hoặc khớp trượt của thanh răng (njin::joint3d_rack); body a của nó là bánh hay thanh. | |
| f32 | ratio = 1.0f |
| Tỉ số. | |
| vec3 | pulley_a {0.0f, 0.0f, 0.0f} |
| Điểm cố định dây bên a vắt qua (njin::joint3d_pulley). | |
| vec3 | pulley_b {0.0f, 0.0f, 0.0f} |
| Điểm cố định dây bên b vắt qua (njin::joint3d_pulley). | |
Mô tả một khớp nối cho joint3d_create().
Các điểm và trục tính trong tọa độ thế giới, lúc tạo khớp.
| f32 njin::joint3d_desc::min = 0.0f |
Giới hạn: góc, độ (bản lề); quãng trượt, đơn vị thế giới, 0 là vị trí lúc tạo (khớp trượt); khoảng cách (njin::joint3d_distance, cả hai bằng 0 là giữ khoảng cách lúc tạo).
Bản lề và khớp trượt cần min <= 0 <= max (góc của bản lề trong -180..180): giá trị ngoài khoảng bị kẹp lại. min >= max là không giới hạn, trừ njin::joint3d_distance. njin::joint3d_pulley: tổng chiều dài dây, bên a cộng ratio lần bên b (cả hai bằng 0 là từ 0 tới chiều dài lúc tạo: dây chùng được nhưng không giãn).
| f32 njin::joint3d_desc::motor_force = 0.0f |
Mô-tơ của bản lề và khớp trượt: lực tối đa (bản lề: mô-men, N·m) để giữ tốc độ đặt bằng joint3d_set_motor().
0 là không có mô-tơ.
| f32 njin::joint3d_desc::spring = 0.0f |
Lò xo của bản lề, khớp trượt và njin::joint3d_distance: tần số dao động, Hz (độ cứng không phụ thuộc khối lượng: 1..5 mềm, 10..20 cứng).
Giới hạn [min, max] thành lò xo: ra ngoài thì bị kéo về. Không có giới hạn thì lò xo giữ khớp ở vị trí lúc tạo (góc, quãng trượt, khoảng cách). 0 là giới hạn cứng.
| joint3d_handle njin::joint3d_desc::joint_a {} |
Bản lề thứ nhất của njin::joint3d_gear và njin::joint3d_rack (body a của nó là bánh răng).
| f32 njin::joint3d_desc::ratio = 1.0f |
Tỉ số.
njin::joint3d_gear: số vòng bánh joint_a quay khi bánh joint_b quay một vòng (số răng của b / số răng của a); dương là ngược chiều (bánh răng ăn khớp), âm là cùng chiều (xích, dây curoa), khi hai trục cùng hướng. njin::joint3d_rack: quãng thanh trượt mỗi vòng bánh, đơn vị (2π × bán kính bánh); âm là trượt theo chiều ngược lại. njin::joint3d_pulley: bên b tính gấp ratio lần (palăng: 2 là kéo nhẹ một nửa, đi dài gấp đôi).