feat(abut): 저판 평면을 skew 평행사변형으로 변경
- 저판 양 끝을 날개벽 바깥 선(s = sEnd + (ws/wt)·t)을 따라 잘라, 평면이 직사각형이 아니라 skew 평행사변형이 되도록 함 - 날개벽 하면이 저판 가장자리와 맞닿음 - 테스트: 저판 뒷면 모서리가 날개벽 바깥 선 위에 있음. 전체 641건 통과, 타입 검사·빌드 통과. 브라우저 시각 확인은 미실시 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d3440e9158
commit
a756fd11ce
2 files changed
+26
-4
No files matched your search
@@ -199,11 +199,14 @@ export function buildAbutGroup(
|
||||
|
||||
if (footingBottom !== undefined) {
|
||||
// 저판: s 0 … L, t −1.8 … +2.8, from the 기초 하단 to the 저판 상면.
|
||||
// Skew (2026-11-03): the 저판 ends follow the wing outer lines (s = sEnd + (ws/wt)·t), so the plan is a parallelogram.
|
||||
const skewAxis = wingDirectionAxis(model);
|
||||
const skewK = skewAxis.ws / skewAxis.wt;
|
||||
const footProfile: [number, number][] = [
|
||||
[0, members.shape.footingBackM],
|
||||
[L, members.shape.footingBackM],
|
||||
[L, members.shape.footingFrontM],
|
||||
[0, members.shape.footingFrontM],
|
||||
[skewK * members.shape.footingBackM, members.shape.footingBackM],
|
||||
[L + skewK * members.shape.footingBackM, members.shape.footingBackM],
|
||||
[L + skewK * members.shape.footingFrontM, members.shape.footingFrontM],
|
||||
[skewK * members.shape.footingFrontM, members.shape.footingFrontM],
|
||||
];
|
||||
add('footing', prism(footProfile, members.shape.footingThicknessM, new THREE.Vector3(0, footingBottom, 0), ex, ez, ey), 0x5a6a78);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user